/* Small, purposeful movements. All motion stays on transform and opacity. */
.header-sentinel{position:absolute;inset:0 auto auto 0;width:1px;height:48px;pointer-events:none}
.site-header{position:sticky;top:16px}
.site-header.is-scrolled{box-shadow:0 8px 32px #233c2910;background:#fffffff0}
.desktop-nav a{position:relative}
.desktop-nav a::after{content:"";position:absolute;inset:auto 0 -8px;height:2px;background:#83a995;border-radius:9999px;transform:scaleX(0);transform-origin:left;transition:transform 500ms var(--curve)}
.desktop-nav a[aria-current]::after,.desktop-nav a:hover::after{transform:scaleX(1)}
.button .icon{transition:transform 500ms var(--curve)}
.button:hover .icon{transform:translate(2px,-2px)}
.button-light:hover .icon,#brief-next:hover .icon{transform:translateX(4px)}
.benefit .feature-icon,.fit-list .feature-icon{transition:transform 500ms var(--curve)}
.process-art .mini-window,.process-art .art-chip,.process-art .match-row,.process-art .delivery-window{transition:transform 700ms var(--curve)}
.process-step{--reveal-delay:0ms}.process-step:nth-child(2){--reveal-delay:100ms}.process-step:nth-child(3){--reveal-delay:200ms}
.process-grid.reveal{opacity:1;transform:none;transition:none}
.process-grid.reveal .process-step{opacity:0;transform:translateY(24px);transition:opacity 700ms var(--curve),transform 700ms var(--curve);transition-delay:var(--reveal-delay)}
.process-grid.reveal.is-visible .process-step{opacity:1;transform:none}
.faq-list details[open] p{animation:answer-in 400ms var(--curve) both}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.brief-dialog{max-width:592px;padding:40px;overscroll-behavior:contain}
.brief-progress{display:flex;list-style:none;gap:8px;padding:0;margin:0 24px 32px 0;color:#8b9890}
.brief-progress li{position:relative;flex:1;min-width:0}
.brief-progress li:not(:last-child)::after{content:"";position:absolute;left:calc(100% - 24px);right:4px;top:12px;height:1px;background:#e2eae5}
.brief-progress button{display:flex;align-items:center;gap:8px;border:0;padding:0;background:none;font:inherit;color:inherit;text-align:left;white-space:nowrap}
.brief-progress button:disabled{opacity:1;color:#abb4ae;cursor:default}
.brief-progress button[aria-current]{color:#314e3d}
.progress-dot{position:relative;display:grid;place-items:center;width:24px;height:24px;flex-shrink:0;background:#f5f8f6;border:1px solid #e5ece7;border-radius:50%;font-size:12px;line-height:16px}
.brief-progress [aria-current] .progress-dot{background:#eaf4ed;border-color:#b9d3c2;color:#3f7251}
.brief-progress .is-complete .progress-dot{font-size:0;background:#f0f6f2;color:#4a7858}
.brief-progress .is-complete .progress-dot::after{content:"";position:absolute;left:7px;top:8px;display:block;width:8px;height:4px;border:solid currentColor;border-width:0 0 1px 1px;transform:rotate(-45deg)}
.brief-dialog-heading .section-label{margin-bottom:12px}
.brief-dialog-heading #brief-title:focus{outline:none}
.brief-dialog form{margin-top:24px;gap:24px}
.brief-step{border:0;margin:0;padding:0;min-width:0;display:grid;gap:16px}
.brief-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px}
.brief-form-actions #brief-back{margin-right:auto;color:#7b8a81}
.brief-dialog input,.brief-dialog textarea{min-height:44px}
.brief-dialog input:focus,.brief-dialog textarea:focus{outline:2px solid #91b39c;outline-offset:2px;background:white}
.mission-prompts{display:grid;gap:8px;margin-top:-4px;color:#89968e}
.mission-prompts>div{display:flex;flex-wrap:wrap;gap:8px}
.mission-prompt{border:1px solid #e4ece6;border-radius:9999px;padding:4px 8px;background:#fff;color:#718277;transition:background-color 300ms var(--curve),transform 500ms var(--curve)}
.mission-prompt:hover,.mission-prompt[aria-pressed=true]{background:#edf6ef;color:#3f6b4d;border-color:#c5d9cb}
.form-note{margin-top:24px;padding-top:16px;border-top:1px solid #edf2ee;display:flex;align-items:flex-start;gap:8px;color:#87968c}
.privacy-dot{width:6px;height:6px;border-radius:50%;background:#9ab7a3;flex-shrink:0;margin-top:4px}
.brief-review{padding:16px;background:#f8fbf9;border:1px solid #e5ede7;border-radius:12px;margin:24px 0}
.review-banner{display:flex;align-items:center;gap:12px}
.review-banner .feature-icon{margin:0;flex-shrink:0}
.review-banner h3{font-weight:600}
.review-banner .caption-5{color:#8b9990}
.review-contact{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0 0}
.review-contact dt{color:#8a988f;margin-bottom:4px}
.review-contact dd{margin:0;color:#556d5e;overflow-wrap:anywhere;white-space:pre-line}
.review-block{margin-top:24px}
.review-block h3{color:#6b8273}
.review-block p{color:#6f8277;margin-top:8px;white-space:pre-wrap;overflow-wrap:anywhere}
.brief-ready-actions{gap:8px}
.brief-ready-actions .button{flex:1}
#copy-brief.is-copied{background:#37674b;border-color:#37674b}
#copy-status{color:#718777;margin:12px 0;min-height:16px}
#edit-brief{color:#809287}
@keyframes soft-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes visual-enter{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes note-enter{from{opacity:0}to{opacity:1}}
@keyframes dialog-enter{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes answer-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){
 .hero-content>.eyebrow{animation:soft-enter 700ms var(--curve) 40ms both}
 .hero-content>h1{animation:soft-enter 700ms var(--curve) 100ms both}
 .hero-subtitle{animation:soft-enter 700ms var(--curve) 180ms both}
 .hero-actions{animation:soft-enter 700ms var(--curve) 260ms both}
 .hero-visual{animation:visual-enter 900ms var(--curve) 340ms both}
 .discovery-note{animation:float 7s var(--curve) infinite alternate,note-enter 600ms var(--curve) 600ms both}
 .shipping-note{animation:float 7s var(--curve) -3s infinite alternate,note-enter 600ms var(--curve) 900ms both}
 .orbit-icon{animation:float 8s var(--curve) infinite alternate}
 .orbit-icon:nth-of-type(2n){animation-delay:-4s}
 .brief-dialog[open],.legal-dialog[open]{animation:dialog-enter 450ms var(--curve) both}
}
@media(hover:hover) and (pointer:fine){
 .benefit:hover .feature-icon,.fit-list article:hover .feature-icon{transform:translateY(-4px) rotate(-5deg)}
 .process-step:hover .mini-window{transform:translateY(-4px) rotate(-2deg)}
 .process-step:hover .art-chip{transform:translateY(-8px) rotate(0)}
 .process-step:hover .row-front{transform:translate(8px,4px) rotate(0)}
 .process-step:hover .row-back{transform:translate(-8px,-32px) rotate(-6deg)}
 .process-step:hover .delivery-window{transform:translateY(-4px) rotate(0)}
}
@media(max-width:680px){
 .site-header{top:8px}
 .brief-dialog{padding:40px 24px 24px}
 .brief-progress{margin:0 16px 24px 0;gap:12px}
 .brief-progress button{flex-direction:column;align-items:flex-start;gap:4px}
 .brief-progress li:not(:last-child)::after{left:32px;right:0}
 .brief-dialog-heading .heading-4{font-size:24px;line-height:32px}
 .brief-form-actions{flex-wrap:wrap;gap:16px}
 .brief-form-actions #brief-next{margin-left:auto}
 .brief-form-actions #brief-back{font-size:12px;line-height:16px}
 .brief-form-actions #brief-next{font-size:12px;line-height:16px;padding:12px}
 .review-contact{grid-template-columns:1fr;gap:16px}
 .brief-ready-actions .button{font-size:12px;line-height:16px;gap:8px;padding:12px}
 .brief-progress .progress-dot{width:24px;height:24px}
 .process-step{--reveal-delay:0ms!important}
}
@media(prefers-reduced-motion:reduce){
 .hero-content>*{animation:none!important}
 .process-grid.reveal .process-step{opacity:1;transform:none}
 .button:hover .icon,.benefit:hover .feature-icon,.fit-list article:hover .feature-icon{transform:none}
 .process-step:hover .mini-window{transform:rotate(-5deg)}
 .process-step:hover .art-chip{transform:rotate(6deg)}
 .process-step:hover .row-front{transform:translate(8px,8px) rotate(2deg)}
 .process-step:hover .row-back{transform:translate(-8px,-24px) rotate(-4deg)}
 .process-step:hover .delivery-window{transform:rotate(-3deg)}
}
