/* VESVILLA — responsive motion system */
:root{--forest:#17231e;--forest2:#202e26;--cream:#eeeae0;--paper:#f6f3ec;--olive:#78816a;--olive-dark:#5f6b55;--brass:#c7b48b;--ink:#1d2922;--muted:#8b9189;--line:rgba(238,234,224,.18);--serif:"Playfair Display",Georgia,serif;--sans:"Manrope",Arial,sans-serif;--mono:"DM Mono",monospace;--gutter:clamp(22px,5vw,78px);--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%}.noise{position:fixed;inset:0;pointer-events:none;z-index:30;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}.cursor-core,.cursor-ring{display:none}.progress-line{position:fixed;top:0;left:0;right:0;height:2px;z-index:100;pointer-events:none}.progress-line span{display:block;height:100%;width:0;background:var(--brass)}
.site-header{height:88px;position:absolute;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);color:var(--paper);border-bottom:1px solid rgba(255,255,255,.18)}.brand{display:flex;align-items:center;gap:12px;position:relative;z-index:3}.brand-symbol{width:28px;height:28px;position:relative;display:inline-block;transform:rotate(-18deg)}.brand-symbol i{position:absolute;left:4px;width:20px;height:7px;border:1px solid var(--brass);transform:skewY(-28deg);border-radius:1px}.brand-symbol i:nth-child(1){top:2px}.brand-symbol i:nth-child(2){top:10px;left:1px}.brand-symbol i:nth-child(3){top:18px;left:-2px}.brand-name{font-size:16px;font-weight:800;letter-spacing:.15em;line-height:1.2}.brand-name small{display:block;font:8px var(--mono);letter-spacing:.14em;margin-top:5px;color:var(--brass)}.desktop-nav{display:flex;gap:clamp(22px,3vw,48px);margin-left:auto;margin-right:clamp(25px,4vw,70px)}.desktop-nav a,.header-cta{font-size:11px;letter-spacing:.04em}.desktop-nav a{color:rgba(246,243,236,.75);transition:color .25s}.desktop-nav a:hover{color:var(--brass)}.header-cta{padding:13px 16px;border:1px solid rgba(246,243,236,.45);display:flex;gap:20px;align-items:center;transition:background .3s,color .3s,border-color .3s}.header-cta:hover{background:var(--brass);border-color:var(--brass);color:var(--forest)}.header-cta span{font-size:17px}.menu-toggle{display:none;background:transparent;border:0;color:white;padding:10px}.mobile-menu{display:none}
.section-dark{background:var(--forest);color:var(--paper)}.section-cream{background:var(--cream);color:var(--ink)}.section-olive{background:var(--olive);color:var(--paper)}.hero{position:relative;min-height:min(900px,100svh);min-height:max(720px,100svh);display:flex;align-items:center;overflow:hidden;padding:150px var(--gutter) 70px}.hero-image-wrap,.hero-image-shade,.hero-grid{position:absolute;inset:0}.hero-image-wrap{overflow:hidden}.hero-image{width:100%;height:110%;object-fit:cover;object-position:center 48%;filter:saturate(.72);transform:scale(1.03)}.hero-image-shade{background:linear-gradient(90deg,rgba(15,25,20,.86) 0%,rgba(15,25,20,.62) 43%,rgba(15,25,20,.12) 100%),linear-gradient(0deg,rgba(15,25,20,.65),transparent 38%,rgba(15,25,20,.18))}.hero-grid{opacity:.16;background-image:linear-gradient(rgba(255,255,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px);background-size:90px 90px;mask-image:linear-gradient(90deg,black,transparent 90%)}.hero-kicker,.eyebrow,.section-label,.hero-side-note,.hero-index,.vertical-note,.service-number,.step-label,.step-num,.concept-overlay,.concept-disclaimer,.form-top,.footer-label,.footer-bottom,.back-top{font-family:var(--mono);font-size:10px;letter-spacing:.12em}.hero-kicker{position:absolute;top:122px;left:var(--gutter);display:flex;align-items:center;gap:10px;color:rgba(246,243,236,.7)}.status-dot{width:6px;height:6px;background:var(--brass);border-radius:50%;box-shadow:0 0 0 5px rgba(199,180,139,.15)}.hero-content{position:relative;z-index:2;width:min(100%,1000px);margin-top:24px}.eyebrow{color:var(--brass);margin:0 0 24px}.hero-title{font-size:clamp(58px,9.7vw,148px);line-height:.91;letter-spacing:-.075em;font-weight:500;margin:0;max-width:1050px}.title-line{display:block;overflow:hidden;padding:0 .06em .09em 0}.title-line>span{display:block;transform:translateY(115%);animation:titleIn 1.15s var(--ease) forwards}.title-line:nth-child(2)>span{animation-delay:.13s}.title-line:nth-child(3)>span{animation-delay:.26s}.hero-title em,.display-heading em,.statement-heading em{font-family:var(--serif);font-weight:500;color:var(--brass);letter-spacing:-.07em}.period{color:var(--brass)}@keyframes titleIn{to{transform:translateY(0)}}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-top:48px;max-width:800px}.hero-bottom>p{font-size:14px;line-height:1.8;max-width:355px;color:rgba(246,243,236,.76);margin:0}.circle-link{width:95px;height:95px;border:1px solid rgba(246,243,236,.45);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;flex-shrink:0;transition:background .3s,color .3s,transform .4s var(--ease)}.circle-link:hover{background:var(--brass);color:var(--forest);transform:rotate(-8deg)}.circle-link span{font-size:23px}.circle-link small{font:7px var(--mono);letter-spacing:.08em}.hero-side-note{position:absolute;right:var(--gutter);top:48%;writing-mode:vertical-rl;display:flex;gap:18px;color:rgba(246,243,236,.6);font-size:8px}.hero-index{position:absolute;bottom:34px;right:var(--gutter);display:flex;align-items:center;gap:12px;color:rgba(246,243,236,.7);font-size:9px}.hero-index i{display:block;width:62px;height:1px;background:rgba(246,243,236,.45)}
.section-label{display:flex;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid currentColor;border-color:rgba(29,41,34,.25);font-size:9px}.section-dark .section-label{border-color:var(--line);color:rgba(246,243,236,.65)}.manifesto{position:relative;padding:clamp(80px,12vw,180px) var(--gutter);overflow:hidden}.manifesto-layout{display:grid;grid-template-columns:.25fr 1fr;gap:40px;padding-top:clamp(55px,8vw,110px)}.vertical-note{writing-mode:vertical-rl;transform:rotate(180deg);align-self:start;color:var(--olive-dark);font-size:9px}.display-heading{font-size:clamp(42px,6.7vw,94px);line-height:1.02;letter-spacing:-.075em;font-weight:500;margin:0}.manifesto-main .display-heading{max-width:1020px}.manifesto-main .display-heading span{color:#96988d}.manifesto-foot{display:grid;grid-template-columns:42px minmax(200px,1fr) auto;align-items:start;gap:22px;margin-top:60px;padding-top:24px;border-top:1px solid rgba(29,41,34,.23);max-width:900px}.mini-mark{width:36px;height:36px;border:1px solid var(--olive-dark);border-radius:50%;display:grid;place-items:center;color:var(--olive-dark);font-family:var(--serif);font-size:20px}.manifesto-foot p{font-size:13px;line-height:1.8;color:#60665e;max-width:420px;margin:0}.text-link{font:9px var(--mono);letter-spacing:.1em;display:inline-flex;align-items:center;gap:18px;white-space:nowrap}.text-link b{font-size:17px;font-weight:400;transition:transform .3s}.text-link:hover b{transform:translate(4px,-4px)}.manifesto-stamp{position:absolute;right:5%;bottom:4%;font:10px var(--mono);line-height:1.5;letter-spacing:.1em;color:rgba(120,129,106,.45);transform:rotate(-12deg)}.manifesto-stamp span{font-size:38px;display:block}
.expertise{padding:clamp(80px,10vw,140px) var(--gutter) clamp(90px,12vw,170px);overflow:hidden}.section-intro,.approach-heading,.concepts-head{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;padding:clamp(55px,7vw,95px) 0 50px}.section-intro .display-heading,.approach-heading .display-heading,.concepts-head .display-heading{font-size:clamp(54px,7.5vw,105px)}.section-intro>p,.approach-heading>p,.concepts-head>p{max-width:300px;font-size:13px;line-height:1.85;color:rgba(246,243,236,.63);margin:0 0 8px}.service-list{border-top:1px solid var(--line)}.service-row{position:relative;display:grid;grid-template-columns:70px 1fr 35px;align-items:center;gap:18px;padding:28px 18px 28px 0;border-bottom:1px solid var(--line);overflow:hidden;isolation:isolate;transition:padding .45s var(--ease)}.service-row:before{content:"";position:absolute;inset:0;background:var(--brass);transform:scaleY(0);transform-origin:bottom;transition:transform .45s var(--ease);z-index:-2}.service-row:hover{padding-left:18px;padding-right:18px;color:var(--forest)}.service-row:hover:before{transform:scaleY(1)}.service-number{align-self:start;padding-top:9px;color:var(--brass);transition:color .3s}.service-row:hover .service-number{color:var(--forest)}.service-row h3{font-size:clamp(21px,3.2vw,40px);font-weight:500;letter-spacing:-.05em;margin:0 0 7px;transition:transform .4s var(--ease)}.service-row p{font-size:12px;line-height:1.7;color:rgba(246,243,236,.55);margin:0;transition:color .3s;max-width:590px}.service-row:hover p{color:rgba(23,35,30,.76)}.service-arrow{font-size:25px;transition:transform .35s}.service-row:hover .service-arrow{transform:translate(4px,-4px)}.service-bg{position:absolute;z-index:-1;right:9%;top:50%;width:155px;height:110px;transform:translateY(-50%) rotate(4deg) scale(.85);opacity:0;background-image:var(--bg);background-size:cover;background-position:center;transition:opacity .35s,transform .5s var(--ease);border:4px solid var(--forest)}.service-row:hover .service-bg{opacity:.85;transform:translateY(-50%) rotate(-4deg) scale(1)}
.statement{min-height:670px;position:relative;overflow:hidden;padding:clamp(90px,12vw,160px) var(--gutter);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.statement .eyebrow{color:#e1d6bb}.statement-heading{font-size:clamp(66px,11vw,150px);line-height:.91;letter-spacing:-.085em;font-weight:500;margin:25px 0;position:relative;z-index:2}.statement-heading em{color:#e1d6bb}.statement-copy{max-width:390px;font-size:13px;line-height:1.9;color:rgba(255,255,255,.77);margin:10px 0 28px;position:relative;z-index:2}.statement-orbit{position:absolute;width:min(48vw,560px);height:min(48vw,560px);right:7%;top:50%;transform:translateY(-50%);border:1px solid rgba(255,255,255,.18);border-radius:50%;display:grid;place-items:center;animation:orbit 35s linear infinite}.statement-orbit:before,.statement-orbit:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.14);border-radius:50%;inset:13%}.statement-orbit:after{inset:28%}.statement-orbit span{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--brass);top:12%;left:51%;box-shadow:0 0 25px rgba(199,180,139,.5)}.statement-orbit span:nth-child(2){top:72%;left:15%;width:5px;height:5px}.statement-orbit span:nth-child(3){top:65%;left:85%;width:6px;height:6px}.statement-orbit b{font:clamp(80px,15vw,210px) var(--serif);color:rgba(255,255,255,.07);font-weight:500}@keyframes orbit{to{transform:translateY(-50%) rotate(360deg)}}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:16px 19px;min-width:190px;border:0;font-size:11px;cursor:pointer;transition:transform .3s var(--ease),background .3s,color .3s}.button span{font-size:19px}.button-light{background:var(--paper);color:var(--forest)}.button-light:hover{background:var(--forest);color:var(--paper);transform:translateY(-3px)}.button-dark{background:var(--forest);color:var(--paper)}.button-dark:hover{background:var(--olive-dark);transform:translateY(-2px)}
.approach{padding:clamp(80px,10vw,140px) var(--gutter) clamp(90px,12vw,160px)}.approach-heading{padding-bottom:65px}.approach-heading>p{color:#696e65}.timeline{position:relative;max-width:1050px;margin-left:auto}.timeline-line{position:absolute;left:49px;top:0;bottom:0;width:1px;background:rgba(29,41,34,.2)}.timeline-line span{display:block;width:100%;height:0;background:var(--olive-dark)}.timeline-step{display:grid;grid-template-columns:100px 1fr 35px;gap:25px;align-items:start;padding:27px 0 33px;border-top:1px solid rgba(29,41,34,.2);position:relative}.step-num{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(29,41,34,.35);border-radius:50%;background:var(--cream);position:relative;z-index:2}.step-label{font-size:9px;color:var(--olive-dark)}.timeline-step h3{font-size:clamp(25px,3.4vw,43px);font-weight:500;letter-spacing:-.05em;margin:7px 0}.timeline-step p{font-size:12px;line-height:1.8;color:#696e65;max-width:520px;margin:0}.step-icon{font-size:22px;color:var(--olive-dark);justify-self:end}
.concepts{padding:clamp(80px,10vw,140px) var(--gutter) 90px}.concepts-head>p{max-width:290px}.concept-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:42px 22px;align-items:start}.concept-card:nth-child(2){margin-top:90px}.concept-card:nth-child(3){grid-column:2;margin-top:-8px}.concept-image{position:relative;overflow:hidden;background:#303c34;aspect-ratio:1.15}.concept-card-large .concept-image{aspect-ratio:.92}.concept-image:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.14);pointer-events:none}.concept-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.72);transition:transform 1s var(--ease),filter .6s}.concept-card:hover .concept-image img{transform:scale(1.055);filter:saturate(1)}.concept-overlay{position:absolute;bottom:16px;left:16px;background:rgba(23,35,30,.75);padding:9px 11px;color:var(--paper);font-size:8px}.concept-caption{display:flex;justify-content:space-between;align-items:start;padding-top:17px}.concept-caption h3{font-size:21px;font-weight:500;letter-spacing:-.04em;margin:0 0 5px}.concept-caption p{font-size:10px;color:rgba(246,243,236,.55);margin:0}.concept-caption>span{font-size:22px;transition:transform .3s}.concept-card:hover .concept-caption>span{transform:translate(3px,-3px)}.concept-disclaimer{margin-top:70px;padding-top:18px;border-top:1px solid var(--line);color:rgba(246,243,236,.58);display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:.04em;line-height:1.7}.concept-disclaimer span{color:var(--brass);font-size:17px}
.about{padding:clamp(80px,10vw,140px) var(--gutter)}.about-grid{display:grid;grid-template-columns:1fr .9fr;gap:clamp(40px,8vw,120px);align-items:center;padding-top:75px}.about-visual{position:relative;max-width:570px}.about-visual>img{width:100%;aspect-ratio:.85;object-fit:cover;filter:saturate(.65)}.about-visual-tag{position:absolute;bottom:20px;left:20px;right:20px;display:flex;gap:15px;align-items:center;background:var(--cream);padding:15px;color:var(--ink);font:9px var(--mono);letter-spacing:.08em;line-height:1.6}.about-visual-tag .mini-mark{flex-shrink:0}.about-copy .display-heading{font-size:clamp(45px,6vw,80px);margin:0 0 25px}.about-copy .display-heading em{color:var(--olive-dark)}.about-copy .eyebrow{color:var(--olive-dark)}.body-copy{font-size:13px;line-height:1.9;color:#666c63;max-width:480px}.about-copy .text-link{margin-top:20px}
.contact{padding:clamp(80px,10vw,140px) var(--gutter);position:relative;overflow:hidden}.contact-decoration{position:absolute;right:-6vw;top:10%;font:clamp(300px,55vw,750px) var(--serif);line-height:.8;color:rgba(255,255,255,.045);pointer-events:none}.contact .section-label{border-color:rgba(255,255,255,.3)}.contact-layout{display:grid;grid-template-columns:1fr .75fr;gap:clamp(45px,9vw,130px);align-items:start;padding-top:75px;position:relative}.contact-heading .eyebrow{color:#e1d6bb}.contact-heading .display-heading{font-size:clamp(55px,7.6vw,105px);margin-bottom:25px}.contact-heading .display-heading em{color:#e1d6bb}.contact-heading>p:not(.eyebrow){font-size:13px;line-height:1.9;max-width:390px;color:rgba(255,255,255,.72);margin-bottom:28px}.enquiry-form{background:var(--paper);color:var(--ink);padding:clamp(22px,3vw,38px);display:flex;flex-direction:column;gap:19px;box-shadow:0 20px 70px rgba(20,30,24,.12)}.form-top{display:flex;justify-content:space-between;border-bottom:1px solid rgba(29,41,34,.2);padding-bottom:18px;font-size:9px}.enquiry-form label{display:flex;flex-direction:column;gap:9px;font-size:10px;letter-spacing:.03em;color:#4e584f}.enquiry-form input,.enquiry-form textarea,.enquiry-form select{width:100%;border:0;border-bottom:1px solid rgba(29,41,34,.24);border-radius:0;background:transparent;padding:10px 0 12px;color:var(--ink);font-size:12px;outline:none;resize:vertical}.enquiry-form input:focus,.enquiry-form textarea:focus,.enquiry-form select:focus{border-color:var(--olive-dark);box-shadow:0 1px 0 var(--olive-dark)}.enquiry-form input::placeholder,.enquiry-form textarea::placeholder{color:#a0a49a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-submit{width:100%}.form-note{font-size:9px;line-height:1.6;color:#73796f;margin:-5px 0 0}.form-status{font-size:11px;color:var(--olive-dark);margin:0}
.site-footer{padding:50px var(--gutter) 22px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:45px;border-bottom:1px solid var(--line)}.brand-footer .brand-name{font-size:18px}.footer-top>p{font:clamp(18px,2vw,27px) var(--serif);line-height:1.3;color:rgba(246,243,236,.75);margin:0}.back-top{font-size:9px;color:var(--brass)}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:35px;padding:38px 0 45px}.footer-label{display:block;color:var(--brass);margin-bottom:16px;font-size:9px}.footer-grid p,.footer-grid a{font-size:11px;line-height:1.9;color:rgba(246,243,236,.7)}.footer-grid p{margin:0 0 8px}.footer-grid a:hover{color:var(--brass)}.small-note{font-size:9px!important;color:rgba(246,243,236,.4)!important}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:18px;border-top:1px solid var(--line);font-size:8px;color:rgba(246,243,236,.45);letter-spacing:.06em}.footer-bottom b{color:var(--brass);font-size:14px}.footer-bottom a:hover{color:var(--brass)}.mobile-whatsapp{display:none}.privacy-toast{display:none;position:fixed;z-index:90;right:22px;bottom:22px;width:min(350px,calc(100vw - 44px));background:var(--paper);color:var(--ink);padding:23px;box-shadow:0 20px 70px #0003}.privacy-toast.open{display:block;animation:toastIn .3s var(--ease)}.privacy-toast strong{font-size:14px}.privacy-toast p{font-size:12px;line-height:1.7;color:#666c63}.privacy-close{position:absolute;right:12px;top:8px;border:0;background:none;font-size:23px;cursor:pointer}@keyframes toastIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .9s var(--ease)}.reveal.is-visible{opacity:1;transform:translateY(0)}.service-row.reveal{transform:translateY(20px)}.service-row.reveal.is-visible{transform:translateY(0)}
@media (hover:hover) and (pointer:fine){body.custom-cursor,body.custom-cursor a,body.custom-cursor button{cursor:none}.cursor-core{display:block;position:fixed;z-index:120;left:0;top:0;width:5px;height:5px;background:var(--brass);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%)}.cursor-ring{display:flex;position:fixed;z-index:119;left:0;top:0;width:36px;height:36px;border:1px solid rgba(199,180,139,.8);border-radius:50%;align-items:center;justify-content:center;pointer-events:none;transform:translate(-50%,-50%);transition:width .3s var(--ease),height .3s var(--ease),background .3s,border-color .3s;backdrop-filter:blur(2px)}.cursor-ring span{font:6px var(--mono);letter-spacing:.05em;opacity:0;transition:opacity .2s}.cursor-ring.active{width:82px;height:82px;background:rgba(199,180,139,.13);border-color:var(--brass)}.cursor-ring.active span{opacity:1}.cursor-ring.pressed{width:27px;height:27px;background:rgba(199,180,139,.3)}}
@media(max-width:900px){.desktop-nav{gap:20px;margin-right:24px}.desktop-nav a{font-size:10px}.header-cta{padding:12px;font-size:10px}.hero-title{font-size:clamp(64px,10vw,105px)}.hero-side-note{right:24px}.service-bg{right:7%;width:120px;height:90px}.about-grid{gap:45px}.footer-grid{grid-template-columns:1fr 1fr}.contact-layout{grid-template-columns:1fr .95fr;gap:35px}}
@media(max-width:680px){html{scroll-padding-top:72px}.site-header{height:72px;padding:0 21px}.brand{gap:9px}.brand-symbol{transform:scale(.88) rotate(-18deg);margin-left:-2px}.brand-name{font-size:14px}.brand-name small{font-size:7px}.desktop-nav,.header-cta{display:none}.menu-toggle{display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;width:44px;height:44px;margin-right:-8px}.menu-toggle span{display:block;width:23px;height:1px;background:var(--paper);transition:transform .3s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-menu{position:fixed;display:flex;visibility:hidden;opacity:0;pointer-events:none;inset:0;z-index:45;background:var(--forest);color:var(--paper);padding:105px 24px 32px;flex-direction:column;transition:opacity .35s,visibility .35s;transform:translateY(-8px)}.mobile-menu.open{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}.mobile-menu>a{display:flex;justify-content:space-between;align-items:center;padding:19px 0;border-bottom:1px solid var(--line);font-size:clamp(25px,7vw,37px);letter-spacing:-.06em}.mobile-menu>a span{font:10px var(--mono);color:var(--brass);letter-spacing:.08em}.mobile-menu p{margin-top:auto;font:9px var(--mono);letter-spacing:.12em;color:var(--brass)}.hero{min-height:820px;min-height:100svh;padding:135px 22px 74px;align-items:center}.hero-image{height:100%;object-position:58% center;transform:none!important}.hero-image-shade{background:linear-gradient(90deg,rgba(15,25,20,.76),rgba(15,25,20,.25)),linear-gradient(0deg,rgba(15,25,20,.62),transparent 60%)}.hero-grid{background-size:55px 55px;opacity:.1}.hero-kicker{top:99px;left:22px;font-size:8px}.hero-content{margin-top:0}.eyebrow{font-size:9px;margin-bottom:20px}.hero-title{font-size:clamp(56px,13.3vw,88px);line-height:.96;letter-spacing:-.075em}.hero-bottom{margin-top:30px;align-items:flex-end;gap:18px}.hero-bottom>p{font-size:12px;line-height:1.75;max-width:245px}.circle-link{width:72px;height:72px}.circle-link span{font-size:20px}.circle-link small{font-size:6px}.hero-side-note{display:none}.hero-index{right:22px;bottom:22px;font-size:8px}.hero-index i{width:35px}.section-label{font-size:8px;padding-bottom:15px}.section-label span:last-child{text-align:right}.manifesto{padding:75px 22px 85px}.manifesto-layout{display:block;padding-top:46px}.vertical-note{writing-mode:initial;transform:none;margin:0 0 25px;font-size:8px}.display-heading{font-size:clamp(42px,11.3vw,65px);line-height:1.04;letter-spacing:-.075em}.manifesto-foot{grid-template-columns:35px 1fr;gap:15px;margin-top:36px;padding-top:18px}.manifesto-foot p{font-size:12px}.manifesto-foot .text-link{grid-column:2;margin-top:5px}.manifesto-stamp{right:7%;bottom:2%;font-size:8px;opacity:.6}.manifesto-stamp span{font-size:26px}
.expertise{padding:75px 22px 85px}.section-intro,.approach-heading,.concepts-head{display:block;padding:45px 0 30px}.section-intro .display-heading,.approach-heading .display-heading,.concepts-head .display-heading{font-size:clamp(54px,13vw,78px)}.section-intro>p,.approach-heading>p,.concepts-head>p{margin-top:20px;font-size:12px;max-width:350px}.service-row{grid-template-columns:30px 1fr 23px;gap:10px;padding:22px 0}.service-row:hover{padding-left:0;padding-right:0}.service-row h3{font-size:clamp(20px,5.8vw,28px);line-height:1.15;margin-bottom:8px}.service-row p{font-size:11px;line-height:1.65;max-width:95%}.service-number{font-size:8px;padding-top:5px}.service-arrow{font-size:20px}.service-bg{display:none}
.statement{min-height:600px;padding:85px 22px;justify-content:center}.statement-heading{font-size:clamp(66px,15vw,105px);margin:22px 0}.statement-copy{font-size:12px;max-width:320px}.statement-orbit{width:85vw;height:85vw;right:-27%;top:53%;opacity:.7}.button{min-height:50px}.statement .button{margin-top:8px}
.approach{padding:75px 22px 90px}.approach-heading{padding-bottom:40px}.timeline{margin-left:0}.timeline-line{left:16px}.timeline-step{grid-template-columns:34px 1fr 20px;gap:15px;padding:22px 0 27px}.step-num{width:33px;height:33px;font-size:8px}.step-label{font-size:8px}.timeline-step h3{font-size:30px;margin:5px 0}.timeline-step p{font-size:11px;line-height:1.75}.step-icon{font-size:17px}
.concepts{padding:75px 22px 65px}.concepts-head{padding-bottom:32px}.concept-grid{grid-template-columns:1fr;gap:34px}.concept-card:nth-child(2),.concept-card:nth-child(3){grid-column:auto;margin-top:0}.concept-image,.concept-card-large .concept-image{aspect-ratio:1.05}.concept-card:nth-child(2) .concept-image,.concept-card:nth-child(3) .concept-image{aspect-ratio:1.15}.concept-caption{padding-top:13px}.concept-caption h3{font-size:20px}.concept-disclaimer{margin-top:45px;align-items:flex-start;font-size:8px}
.about{padding:75px 22px 85px}.about-grid{grid-template-columns:1fr;gap:38px;padding-top:38px}.about-visual{max-width:none;margin-right:20px}.about-visual>img{aspect-ratio:.98}.about-visual-tag{left:12px;right:-20px;bottom:12px;padding:12px;font-size:8px}.about-copy .display-heading{font-size:clamp(47px,12vw,68px)}.body-copy{font-size:12px}.about-copy .text-link{white-space:normal}
.contact{padding:75px 22px 80px}.contact-layout{grid-template-columns:1fr;gap:42px;padding-top:40px}.contact-heading .display-heading{font-size:clamp(55px,13vw,82px)}.contact-heading>p:not(.eyebrow){font-size:12px}.enquiry-form{padding:22px 18px;gap:18px}.form-row{gap:13px}.form-row label{min-width:0}.form-row input{font-size:11px}.form-note{font-size:8px}.contact-decoration{font-size:100vw;top:3%;right:-25%}
.site-footer{padding:35px 22px 22px}.footer-top{flex-wrap:wrap;gap:22px;padding-bottom:30px}.footer-top>p{font-size:20px;margin-left:auto}.back-top{width:100%;text-align:right}.footer-grid{grid-template-columns:1fr 1fr;gap:28px 18px;padding:30px 0}.footer-grid p,.footer-grid a{font-size:10px}.footer-bottom{display:grid;grid-template-columns:1fr auto;gap:13px;font-size:7px;line-height:1.7}.footer-bottom span:nth-child(2){text-align:right}.footer-bottom a{grid-column:1/-1}.mobile-whatsapp{position:fixed;z-index:40;right:17px;bottom:calc(17px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:8px;background:var(--brass);color:var(--forest);padding:13px 15px;border-radius:2px;box-shadow:0 8px 25px rgba(0,0,0,.18)}.mobile-whatsapp span{font-size:17px}.mobile-whatsapp small{font:9px var(--mono);letter-spacing:.1em}.privacy-toast{right:12px;bottom:78px;width:calc(100vw - 24px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.title-line>span{transform:none;animation:none}.statement-orbit{animation:none}}

/* Enhanced mobile interactions — same original visual direction */
@media(max-width:680px){
  .hero-content{animation:mobileHeroIn .95s var(--ease) both}
  .hero-kicker{animation:mobileFadeIn .7s .2s both}
  .hero-title .title-line>span{animation:mobileTitleRise .85s var(--ease) both;animation-delay:calc(var(--line-index,0)*.12s)}
  .hero-bottom{animation:mobileFadeIn .8s .4s both}
  .circle-link{transition:transform .35s var(--ease),background .35s,color .35s}
  .circle-link:active{transform:scale(.92);background:var(--brass);color:var(--forest)}
  .button,.header-cta,.mobile-whatsapp{transition:transform .22s var(--ease),box-shadow .22s,background .22s}
  .button:active,.mobile-whatsapp:active{transform:scale(.97);box-shadow:0 2px 10px #0002}
  .service-row{transition:padding .35s var(--ease),background .35s,border-color .35s;touch-action:manipulation}
  .service-row:active{background:rgba(199,180,139,.12);padding-left:8px;padding-right:8px}
  .service-row:active .service-arrow{transform:translate(3px,-3px);color:var(--brass)}
  .service-arrow{transition:transform .3s var(--ease),color .3s}
  .concept-card{transition:transform .35s var(--ease)}
  .concept-card:active{transform:scale(.985)}
  .concept-image img{transition:transform .8s var(--ease),filter .5s}
  .concept-card:active .concept-image img{transform:scale(1.035);filter:brightness(.88)}
  .timeline-step .step-num{transition:background .3s,color .3s,transform .3s}
  .timeline-step:active .step-num{background:var(--brass);color:var(--forest);transform:scale(1.08)}
  .enquiry-form input:focus,.enquiry-form textarea:focus,.enquiry-form select:focus{outline:1px solid var(--brass);outline-offset:2px;transition:outline-offset .2s}
  .mobile-whatsapp{animation:floatCTA 3.8s ease-in-out infinite}
  .mobile-menu>a{transition:padding-left .25s var(--ease),color .25s}
  .mobile-menu>a:active{padding-left:9px;color:var(--brass)}
  .reveal{transform:translateY(24px) scale(.99);transition:opacity .7s var(--ease),transform .8s var(--ease)}
  .reveal.is-visible{transform:translateY(0) scale(1)}
}
@keyframes mobileHeroIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes mobileFadeIn{from{opacity:0}to{opacity:1}}
@keyframes mobileTitleRise{from{opacity:0;transform:translateY(110%)}to{opacity:1;transform:translateY(0)}}
@keyframes floatCTA{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.mobile-whatsapp{animation:none!important}}

/* Refined utility actions: consistent architectural linework, no emoji icons. */
.footer-action{display:inline-flex;align-items:center;gap:9px;min-height:32px;border-bottom:1px solid rgba(198,169,111,.35);padding:5px 0;color:var(--brass)!important;transition:color .25s,border-color .25s,transform .25s}
.footer-action svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex:none}
.footer-action b{font-weight:400;margin-left:3px;transition:transform .25s}
.footer-action:hover{color:var(--paper)!important;border-color:var(--brass);transform:translateX(2px)}
.footer-action:hover b{transform:translate(2px,-2px)}
.mobile-whatsapp{gap:11px;min-height:48px;padding:0 17px;border:1px solid rgba(23,35,30,.18);box-shadow:0 10px 28px rgba(8,17,12,.2);transition:transform .25s var(--ease),box-shadow .25s,background .25s}
.mobile-whatsapp .whatsapp-icon{width:21px;height:21px;display:grid;place-items:center}
.mobile-whatsapp .whatsapp-icon svg{display:block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.mobile-whatsapp small{font:500 9px var(--mono);letter-spacing:.13em}
.mobile-whatsapp .cta-arrow{font-size:14px;line-height:1;margin-left:3px;transition:transform .25s}
.mobile-whatsapp:hover .cta-arrow{transform:translate(2px,-2px)}
.mobile-whatsapp:before{content:"";position:absolute;inset:4px;border:1px solid rgba(23,35,30,.13);pointer-events:none}
.disclaimer-mark{font:500 12px var(--serif);letter-spacing:-.05em;color:var(--brass);border:1px solid currentColor;border-radius:50%;width:25px;height:25px;display:inline-grid;place-items:center;flex:none}
@media(max-width:640px){.footer-action{min-height:36px;font-size:11px!important}.mobile-whatsapp{right:15px;bottom:calc(15px + env(safe-area-inset-bottom));min-height:48px}}

/* Refined, consistent diagonal-arrow icon: never rely on emoji-capable Unicode glyphs. */
.arrow-icon{display:block;width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;flex:none}
.service-arrow .arrow-icon{width:20px;height:20px;color:var(--brass);transition:transform .35s var(--ease),color .3s}
.service-row:hover .service-arrow .arrow-icon{transform:translate(3px,-3px);color:var(--forest)}
.cta-arrow .arrow-icon{width:16px;height:16px}
.arrow-holder{display:inline-flex;align-items:center;justify-content:center;font-weight:400}
.arrow-holder .arrow-icon{width:14px;height:14px}
.footer-action .arrow-holder .arrow-icon{color:var(--brass);transition:transform .25s var(--ease)}
.footer-action:hover .arrow-holder .arrow-icon{transform:translate(2px,-2px)}
@media(max-width:640px){.service-arrow .arrow-icon{width:17px;height:17px}.mobile-whatsapp .cta-arrow .arrow-icon{width:15px;height:15px}}
