/* v15: Taste Vault reference study, composed for Attua.
   Print/editorial principles; existing brand assets and live HTML only.
   The symbol sits above the header and grain; native dialogs retain their top layer. */
:root{--editorial-gutter:clamp(24px,5vw,88px)}
body:after{opacity:.025}
button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,summary:focus-visible,[role=tabpanel]:focus-visible{outline:2px solid currentColor;outline-offset:6px}
.header{inset:20px 24px auto;align-items:center}
.brand{width:154px;height:58px;padding:15px 18px}
.brand img{width:118px}
.header-nav{display:flex;left:auto;right:195px;top:0;height:48px;align-items:center;gap:25px;background:var(--navy);padding:0 20px}
.header-nav>div{display:contents}
.header-nav a{font-size:10px;white-space:nowrap}
.header-nav a[href='#contact']{display:none}
.header-actions{height:48px}
.header>.header-book{min-height:48px;padding:0 18px}
.hero-caption:after,.paper:after{display:none}
.hero-caption{padding:16px 20px;line-height:1.15}
@media(max-width:700px){.hero-caption{padding:12px 16px}}
.intro-columns{max-width:1000px;margin-right:4%;gap:70px}
.intro-columns p{font-size:clamp(17px,1.5vw,22px);line-height:1.55}
.intro-booking{margin-top:90px;padding-top:40px;align-items:end}
.intro-booking h2{font-size:clamp(40px,4.5vw,68px);line-height:1.05;max-width:760px}
.intro-booking-action p{margin-bottom:5px}
.introduction{padding-bottom:100px}
.approach:after{opacity:.13}
.approach{padding:90px var(--editorial-gutter) 110px}
.approach-label{font-size:11px;letter-spacing:.04em}
.approach-heading{margin-bottom:80px}
.approach-heading h2{font-size:clamp(54px,7.3vw,116px);max-width:1200px}
.approach-grid{grid-template-columns:minmax(0,.72fr) minmax(0,1fr);gap:12%}
.approach-aside .aside-statement{font-size:clamp(23px,2.15vw,32px);line-height:1.3;letter-spacing:-.03em}
.approach-aside .aside-question{font-size:18px;max-width:360px}
.approach-aside .aside-caption{font:14px/1.6 var(--sans);text-transform:none;max-width:300px}
.approach-content .body-lead{font-size:21px;line-height:1.5;letter-spacing:-.02em}
.approach-content .scope{font:15px/1.6 var(--sans);text-transform:none;margin:35px 0}
.approach-content summary{font-size:24px;padding:23px 0}
.approach-content .wide-link{font-size:11px;padding:22px 0;border-width:0 0 1px;margin-top:30px}
.approach-content .wide-link:hover{padding-left:18px;padding-right:18px}
/* The image is the breathing space between the offer and the principle. */
.brand-landscape{height:760px;max-height:82svh;min-height:530px;margin:0;background:var(--navy)}
.brand-landscape:after{background:linear-gradient(180deg,rgba(1,33,56,.08) 0%,rgba(1,33,56,.12) 35%,rgba(1,33,56,.6) 100%)}
.landscape-screen{width:42%;opacity:.28;right:0;bottom:0}
.landscape-image{object-position:50% 42%}
.landscape-content{padding:65px var(--editorial-gutter);justify-content:end}
.landscape-content p{width:100%;font-size:clamp(44px,6.6vw,105px);line-height:1.03;margin:0;letter-spacing:-.055em}
.landscape-content p span{display:block}
.landscape-content p span+span{margin-left:18%}
.human{margin:0 var(--editorial-gutter);padding:130px 0 110px;border-top:0;background:none;overflow:clip}
.human-intro{position:sticky;top:115px;align-self:start}
.human-grid{grid-template-columns:1fr 1fr;gap:6%}
.human h2{font-size:clamp(65px,7.9vw,126px);letter-spacing:-.055em;line-height:.98}
.human h2 br:first-of-type,.human h2 br:nth-of-type(3){display:none}
.human-question{font-size:27px;line-height:1.3;max-width:380px;margin:45px 0 24px}
.human-note{font:14px/1.6 var(--sans);text-transform:none;margin:0;max-width:300px}
.paper-stack{padding:30px 0 0}
.paper{width:90%;margin-bottom:45px;padding:24px;box-shadow:0 16px 40px rgba(0,24,39,.18)}
.paper:nth-child(even){margin-left:10%}
.paper-title{font-size:27px;padding-bottom:16px;align-items:flex-start;gap:15px}
.paper-title>span{font:10px/1.5 var(--mono);padding-top:7px}
.paper p{font:16px/1.5 var(--sans);min-height:0;padding:24px 0 14px;border:0}
.paper:before{opacity:.2}
.implementation{margin:0 var(--editorial-gutter);padding:95px 0 100px}
.implementation-opening{display:grid;grid-template-columns:1.32fr .68fr;column-gap:7%;align-items:end;margin-bottom:85px}
.implementation-label{grid-column:1/-1;font-size:11px;letter-spacing:.04em;margin-bottom:45px}
.implementation h2{font-size:clamp(54px,6.8vw,108px);line-height:1.02;letter-spacing:-.055em;text-align:left;margin:0;max-width:860px}
.implementation-image{height:350px;margin-bottom:8px;overflow:hidden}
.implementation-image img{width:100%;height:100%;object-fit:cover;object-position:60% 50%;display:block}
.workflow-example{display:grid;grid-template-columns:.82fr 1.18fr;background:var(--cream);color:var(--navy);padding:55px;gap:7%;--line:rgba(1,33,56,.3)}
.workflow-intro>.mono{font-size:10px;letter-spacing:.015em;margin-bottom:30px}
.workflow-intro h3{font-size:clamp(31px,3.1vw,48px);line-height:1.07;letter-spacing:-.04em;margin-bottom:25px}
.workflow-intro>p:last-child{font-size:16px;line-height:1.55;max-width:310px}
.workflow-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-bottom:1px solid var(--navy)}
.workflow-tabs button{background:transparent;color:var(--navy);padding:15px 8px;border:0;cursor:pointer;font:12px/1.5 var(--mono);transition:background .2s,color .2s}
.workflow-tabs button[aria-selected=true]{background:var(--navy);color:var(--cream)}
.workflow-tabs button:hover:not([aria-selected=true]){background:rgba(1,33,56,.08)}
.workflow-tabs button:focus-visible{outline-offset:3px;position:relative;z-index:1}
.workflow-panel{padding:32px 0 0;min-height:340px}
.workflow-panel h4{font-size:clamp(29px,2.7vw,43px);line-height:1.12;letter-spacing:-.04em;font-weight:400;margin:0 0 23px}
.workflow-owner{font-size:10px;letter-spacing:.025em;margin-bottom:18px}
.workflow-panel>p:not(.mono){font-size:16px;line-height:1.55;max-width:510px}
.workflow-panel .workflow-check{font:12px/1.55 var(--mono)!important;margin-top:30px;padding-top:20px;border-top:1px solid var(--line)}
.delivery-notes{display:grid;grid-template-columns:.95fr 1.05fr;gap:0 10%;margin:75px 0 0}
.delivery-notes article{display:contents}
.delivery-notes h3{grid-column:1;font-size:clamp(25px,2.5vw,39px);letter-spacing:-.04em;line-height:1.15;padding:24px 0;border-top:1px solid var(--line)}
.delivery-notes p{grid-column:2;font-size:17px;line-height:1.6;padding:24px 0 30px;border-top:1px solid var(--line);max-width:650px}
.implementation-close{font-size:clamp(29px,3.5vw,53px);max-width:800px;line-height:1.16;letter-spacing:-.04em;margin:65px 0 0 auto}
.sam{margin:0 var(--editorial-gutter);padding:100px 0 120px}
.sam>.section-top{display:none}
.sam h2{font-size:clamp(46px,5.4vw,84px);max-width:1000px;margin:0 0 65px;line-height:1.08}
.sam-grid{grid-template-columns:.65fr 1fr;gap:12%;align-items:start}
.portrait-image{height:530px}
.portrait-image .portrait-screen{display:none}
.sam-portrait figcaption{display:block;font-size:10px;line-height:1.7;border:0;padding-top:18px}
.sam-portrait figcaption span:last-child{display:none}
.sam-copy{border:0;padding:0}
.sam-bio{font-size:clamp(25px,2.6vw,40px);line-height:1.28;margin-bottom:55px}
.questions article{grid-template-columns:1fr;gap:15px;padding:25px 0}
.questions h3{font-size:23px;line-height:1.2;max-width:500px}
.questions p{font-size:16px;max-width:500px;line-height:1.55}
.contact{padding:90px var(--editorial-gutter) 110px}
.contact:before{opacity:.08}
.contact-top h2{margin:0 0 75px;font-size:clamp(60px,7.5vw,120px);letter-spacing:-.055em}
.contact-grid{gap:12%;grid-template-columns:.85fr 1.15fr}
.booking-atmosphere{height:160px;margin-top:20px}
.booking-intro{font-size:29px;line-height:1.28}
.booking-steps{margin-top:35px;margin-bottom:25px}
.site-footer{padding:70px var(--editorial-gutter) 0}
.site-footer:before{opacity:.09}
.footer-top{align-items:flex-start}
.footer-top p{font-size:clamp(25px,2.8vw,43px);max-width:500px;line-height:1.15;letter-spacing:-.04em}
.footer-top .mono{font-size:11px;line-height:1.6;text-align:right}
.footer-wordmark{width:215px;margin:70px 0 60px}
.footer-meta{padding:25px 0 30px;font-size:10px}
@media(min-width:1650px){
 .approach,.contact,.site-footer{padding-left:max(var(--editorial-gutter),calc((100vw - 1480px)/2));padding-right:max(var(--editorial-gutter),calc((100vw - 1480px)/2))}
 .human,.implementation,.sam{max-width:1480px;margin-left:auto;margin-right:auto}
}
@media(max-width:1150px){
 .header-nav{gap:18px;right:185px;padding:0 15px}.header-nav a{font-size:9px}
 .workflow-example{padding:35px;gap:6%}.workflow-panel{min-height:370px}
 .implementation-image{height:300px}.human-question{font-size:24px}
 .paper-title{font-size:24px}.paper{padding:20px}
 .contact-grid{gap:7%}.booking-intro{font-size:25px}
}
@media(max-width:1000px){
 .header-nav{display:none}
 .hero-caption:after{display:none}
 .implementation-opening{grid-template-columns:1.3fr .7fr;gap:35px}
 .implementation h2{font-size:6.9vw}.implementation-image{height:270px}
 .workflow-intro h3{font-size:32px}.workflow-panel h4{font-size:31px}.workflow-panel{min-height:390px}
 .human{padding-top:95px}.paper{width:100%;margin-left:0!important}.human h2{font-size:8.4vw}
 .sam-grid{gap:8%;grid-template-columns:.75fr 1fr}.portrait-image{height:490px}
}
@media(max-width:700px){
 :root{--editorial-gutter:22px}
 .header{inset:14px 14px auto;align-items:flex-start}.brand{width:128px;height:48px;padding:12px}.brand img{width:104px}
 .header-actions{height:44px}.header-book{gap:12px;font-size:9px}
 .intro-columns{margin:25px 0 0;max-width:none}.intro-columns p{font-size:18px;line-height:1.5;margin:0 0 25px}
 .intro-booking{margin-top:45px;padding-top:30px}.intro-booking h2{font-size:39px;max-width:340px}
 .intro-booking-action{margin-top:25px}.introduction{padding-bottom:55px}
 .approach{padding:55px 22px 70px}.approach-heading{margin-bottom:42px}
 .approach-heading h2{font-size:11.3vw;line-height:1.06}.approach-label{font-size:10px}
 .approach-aside .aside-statement{font-size:24px}.approach-aside .aside-question{font-size:17px}
 .approach-aside .aside-caption{margin-top:25px;font-size:14px;max-width:100%;padding-top:20px}
 .approach-content .body-lead{font-size:19px}.approach-content .scope{font-size:15px;margin:27px 0}
 .approach-content summary{font-size:22px;padding:21px 0}.approach-content .detail-content{font-size:16px;padding:5px 15px 24px 0}
 .brand-landscape{height:590px;min-height:440px;max-height:80svh}
 .landscape-content{padding:38px 22px}.landscape-content p{font-size:11vw;line-height:1.08}
 .landscape-content p span+span{margin-left:0;margin-top:10px}.landscape-screen{width:80%;opacity:.22}
 .human{padding:75px 0 60px;margin:0 22px}.human-grid{display:block}.human-intro{position:static}
 .human h2{font-size:20vw;line-height:1}.human-question{font-size:25px;margin:30px 0 20px;max-width:340px}
 .human-note{font-size:14px;max-width:310px;margin-bottom:45px}.paper-stack{padding:0}
 .paper{margin-bottom:28px;padding:22px}.paper-title{font-size:25px}.paper p{font-size:16px;min-height:0;padding:23px 0 8px}
 .implementation{margin:0 22px;padding:60px 0 70px}
 .implementation-opening{display:block;margin-bottom:35px}.implementation-label{font-size:10px;margin-bottom:28px}
 .implementation h2{font-size:11.8vw;line-height:1.06;max-width:100%;margin:0 0 30px}
 .implementation-image{height:220px;width:78%;margin:0 0 0 auto}
 .workflow-example{display:block;padding:27px 22px;margin-left:-22px;margin-right:-22px}
 .workflow-intro>.mono{font-size:9px;margin-bottom:25px}.workflow-intro h3{font-size:35px;line-height:1.08;margin-bottom:20px}
 .workflow-intro h3 br:nth-of-type(2){display:none}.workflow-intro>p:last-child{max-width:350px;font-size:16px}
 .workflow-explorer{margin-top:35px}.workflow-tabs button{font-size:11px;padding:15px 6px;min-height:48px}
 .workflow-panel{min-height:340px;padding-top:30px}.workflow-panel h4{font-size:32px}
 .workflow-panel>p:not(.mono){font-size:16px}.workflow-panel .workflow-check{font-size:11px!important;line-height:1.6!important}
 .delivery-notes{display:block;margin-top:40px}.delivery-notes article{display:block;padding:25px 0;border-top:1px solid var(--line)}
 .delivery-notes h3{font-size:28px;padding:0 0 18px;border:0}.delivery-notes p{font-size:17px;line-height:1.55;padding:0;border:0}
 .implementation-close{font-size:31px;margin:25px 0 0;max-width:100%}
 .sam{padding:60px 0 65px;margin:0 22px}.sam h2{font-size:11.5vw;line-height:1.08;margin-bottom:35px}
 .sam-grid{display:block}.sam-portrait{width:88%}.portrait-image{height:auto;aspect-ratio:4/5}
 .sam-portrait figcaption{font-size:10px;padding-top:14px}.sam-copy{padding-top:35px}.sam-bio{font-size:26px;line-height:1.3;margin-bottom:35px}
 .questions h3{font-size:23px}.questions p{font-size:16px}
 .contact{padding:60px 22px 65px}.contact-top h2{font-size:13vw;margin:0 0 40px}
 .contact-form{padding-top:25px}.contact-grid{gap:45px}.booking-intro{font-size:25px}
 .site-footer{padding:40px 22px 0}.footer-top p{font-size:27px;max-width:300px}
 .footer-top .mono{text-align:left;font-size:10px;margin-top:20px}.footer-wordmark{width:170px;margin:45px 0}
 .footer-meta{font-size:9px;gap:20px}
}
@media(max-width:350px){
 .header{inset:10px 10px auto}.brand{width:112px;height:44px;padding:10px}.brand img{width:92px}
 .header-book{font-size:8px;gap:7px;padding:0 8px}.menu-toggle{width:43px}
 .intro-booking h2{font-size:34px}.workflow-panel h4{font-size:29px}.workflow-panel{min-height:365px}
 .workflow-intro h3{font-size:32px}.paper-title{font-size:23px}
}
@media(prefers-reduced-motion:no-preference){
 .workflow-panel:not([hidden]){animation:workflow-in .35s ease-out both}
 @keyframes workflow-in{from{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:none}}
}
@media print{.workflow-tabs{display:none}.workflow-panel[hidden]{display:block!important}.workflow-example{break-inside:avoid}.brand-landscape{display:none}}
