/* Attua brand kit v1 — application layer. Hero timeline stays in brand.css. */
:root{--cream:#f0f0e8;--navy:#012138;--ink-line:rgba(1,33,56,.26)}
[hidden]{display:none!important}
input,textarea,button{font:inherit}
input:focus-visible,textarea:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.brand{width:182px;min-width:0;height:67px;padding:16px 20px;display:flex;align-items:center;justify-content:center}
.brand img{display:block;width:142px;height:auto}
.header-actions{height:48px;gap:1px}
.header-book{display:flex;align-items:center;justify-content:space-between;gap:22px;background:var(--cream);color:var(--navy);padding:0 17px;font-size:10px;border:1px solid var(--navy)}
.header-nav{right:170px;left:48%}
.header-book:hover{background:var(--navy);color:var(--cream);border-color:var(--cream)}
.header-book span{font:22px/1 var(--sans)}
.menu-brand img{display:block;width:min(250px,60vw);height:auto}
.menu-inner nav a{transition:padding .2s,color .2s}
.hero-caption:after{width:38px;height:30px;background:url('assets/attua/attua-symbol-cream.svg') left center/contain no-repeat;opacity:1}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;min-height:64px;padding:18px 24px;font:400 19px/1.2 var(--sans);letter-spacing:-.025em;border:1px solid currentColor;transition:background .2s,color .2s,transform .2s}
.button>span:last-child{font-size:26px;line-height:1}
.button-cream{background:var(--cream);color:var(--navy);border-color:var(--cream)}
.button-cream:hover{background:var(--navy);color:var(--cream)}
.button-navy{background:var(--navy);color:var(--cream);border-color:var(--navy)}
.button-navy:hover{background:var(--cream);color:var(--navy)}
.button:active,.header-book:active{transform:translateY(1px)}
.button:disabled{cursor:wait;opacity:.65}
.intro-booking{display:grid;grid-template-columns:1fr auto;gap:50px;margin:65px 4% 0;padding:35px 0 0;border-top:1px solid var(--line);align-items:center}
.intro-booking .mono{font-size:10px;letter-spacing:.02em;margin-bottom:20px}
.intro-booking h2{font-size:clamp(30px,3.1vw,50px);line-height:1.1;letter-spacing:-.04em;max-width:650px;text-wrap:balance}
.intro-booking-action{width:300px}
.intro-booking-action .button{width:100%}
.intro-booking-action p{font:400 12px/1.55 var(--mono);margin-top:17px}
.introduction{padding-bottom:75px}
.approach:after{background:url('assets/attua/cotton-stock.webp') center/cover no-repeat;opacity:.32;mix-blend-mode:multiply}
.paper:before{background:url('assets/attua/cotton-stock.webp') center/cover no-repeat;opacity:.42}
.paper:after{background:url('assets/attua/attua-symbol-navy.svg') center/contain no-repeat;width:25px;height:20px;bottom:12px;right:22px;opacity:1}
.paper p{font:400 16px/1.5 var(--sans);text-transform:none}
.intro-columns p{font:400 clamp(16px,1.3vw,20px)/1.5 var(--sans);text-transform:none}
.brand-landscape{position:relative;isolation:isolate;min-height:580px;height:65vw;max-height:850px;overflow:hidden;background:var(--navy)}
.landscape-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.brand-landscape:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,33,56,.65),rgba(1,33,56,.08));z-index:0}
.landscape-screen{position:absolute;bottom:0;right:0;width:60%;height:auto;opacity:.5;z-index:1;pointer-events:none}
.landscape-content{position:relative;z-index:2;padding:80px 6%;height:100%;display:flex;flex-direction:column;align-items:flex-start;color:var(--cream)}
.landscape-content img{width:100px;height:auto;margin-bottom:auto}
.landscape-content p{font-size:clamp(42px,5.2vw,84px);line-height:1.05;letter-spacing:-.045em;margin:60px 0 30px;text-wrap:balance}
.landscape-content .mono{font-size:10px}
.human,.implementation,.sam{margin:0 4%}
.portrait-image>img:first-child{filter:none;mix-blend-mode:normal;opacity:1}
.portrait-image .portrait-screen{object-fit:fill;object-position:center;opacity:.55;pointer-events:none}
.questions p{font:400 15px/1.5 var(--sans);text-transform:none}
.contact{padding:70px 4% 100px;background:var(--cream);color:var(--navy);--line:var(--ink-line);border-top:0}
.contact:before{content:'';position:absolute;inset:0;background:url('assets/attua/cotton-stock.webp') center/cover no-repeat;opacity:.1;mix-blend-mode:multiply;z-index:-1;pointer-events:none}
.contact .ambient-field{display:none}
.contact ::selection{background:var(--navy);color:var(--cream)}
.contact-top h2{font-size:clamp(56px,7.4vw,115px);margin:45px 0 65px}
.contact-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:7%}
.booking-context{grid-column:1;grid-row:1}.contact-grid>.contact-form{grid-column:2;grid-row:1}
.booking-intro{font-size:clamp(23px,2vw,32px);letter-spacing:-.03em;line-height:1.3;max-width:490px}
.booking-steps{list-style:none;margin:38px 0 40px;padding:0;max-width:490px}
.booking-steps li{display:grid;grid-template-columns:35px 1fr;gap:10px;border-top:1px solid var(--line);padding:20px 0}
.booking-steps .mono{font-size:10px;padding-top:5px}
.booking-steps h3{font-size:19px;letter-spacing:-.025em;margin-bottom:7px}
.booking-steps p{font-size:14px;line-height:1.5;max-width:350px}
.booking-atmosphere{position:relative;isolation:isolate;height:240px;max-width:490px;overflow:hidden;background:var(--navy)}
.booking-atmosphere>img:first-child{width:100%;height:100%;object-fit:cover}
.booking-atmosphere .booking-symbol{position:absolute;width:72px;height:auto;left:30px;bottom:28px}
.direct-email{font:12px/1.6 var(--mono);margin-top:18px}
.direct-email a,.form-privacy a,.form-errors a,.text-link{text-decoration:underline;text-underline-offset:4px}
.contact-form{padding-left:0;border:0;min-width:0;align-self:start}
.contact-form .form-intro{font-size:28px;line-height:1.2;letter-spacing:-.035em}
.contact-form .form-required{font:12px/1.5 var(--mono);margin-top:12px;letter-spacing:0}
.contact-form label{font:400 13px/1.4 var(--sans);margin:0 0 10px;letter-spacing:0;display:flex;justify-content:space-between;gap:15px}
.contact-form label span{font:10px/1.5 var(--mono);opacity:.8}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-field{margin-top:26px}
.form-field input,.form-field textarea{width:100%;border:1px solid rgba(1,33,56,.42);border-radius:0;background:rgba(240,240,232,.7);color:var(--navy);padding:13px 14px;font-size:16px;min-height:52px;box-shadow:none}
.form-field textarea{resize:vertical;min-height:136px;line-height:1.45}
.form-field input::placeholder,.form-field textarea::placeholder{color:#4d626f;opacity:1}
.form-field input:hover,.form-field textarea:hover{border-color:var(--navy)}
.form-field [aria-invalid=true]{border:2px solid var(--navy)}
.field-error{font:12px/1.45 var(--mono);margin-top:8px}
.field-error:before{content:'↑ '}
.form-errors,.booking-mode{padding:14px 16px;margin:22px 0 0;border:1px solid var(--navy);font:12px/1.55 var(--mono)!important;max-width:none!important;letter-spacing:0!important}
.form-errors ul{padding-left:18px;margin:8px 0 0}
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-privacy{font:12px/1.65 var(--sans);margin:24px 0;max-width:580px}
.form-privacy a{display:inline-block;white-space:nowrap}
.booking-submit{width:100%}
.booking-footnote{font:11px/1.6 var(--mono);margin-top:15px}
.booking-success{border-top:1px solid var(--navy);padding:36px 0 0;margin-top:25px;min-height:450px}
.booking-success img{width:58px;height:auto;margin-bottom:38px}
.booking-success h3{font-size:clamp(32px,3vw,48px);line-height:1.08;letter-spacing:-.04em;margin-bottom:25px}
.booking-success p{font-size:17px;line-height:1.5;margin-bottom:20px;max-width:520px}
.booking-success .text-link{display:inline-block;font:12px/1.4 var(--mono);margin-top:25px}
.site-footer{padding:55px 4% 0;background:var(--navy);color:var(--cream);position:relative;isolation:isolate;overflow:hidden}
.site-footer:before{position:absolute;inset:0;z-index:-1;width:auto;max-width:none;height:auto;margin:0;background:url('assets/attua/navy-weave.webp') center/cover no-repeat;opacity:.18}
.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px}
.footer-top p{font-size:24px;letter-spacing:-.025em}
.footer-top .mono{font-size:10px}
.footer-wordmark{display:block;margin:95px 0 75px;padding:0;width:100%;line-height:1}
.footer-wordmark img{display:block;width:100%;height:auto}
.footer-meta{border-color:rgba(240,240,232,.3);font-size:10px;gap:25px}
.privacy-page{max-width:920px;margin:auto;padding:150px 5% 90px;min-height:80vh}
.privacy-page h1{font-size:clamp(40px,6vw,75px);line-height:1.05;letter-spacing:-.045em;margin-bottom:45px}
.privacy-page h2{font-size:25px;margin:35px 0 12px}
.privacy-page p{max-width:65ch;font-size:17px;line-height:1.65;margin:15px 0}
.privacy-page a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1000px){
 .header-nav{display:none}.menu-toggle{opacity:1;visibility:visible}
 .contact-grid{gap:5%;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
 .form-row{grid-template-columns:1fr;gap:0}
 .landscape-content{padding:65px 5%}
 .paper p{font-size:14px;min-height:140px}
}
@media(max-width:700px){
 .brand{width:144px;height:56px;padding:12px}.brand img{width:120px}
 .header-actions{height:44px}.header-book{font-size:9px;padding:0 10px;gap:10px}.header-book span{font-size:18px}
 .menu-toggle{width:52px;font-size:9px}
 .header{inset:14px 14px auto;align-items:flex-start}
 .hero-caption:after{width:32px;height:25px}
 .introduction{padding-left:20px;padding-right:20px;padding-bottom:45px}
 .intro-columns{margin-left:14%;margin-right:0}.intro-columns p{font-size:16px}
 .intro-booking{display:block;margin:38px 0 0;padding-top:30px}
 .intro-booking .mono{font-size:9px;max-width:240px;line-height:1.6}
 .intro-booking h2{font-size:34px;max-width:340px}
 .intro-booking-action{width:100%;margin-top:28px}
 .intro-booking-action .button{min-height:60px}.intro-booking-action p{font-size:11px}
 .brand-landscape{height:660px;min-height:0;max-height:85svh}
 .landscape-content{padding:38px 24px}.landscape-content img{width:70px}
 .landscape-content p{font-size:43px;margin-bottom:25px}.landscape-content .mono{font-size:9px}
 .landscape-screen{width:100%}
 .human,.implementation,.sam{margin:0 20px}
 .human{background:none}.paper-stack{padding-left:0;padding-right:0}
 .paper p{font-size:15px;min-height:150px;padding-bottom:35px}
 .questions p{font-size:15px;margin-left:0}
 .portrait-image{height:510px}
 .contact{padding:45px 20px 60px}
 .contact-top h2{font-size:14vw;margin:35px 0 40px}
 .contact-top h2 br{display:block}
 .contact-grid{display:flex;flex-direction:column;gap:45px}
 .booking-intro{font-size:24px}.booking-steps{margin:30px 0 0}
 .booking-steps li{padding:18px 0}.booking-steps h3{font-size:18px}
 .booking-atmosphere{display:none}.direct-email{font-size:11px;margin-top:18px}
 .contact-form{width:100%;border-top:1px solid var(--navy);padding-top:30px;order:0}.booking-context{order:1}
 .contact-form .form-required{font-size:11px}.contact-form label{font-size:13px}
 .contact-form label span{display:inline}.form-field{margin-top:23px}
 .button{font-size:18px;min-height:60px}.booking-footnote{font-size:10px}
 .site-footer{padding:35px 20px 0}.footer-top{display:block}
 .footer-top p{font-size:19px}.footer-top .mono{display:block;font-size:9px;margin-top:20px}
 .footer-wordmark{margin:55px 0 45px}.footer-meta{font-size:9px;grid-template-columns:1fr 1fr;gap:20px}
 .footer-meta a:nth-child(2),.footer-meta a:last-child{text-align:right}
}
@media(max-width:350px){.header{inset:10px 10px auto}.header-book{font-size:8px;padding:0 8px;gap:7px}.menu-toggle{width:43px}.brand{width:136px;padding:8px}.brand img{width:120px}.landscape-content p{font-size:36px}}
@media print{.brand-landscape,.booking-atmosphere,.site-footer:before,.contact:before{display:none}.contact{color:black;background:white}.site-footer{background:#012138;print-color-adjust:exact}.form-trap{display:none}}
