/* SEFIA v2 — motion and contact, preserving the approved world. */
:root{--ease-sefia:cubic-bezier(.16,1,.3,1);--ease-state:cubic-bezier(.22,.68,0,1.01)}
html{scrollbar-color:var(--petrol) var(--paper)}body{caret-color:var(--petrol)}input{accent-color:var(--petrol)}
.hero h1,.section-heading{letter-spacing:-.04em;text-wrap:balance}.hero h1{font-size:clamp(3.15rem,6.5vw,6rem)}.hero-line{display:block}.hero h1 em{display:block}.hero-inner{padding-top:76px}.hero-signature{margin-top:clamp(40px,7vh,82px)}
.reading-progress{position:absolute;inset:auto 0 0;height:2px;overflow:hidden;pointer-events:none}.reading-progress span{display:block;width:100%;height:100%;background:var(--aqua);transform:scaleX(0);transform-origin:left center}
.main-nav a[aria-current=location]{color:var(--white)}.main-nav a[aria-current=location]:after{transform:scaleX(1);transform-origin:left}
.header-cta,.button-primary{gap:12px}.cta-arrow{flex:none;width:17px;height:17px;transition:transform 180ms var(--ease-sefia)}
.header-cta,.button-primary,.button-secondary,.button-reset,.button-quote,.contact-submit,.contact-reset,.menu-toggle{transition:transform 150ms var(--ease-sefia),background-color 180ms ease,border-color 180ms ease,box-shadow 180ms ease}
.header-cta:active,.button-primary:active,.button-secondary:active,.button-reset:active,.button-quote:active:not(:disabled),.contact-submit:active,.contact-reset:active,.menu-toggle:active{transform:translateY(1px) scale(.975)}
button:disabled{transform:none!important}.mobile-menu{transform-origin:top center}.mobile-menu a{border-radius:8px}.signal-tab{transition:background-color 180ms ease,border-color 180ms ease,transform 150ms var(--ease-sefia)}.signal-tab:active{transform:scale(.985)}.signal-bulb{transform-box:fill-box;transform-origin:center}
.portrait-frame{overflow:hidden}.portrait-frame img{transition:transform 650ms var(--ease-sefia)}
.process-sequence{position:relative}.process-route{position:absolute;top:-2px;right:0;left:0;height:3px;overflow:hidden;pointer-events:none}.process-route span{display:block;width:100%;height:100%;background:var(--aqua);transform:scaleX(0);transform-origin:left center;transition:transform 650ms var(--ease-sefia)}
.process-step{transition:background-color 220ms ease}.process-step[data-selected=true]{background:linear-gradient(180deg,#E8F1F1 0%,transparent 92%)}.process-trigger{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;width:100%;padding:0;color:inherit;background:none;border:0;text-align:left;font:inherit;letter-spacing:inherit;line-height:inherit}.process-trigger svg{width:20px;height:20px;flex:none;margin-top:5px;color:var(--petrol);transform:rotate(-45deg);transition:transform 200ms var(--ease-sefia)}.process-trigger[aria-pressed=true] svg{transform:rotate(0)}.process-trigger:focus-visible{outline-offset:8px}.process-step p{margin-bottom:22px}.process-invitation{margin:30px 0 0;color:var(--petrol);font-size:.82rem}.process-detail{display:flex;align-items:flex-start;gap:22px;max-width:900px;min-height:100px;margin-top:20px;padding-top:24px;border-top:1px solid var(--line)}.process-detail-index{flex:none;min-width:30px;color:var(--petrol);font-size:.85rem;font-weight:800;font-variant-numeric:tabular-nums}.process-detail p{max-width:680px;margin:0;color:#405257;font-size:1rem;line-height:1.65}
.quote-flow-step{transition:background-color 200ms ease,border-color 200ms ease}.quote-flow-step[data-current=true]{background:var(--mist);border-color:var(--petrol)}.quote-flow-step[data-complete=true]{border-color:var(--petrol)}.quote-progress{height:3px;margin-top:12px;overflow:hidden;background:var(--mist);border-radius:2px}.quote-progress span{display:block;width:100%;height:100%;background:var(--petrol);transform:scaleX(0);transform-origin:left;transition:transform 500ms var(--ease-sefia)}.button-quote.is-loading:before{display:inline-block;width:14px;height:14px;margin-right:10px;content:"";vertical-align:-2px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:sefia-spin .7s linear infinite}.button-quote.is-loading:disabled{color:var(--petrol);background:var(--mist);border-color:var(--mist)}.quote-inline-reset{display:inline-flex;align-items:center;min-height:44px;margin:8px 0 0;padding:0;color:var(--petrol);background:none;border:0;text-decoration:underline;text-underline-offset:4px;font-size:.8rem;font-weight:700}.quote-inline-reset[hidden]{display:none}.result-count-number{font-variant-numeric:tabular-nums}.result-count-label{max-width:130px}.quote-contact-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-top:18px;color:var(--petrol);font-size:.86rem;font-weight:700;text-decoration:underline;text-underline-offset:4px}.quote-contact-link svg{width:16px;height:16px;flex:none;transition:transform 160ms var(--ease-sefia)}
.faq-item summary:after{transition:transform 180ms var(--ease-sefia),background-color 180ms ease}.faq-item[open] summary:after{background:var(--mist)}.faq-item summary{transition:color 160ms ease}.faq-item summary:focus-visible{outline-offset:-3px}
.contact-section{background:var(--white);border-top:1px solid var(--line)}.contact-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(48px,9vw,130px);align-items:start}.contact-intro .section-heading{max-width:520px;color:var(--petrol)}.contact-intro>p{max-width:430px;margin:28px 0 0;font-size:1.05rem;line-height:1.7}.contact-demo-note{display:flex;align-items:flex-start;gap:12px;max-width:430px;margin-top:36px;padding-top:22px;border-top:1px solid var(--line);color:var(--petrol);font-size:.82rem;line-height:1.6}.contact-demo-note svg{width:18px;height:18px;flex:none;margin-top:3px}.contact-demo-note strong{display:block;margin-bottom:3px;font-size:.82rem}.contact-form{min-width:0}.contact-fields{display:grid;gap:25px}.contact-field{display:grid;gap:8px;min-width:0}.contact-field label{color:var(--petrol);font-size:.85rem;font-weight:700}.contact-field label span{margin-left:7px;color:#506468;font-size:.76rem;font-weight:400}.contact-input{display:block;width:100%;min-height:54px;padding:12px 14px;color:var(--ink);background:var(--paper);border:1px solid #7A969B;border-radius:8px;outline-offset:3px;transition:border-color 160ms ease,background-color 160ms ease,box-shadow 160ms ease}.contact-input::placeholder{color:#52696D;opacity:1}.contact-input:focus{background:var(--white);border-color:var(--petrol)}.contact-field:focus-within>label{color:var(--deep)}.contact-input[aria-invalid=true]{border-color:#A12E29;background:#FFF7F5}.field-error{display:block;margin:0;color:#9C2924;font-size:.8rem;line-height:1.45}.field-error:empty{display:none}.contact-sales-option{display:flex;align-items:flex-start;gap:13px;margin-top:28px;padding:23px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.contact-sales-option input{flex:none;width:21px;height:21px;margin:2px 0 0;cursor:pointer;accent-color:var(--petrol)}.contact-sales-option label{cursor:pointer;color:var(--petrol);font-size:.96rem;font-weight:700;line-height:1.4}.contact-sales-option label small{display:block;margin-top:6px;color:#405A5F;font-size:.8rem;font-weight:400}.contact-preference{min-width:0;margin:23px 0 0;padding:0;border:0}.contact-preference[hidden],.contact-phone[hidden]{display:none}.contact-preference legend{margin-bottom:13px;color:var(--petrol);font-size:.85rem;font-weight:700}.contact-methods{display:flex;flex-wrap:wrap;gap:12px}.contact-method{position:relative;display:flex;align-items:center;gap:9px;min-height:44px;padding:10px 14px;color:var(--petrol);border:1px solid #7A969B;border-radius:8px;cursor:pointer;font-size:.87rem;transition:background-color 160ms ease,border-color 160ms ease}.contact-method:has(input:checked){background:var(--mist);border-color:var(--petrol)}.contact-method input{width:17px;height:17px;margin:0;accent-color:var(--petrol)}.contact-method:focus-within{outline:2px solid var(--petrol);outline-offset:3px}.contact-phone{margin-top:22px}.contact-phone small{color:#405A5F;font-size:.76rem}.contact-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:28px}.contact-submit{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:52px;padding:13px 22px;color:var(--white);background:var(--petrol);border:1px solid var(--petrol);border-radius:8px;font-size:.93rem;font-weight:700}.contact-submit svg{width:18px;height:18px;flex:none;transition:transform 160ms var(--ease-sefia)}.contact-reset{min-height:44px;padding:0 4px;color:var(--petrol);background:none;border:0;text-decoration:underline;text-underline-offset:5px;font-size:.83rem}.contact-status{min-height:26px;margin:18px 0 0;color:var(--petrol);font-size:.86rem;line-height:1.6}.contact-status[data-state=error]{color:#9C2924}.contact-status[data-state=valid]{padding:15px 0;border-top:1px solid var(--line)}.contact-privacy{max-width:510px;margin:12px 0 0;color:#405A5F;font-size:.76rem;line-height:1.6}.contact-submit.is-valid{background:var(--deep)}
@keyframes sefia-spin{to{transform:rotate(360deg)}}
@media(hover:hover) and (pointer:fine){.header-cta:hover,.button-primary:hover,.button-secondary:hover,.button-reset:hover,.contact-submit:hover{transform:translateY(-2px)}.header-cta:hover .cta-arrow,.button-primary:hover .cta-arrow,.contact-submit:hover svg,.quote-contact-link:hover svg{transform:translateX(3px)}.process-step:hover{background-color:#E8F1F1}.technology-media:hover .portrait-frame img{transform:scale(1.025)}.signal-tab:hover{transform:translateX(3px)}.contact-method:hover{border-color:var(--petrol);background:var(--paper)}.faq-item summary:hover{color:var(--deep)}}
@media(max-width:920px){.contact-layout{grid-template-columns:1fr;gap:46px}.contact-intro>p,.contact-demo-note{max-width:620px}.contact-intro .section-heading{max-width:650px}.contact-demo-note{margin-top:24px}.contact-form{max-width:720px}}
@media(max-width:700px){.hero h1{font-size:clamp(2.8rem,12.2vw,4.5rem)}.hero-inner{padding-top:68px}.hero-signature{margin-top:48px}.process-route{right:auto;bottom:0;left:-10px;width:2px;height:100%}.process-route span{transform:scaleY(0);transform-origin:top;transition:transform 500ms var(--ease-sefia)}.process-trigger svg{margin-right:6px}.process-detail{gap:14px;min-height:144px}.process-detail p{font-size:.95rem}.process-step[data-selected=true]{background:linear-gradient(90deg,#E8F1F1,transparent 92%)}.contact-fields{gap:22px}.contact-method{flex:1;justify-content:center}.contact-actions{gap:18px}.contact-submit{width:100%}.contact-privacy{font-size:.78rem}}
@media(max-width:390px){.hero h1{font-size:2.8rem}.contact-sales-option label{font-size:.91rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}[data-sefia-motion]{transform:none!important;opacity:1!important;clip-path:none!important}.hero-media,.portrait-frame img{transform:none!important}.header-cta:active,.button-primary:active,.button-secondary:active,.button-reset:active,.button-quote:active,.contact-submit:active,.contact-reset:active,.menu-toggle:active,.signal-tab:active,.signal-tab:hover{transform:none!important}}
.quote-helper{color:#526468;font-size:.76rem}.quote-input[aria-invalid=true]{border-color:#A12E29;background:#FFF7F5}.quote-status:empty{min-height:0}.quote-status[data-state=error]{color:#9C2924}.quote-cost{display:block;color:var(--petrol);font-family:var(--display);font-size:clamp(1.8rem,3vw,2.6rem);font-weight:700;letter-spacing:-.05em;line-height:1.1;margin-bottom:6px;font-variant-numeric:tabular-nums}.quote-to-sales{display:flex;align-items:center;justify-content:center;margin-top:0;text-decoration:none}.contact-submit:disabled{opacity:.7}
