:root{--ink:#0e1215;--paper:#f3f2f0;--wash:#f6f3ef;--cool:#fafbfd;--accent:#17628c;--gutter:clamp(24px, 6vw, 124px);--serif:"Cormorant Garamond", Georgia, serif;--ease:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:Jost,system-ui,sans-serif}img{max-width:100%;display:block}a{color:var(--accent);text-decoration:none}a:hover{color:var(--ink)}input,textarea,button{font-family:inherit}::placeholder{color:#767c80;opacity:1}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,label:focus-within{outline:2px solid var(--accent);outline-offset:3px}.is-ready .reveal{opacity:0;transition:opacity 1.15s var(--ease), transform 1.15s var(--ease);transform:translateY(20px)}.is-ready .reveal.is-in{opacity:1;transform:none}.d1{transition-delay:.11s}.d2{transition-delay:.22s}.d3{transition-delay:.33s}.eyebrow{letter-spacing:.44em;text-transform:uppercase;color:#5a6164;margin:0 0 22px;font-size:10px;font-weight:300}.eyebrow.on-dark{color:#fbfaf9a8}.h2{letter-spacing:.065em;text-transform:uppercase;margin:0;font-size:clamp(23px,2.7vw,42px);font-weight:200;line-height:1.34}.h2.sm{font-size:clamp(21px,2.4vw,36px);line-height:1.36}.serif{font-family:var(--serif);font-weight:300}.body{letter-spacing:.005em;color:#4a5154;font-size:clamp(15px,1.08vw,16.5px);font-weight:300;line-height:2}.rule{background:var(--accent);width:56px;height:1px;margin:clamp(30px,2.8vw,44px) 0}.rule.on-dark{background:#fbfaf957}.media{background:linear-gradient(135deg,#1b2125,#0e1215);position:relative;overflow:hidden}.media.light{background:linear-gradient(135deg,#e7e4df,#f6f3ef)}.media img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.head{z-index:40;padding:clamp(18px, 1.7vw, 26px) var(--gutter);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;transition:background-color .7s,border-color .7s,color .7s;display:flex;position:sticky;top:0}.head a,.head button{color:inherit}.head.top{background:var(--ink);color:#f7f6f4;border-bottom:1px solid #0000}.head.on{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:var(--ink);background:#f3f2f0f0;border-bottom:1px solid #0e12151a}.head.top .logo-dark,.head.on .logo-light{display:none}.logo{line-height:0;display:block}.logo img{width:auto;height:clamp(30px,2.6vw,40px)}.logo-text{letter-spacing:.36em;text-transform:uppercase;font-size:13px;font-weight:300;line-height:1}.btn{letter-spacing:.28em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid;border-radius:0;justify-content:center;align-items:center;gap:12px;min-height:44px;padding:13px 23px;font-size:10.5px;font-weight:400;transition:background-color .6s,color .6s,border-color .6s;display:inline-flex}.head.top .btn{border-color:#ffffff57}.head.on .btn{border-color:#0e12152e}.head.top .btn:hover{color:var(--ink);background:#f7f6f4;border-color:#f7f6f4}.head.on .btn:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn-ghost{color:#fbfaf9;letter-spacing:.3em;border-color:#f7f6f46b;min-height:52px;padding:17px 36px}.btn-ghost:hover{color:var(--ink);background:#f7f6f4;border-color:#f7f6f4}.btn-ink{background:var(--ink);color:#fbfaf9;border-color:var(--ink);letter-spacing:.3em;min-height:56px;padding:19px 42px}.btn-ink:hover{background:var(--accent);border-color:var(--accent);color:#fbfaf9}.plate{aspect-ratio:1440/780;background:var(--ink);width:100%;min-height:560px;position:relative;overflow:hidden}.plate-fill{width:100%;height:100%;position:absolute;inset:0}.plate-body{flex-direction:column;height:100%;display:flex;position:relative}.hero-img{animation:hero 3.2s var(--ease) both}@keyframes hero{0%{transform:scale(1.08)}to{transform:scale(1)}}.slow-zoom img{animation:22s ease-in-out infinite alternate both zoom}@keyframes zoom{0%{transform:scale(1)}to{transform:scale(1.05)}}.hero-copy{padding:120px var(--gutter) clamp(84px, 7vw, 120px);justify-content:center}.hero-inner{color:#fbfaf9;max-width:640px}.hero-inner h1{letter-spacing:.07em;text-transform:uppercase;margin:0;font-size:clamp(27px,3.6vw,54px);font-weight:200;line-height:1.32}.philosophy{background:var(--wash)}.philosophy .media{width:56%;height:100%;position:absolute;top:0;right:0}.philosophy .fade{background:linear-gradient(90deg,#f6f3ef 0% 30%,#f6f3ef99 42%,#f6f3ef00 54%);position:absolute;inset:0}.philosophy .plate-body{padding:clamp(60px, 6vw, 110px) var(--gutter);justify-content:center}.philosophy .col{max-width:min(420px,38%)}.split{padding:clamp(44px, 4.4vw, 76px) var(--gutter);aspect-ratio:1440/780;align-items:center;min-height:560px;display:flex}.split-inner{flex-wrap:wrap;align-items:center;gap:clamp(32px,4.5vw,88px);width:100%;max-width:1400px;margin:0 auto;display:flex}.bio{background:var(--cool)}.stat{border-top:1px solid #0e12151c;flex-wrap:wrap;align-items:baseline;gap:clamp(16px,2vw,30px);margin-top:clamp(30px,2.8vw,44px);padding-top:clamp(26px,2.4vw,36px);display:flex}.stat b{font-family:var(--serif);color:var(--accent);font-size:clamp(46px,5vw,80px);font-weight:300;line-height:.95}.stat span{color:#4a5154;flex:220px;font-size:clamp(13px,1vw,15px);font-weight:300;line-height:1.75}.twin-label{padding:0 var(--gutter) clamp(38px, 3.8vw, 66px);justify-content:flex-end}.shade-bottom{pointer-events:none;position:absolute;bottom:0;left:0;right:0}.pillars{background:var(--paper);padding:clamp(38px, 3.8vw, 56px) var(--gutter);aspect-ratio:1440/780;align-items:center;min-height:560px;display:flex}.pillars-grid{flex-wrap:wrap;align-items:stretch;gap:clamp(28px,4vw,76px);display:flex}.pillars-grid .media{flex:0 0 clamp(240px,34%,460px);min-height:clamp(330px,35vw,520px)}.pillar-list{flex:320px;min-width:0}.pillar{border-top:1px solid #0e12151c;flex-wrap:wrap;align-items:baseline;gap:clamp(12px,1.6vw,26px);padding:clamp(16px,1.7vw,26px) 0;display:flex}.pillar:last-child{border-bottom:1px solid #0e12151c}.pillar .num{width:42px;font-family:var(--serif);color:var(--accent);opacity:.82;letter-spacing:.04em;font-size:24px;font-weight:300;transition:opacity .6s}.pillar:hover .num{opacity:1}.pillar h3{letter-spacing:.24em;text-transform:uppercase;flex:190px;margin:0;font-size:12px;font-weight:500;line-height:1.6}.pillar p{font-family:var(--serif);color:#3c4348;flex:1.7 280px;margin:0;font-size:clamp(18px,1.4vw,22px);font-weight:300;line-height:1.56}.dark-split{background:var(--ink);color:#fbfaf9;aspect-ratio:1440/780;flex-wrap:wrap;align-items:stretch;min-height:560px;display:flex;overflow:hidden}.dark-split.short{aspect-ratio:1440/600;min-height:460px}.dark-split .copy{flex-direction:column;flex:440px;justify-content:center;min-width:0;padding:clamp(56px,5.6vw,110px) clamp(24px,5.5vw,112px);display:flex}.dark-split .media{flex:400px;min-width:0;min-height:clamp(340px,34vw,560px)}.caption{position:absolute;bottom:clamp(24px,2.6vw,46px);left:clamp(22px,2.6vw,46px);right:clamp(22px,2.6vw,46px)}.caption .name{font-family:var(--serif);margin:0;font-size:clamp(20px,1.6vw,25px);font-weight:400}.caption .role{letter-spacing:.3em;text-transform:uppercase;color:#fbfaf9c7;margin:8px 0 0;font-size:10px;font-weight:300}.enquiry{background:var(--wash);aspect-ratio:1440/600;min-height:460px;padding:clamp(40px, 4vw, 72px) var(--gutter);align-items:center;display:flex}.enquiry-inner{text-align:center;width:100%;max-width:780px;margin:0 auto}.quote{max-width:520px;font-family:var(--serif);color:#fbfaf9e6;margin:0;font-size:clamp(19px,1.7vw,26px);font-style:italic;font-weight:300;line-height:1.62}.foot{background:var(--ink);color:#fbfaf9;padding:clamp(50px, 4.4vw, 72px) var(--gutter);border-top:1px solid #fbfaf91a}.foot-inner{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:clamp(24px,3vw,48px);max-width:1400px;margin:0 auto;display:flex}.foot a{color:#fbfaf9e6;letter-spacing:.05em;font-size:13px;font-weight:300}.foot a.small{letter-spacing:.26em;text-transform:uppercase;color:#fbfaf99e;font-size:10px}.foot a:hover{color:#fff}.foot-links{flex-wrap:wrap;align-items:baseline;gap:clamp(18px,2.4vw,40px);display:flex}.scrim{z-index:90;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a0d0fa3;justify-content:center;align-items:center;padding:clamp(16px,3vw,48px);animation:.5s both fade;display:flex;position:fixed;inset:0}.panel{background:var(--wash);width:100%;max-width:560px;max-height:92vh;animation:rise .75s var(--ease) both;padding:clamp(34px,4vw,62px);position:relative;overflow-y:auto}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.close{color:#51585c;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex;position:absolute;top:14px;right:14px}.seg-row{flex-wrap:wrap;gap:10px;margin-bottom:32px;display:flex}.seg{letter-spacing:.22em;text-transform:uppercase;color:#51585c;cursor:pointer;border:1px solid #0e12152e;align-items:center;min-height:44px;padding:12px 20px;font-size:10px;font-weight:400;transition:background-color .4s,color .4s,border-color .4s;display:inline-flex;position:relative}.seg:hover{color:var(--ink);border-color:#0e12156b}.seg.is-on{background:var(--ink);color:#fbfaf9;border-color:var(--ink)}.seg input{opacity:0;width:1px;height:1px;position:absolute}.fields{flex-direction:column;gap:26px;display:flex}.fields label{letter-spacing:.26em;text-transform:uppercase;color:#5a6164;margin-bottom:7px;font-size:10px;font-weight:400;display:block}.fields label i{letter-spacing:.08em;text-transform:none;color:#767c80;font-style:normal}.field{width:100%;color:var(--ink);background:0 0;border:0;border-bottom:1px solid #0e121533;border-radius:0;padding:12px 2px;font-size:16px;font-weight:300;transition:border-color .4s}.field:focus{border-bottom-color:var(--accent)}@media (width<=760px){:root{--gutter:22px}.head{flex-wrap:nowrap;gap:12px;padding:17px 22px}.logo img{height:30px}.head .btn{letter-spacing:.2em;gap:7px;padding:12px 14px;font-size:9px}.eyebrow{letter-spacing:.42em;margin-bottom:16px;font-size:9px}.h2,.h2.sm{letter-spacing:.05em;font-size:23px}.h2.sm{font-size:21px}.body{font-size:15px;line-height:1.9}.rule{width:48px;margin:24px 0}.plate,.split,.pillars,.dark-split,.dark-split.short,.enquiry{aspect-ratio:auto;min-height:0}.plate{height:690px}.hero-copy{justify-content:flex-end;padding:0 22px 56px}.hero-inner h1{letter-spacing:.05em;font-size:26px;line-height:1.34}.hero-inner .btn-ghost{width:100%}.philosophy{height:760px}.philosophy .media{width:100%}.philosophy .fade{background:linear-gradient(#f6f3ef00 28%,#f6f3ef1f 36%,#f6f3ef94 46%,#f6f3efed 56%,#f6f3eff5 100%)}.philosophy .plate-body{justify-content:flex-end;padding:0 22px 60px}.philosophy .col{max-width:none}.split{padding:62px 22px 40px}.stat b{font-size:50px}.stat span{flex:auto;font-size:13px}.plate.twin{height:300px}.plate.experience{height:430px}.experience .plate-body{justify-content:flex-end;padding:0 22px 40px}.pillars{padding:62px 0 76px;display:block}.pillars .head-block{margin-bottom:38px;padding:0 22px}.pillars-grid{display:block}.pillars-grid .media{width:300px;height:410px;min-height:0;margin-bottom:44px}.pillar-list{padding:0 22px}.pillar{border-color:#0e121524;padding:24px 0;display:block}.pillar .num{width:auto;margin-right:14px;font-size:21px;display:inline-block}.pillar h3{letter-spacing:.2em;font-size:11.5px;display:inline}.pillar p{margin:12px 0 0 35px;font-size:19px;line-height:1.5}.dark-split{padding-top:68px;display:block}.dark-split.short{padding-top:0}.dark-split .copy{padding:0 22px 44px}.dark-split .media{height:460px;min-height:0}.dark-split.short .media{height:400px}.dark-split.short .copy{padding:46px 22px 60px}.enquiry{padding:76px 22px 84px}.enquiry .btn-ink{letter-spacing:.22em;width:100%;padding:18px 20px;font-size:10px}.quote{font-size:20px}.scrim{background:var(--wash);-webkit-backdrop-filter:none;backdrop-filter:none;padding:0;display:block;overflow-y:auto}.panel{max-width:none;min-height:100%;max-height:none;padding:26px 22px 48px}.seg{letter-spacing:.18em;flex:140px;justify-content:center;padding:12px 10px;font-size:9.5px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.is-ready .reveal{opacity:1!important;transform:none!important}}
