[data-sea-brief]{--ink:var(--sea-ink);--gold:var(--sea-gold);--serif:var(--sea-serif);--sans:var(--sea-sans);--white:var(--sea-white);--deep:var(--sea-deep)}
[data-sea-brief] .eyebrow { margin: 0 0 22px; font-size: 10px; line-height: 1.3; letter-spacing: .19em; text-transform: uppercase; font-weight: 600; }
[data-sea-brief] .button { display: inline-flex; align-items: center; justify-content: center; gap: 28px; border: 1px solid transparent; border-radius: 99px; padding: 17px 24px; font: 600 11px/1 var(--sans); text-transform: uppercase; letter-spacing: .08em; cursor: pointer; transition: transform .25s ease, background .25s ease, color .25s ease; }
[data-sea-brief] .button-dark { background: var(--deep); color: var(--white); }
[data-sea-brief] .button-dark:hover { background: #174138; }
.project-brief { position: relative; overflow: hidden; min-height: 690px; padding: clamp(28px,4vw,58px); border: 1px solid rgba(16,39,36,.13); border-radius: 18px; background: linear-gradient(rgba(250,248,242,.9),rgba(250,248,242,.94)),url('../images/singular-watercolour.webp') center bottom/cover no-repeat; box-shadow: 0 24px 70px rgba(16,39,36,.08); }
.brief-progress { position: relative; display: flex; justify-content: flex-end; margin-bottom: 52px; padding-bottom: 12px; border-bottom: 1px solid rgba(16,39,36,.14); color: rgba(16,39,36,.56); font-size: 10px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.brief-progress i { position: absolute; left: 0; bottom: -1px; height: 2px; background: var(--gold); transition: width .35s ease; }
.brief-step { animation: brief-in .35s ease both; }
.brief-step + .brief-step { margin-top: clamp(58px, 7vw, 90px); padding-top: clamp(50px, 6vw, 78px); border-top: 1px solid rgba(16,39,36,.14); }
.final-step > h3 { margin: 0 0 14px; font: 400 clamp(2rem, 3.6vw, 3.4rem)/1.15 var(--serif); }
.final-step .brief-lead { margin: 0 0 28px; }
@keyframes brief-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
.brief-step h2 { max-width: 760px; margin: 8px 0 36px; font-size: clamp(2.4rem,4.2vw,4.6rem); line-height: .98; }
.brief-lead { max-width: 650px; margin: -16px 0 34px; color: rgba(16,39,36,.7); font: 400 1.15rem/1.55 var(--serif); }
.project-brief fieldset { margin: 0 0 34px; padding: 0; border: 0; }
.project-brief legend,.brief-field>span { display:block; margin-bottom: 13px; color: rgba(16,39,36,.7); font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.project-brief legend b,.brief-field>span b,.brief-consent b,.brief-required span { color:var(--gold); font-weight:700; }
.brief-required { margin:-20px 0 26px; color:rgba(16,39,36,.56); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.project-brief legend small { margin-left: 8px; color: var(--gold); font-size: 9px; }
.brief-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.brief-cards.compact { grid-template-columns:repeat(3,minmax(0,1fr)); }
.brief-cards.visual { grid-template-columns:repeat(3,minmax(0,1fr)); }
.brief-card { position:relative; display:flex; min-height:58px; align-items:center; padding:15px 18px; border:1px solid rgba(16,39,36,.17); border-radius:12px; background:rgba(255,255,255,.58); color:var(--ink); cursor:pointer; transition:.2s ease; }
.brief-card:hover { border-color:rgba(185,138,84,.65); transform:translateY(-1px); }
.brief-card.is-selected { border-color:var(--gold); background:rgba(185,138,84,.13); box-shadow:inset 0 0 0 1px var(--gold); }
.brief-card input { position:absolute; opacity:0; pointer-events:none; }
.brief-card span { font:500 13px/1.35 var(--sans); }
.brief-card.is-selected span::after { content:'✓'; float:right; margin-left:12px; color:var(--gold); }
.brief-fields { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-bottom:34px; }
.brief-fields .full { grid-column:1/-1; }
.brief-field { display:block; margin-bottom:28px; }
.brief-field input,.brief-field textarea { width:100%; padding:12px 2px; border:0; border-bottom:1px solid rgba(16,39,36,.28); border-radius:0; outline:0; background:transparent; color:var(--ink); font:400 15px/1.5 var(--sans); }
.brief-field textarea { padding:15px; border:1px solid rgba(16,39,36,.2); border-radius:10px; background:rgba(255,255,255,.5); resize:vertical; }
.brief-field input:focus,.brief-field textarea:focus { border-color:var(--gold); box-shadow:0 1px 0 var(--gold); }
.activity-field { padding:24px!important; border:1px solid rgba(16,39,36,.14)!important; border-radius:14px!important; background:rgba(255,255,255,.45); }
.activity-field input[type=range] { width:100%; accent-color:var(--gold); }
.range-value { width:44px; height:44px; display:grid; place-items:center; margin:0 auto 8px; border-radius:50%; background:var(--ink); color:white; font:600 16px var(--sans); }
.range-labels { display:flex; justify-content:space-between; margin-top:8px; color:rgba(16,39,36,.58); font-size:10px; text-transform:uppercase; letter-spacing:.07em; }
.brief-closing { margin-top:32px; padding:28px; border-left:3px solid var(--gold); background:rgba(255,255,255,.52); }
.brief-closing h3 { margin:0 0 8px; font:italic 2rem/1.15 var(--serif); color:var(--gold); }
.brief-closing p,.brief-submit p { color:rgba(16,39,36,.67); font-size:12px; line-height:1.65; }
.brief-submit { margin-top:28px; padding-top:22px; border-top:1px solid rgba(16,39,36,.15); }
.brief-consent { display:flex; align-items:flex-start; gap:10px; margin:14px 0; color:var(--ink); font-size:12px; }
.brief-consent input { margin-top:2px; accent-color:var(--gold); }
.brief-consent a { text-decoration:underline; text-underline-offset:3px; }
.brief-actions { display:flex; justify-content:flex-end; align-items:center; gap:18px; margin-top:30px; }
.brief-back { border:0; background:transparent; color:rgba(16,39,36,.65); font:600 10px var(--sans); letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.brief-error { margin:18px 0 0; color:#8b3d2f; font-size:12px; }
@media (max-width:760px) { .project-brief{min-height:0;padding:25px 18px}.brief-progress{margin-bottom:34px}.brief-step h2{margin-bottom:28px}.brief-fields,.brief-cards,.brief-cards.compact,.brief-cards.visual{grid-template-columns:1fr}.brief-card{min-height:52px}.brief-actions{justify-content:space-between}.brief-actions .button{padding:14px 18px}.range-labels{font-size:8px} }
.brief-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.project-brief button:disabled{opacity:.65;cursor:wait}
.brief-success h2{font:400 clamp(2rem,4vw,3.5rem)/1.15 var(--serif)}
