@font-face{font-family:Cormorant;src:url('assets/cormorant-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Cormorant;src:url('assets/cormorant-italic.ttf') format('truetype');font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-medium.ttf') format('truetype');font-style:normal;font-weight:500 600;font-display:swap}
:root{--ink:#191a18;--charcoal:#232520;--cream:#f2eee5;--paper:#f8f5ee;--gold:#c5a879;--gold-dark:#84663d;--muted:#68675e;--line:rgba(46,45,38,.2);--gutter:clamp(24px,5.6vw,88px);--serif:Cormorant,Georgia,serif;--sans:Manrope,Arial,sans-serif;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--ink);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}body:has(.mobile-menu:not([hidden])){overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait}img{display:block;max-width:100%}button{color:inherit}::selection{background:#bca172;color:#171914}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h1,h2,h3{font-family:var(--serif)}em{font-weight:400}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold-dark);outline-offset:8px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:0;border-bottom-color:var(--gold-dark);box-shadow:0 1px var(--gold-dark)}[hidden]{display:none!important}.skip-link{position:fixed;z-index:50;top:-80px;left:20px;background:var(--cream);padding:10px 20px}.skip-link:focus{top:10px}.eyebrow{font-family:var(--sans);font-size:10px;font-weight:500;letter-spacing:.18em;line-height:1.7;text-transform:uppercase}.small-rule{display:inline-block;width:30px;height:1px;background:var(--gold);margin-right:17px;vertical-align:middle}.gold-rule{display:block;width:46px;height:1px;background:var(--gold);margin:32px auto 0}.brand{display:inline-flex;align-items:center;gap:14px;color:var(--gold)}.brand span{font-size:19px;font-weight:500;letter-spacing:.34em;line-height:1;padding-top:2px}.brand img{flex-shrink:0}.site-header{position:absolute;left:0;right:0;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;height:108px;margin:0 var(--gutter);border-bottom:1px solid rgba(212,197,164,.17);color:var(--cream)}.site-header nav{display:flex;gap:37px;align-items:center;font-size:11px;letter-spacing:.025em}.site-header nav>a{position:relative;padding:8px 0}.site-header nav>a:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}.site-header nav>a:hover:after{transform:scaleX(1)}.nav-contact{margin-left:14px;color:var(--gold)}.nav-contact span{margin-left:22px;font-size:18px}.menu-toggle{display:none}.mobile-menu{display:none}
.hero{min-height:800px;height:min(920px,100svh);max-height:1100px;position:relative;overflow:hidden;color:var(--cream);isolation:isolate;background:#191a18}.hero:after,.interlude:after,.section-light:after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.055;background:url('assets/grain.svg');z-index:2;mix-blend-mode:soft-light}.hero-art{position:absolute;inset:0 0 0 13%;z-index:-3;overflow:hidden}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:62% 50%;animation:art-enter 2.3s var(--ease) both;will-change:transform}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#191a18 0%,rgba(25,26,24,.96) 13%,rgba(25,26,24,.68) 31%,rgba(25,26,24,0) 62%),linear-gradient(0deg,#191a18 0%,transparent 21%,transparent 75%,rgba(25,26,24,.65) 100%)}.hero-content{position:relative;padding:224px var(--gutter) 130px;width:70%;z-index:3}.hero-eyebrow{color:#d2c4a7;margin-bottom:31px;animation:enter .9s .1s var(--ease) both}.hero h1{font-size:clamp(66px,6.7vw,108px);line-height:1.015;letter-spacing:-.037em;white-space:nowrap;animation:enter 1.2s .2s var(--ease) both}.hero h1 em{color:#d3b889}.hero-description{font-size:13px;line-height:1.9;color:#c3c1b7;margin-top:33px;animation:enter 1.2s .35s var(--ease) both}.text-link{display:inline-flex;align-items:center;gap:45px;padding:13px 0 11px;border-bottom:1px solid rgba(196,169,119,.65);font-size:11px;letter-spacing:.035em;transition:gap .4s var(--ease),color .3s}.text-link .arrow{font-size:20px;font-weight:400;line-height:1;transition:transform .4s var(--ease)}.text-link:hover .arrow{transform:translate(3px,-3px)}.hero-cta{color:#e5d4b3;margin-top:29px;animation:enter 1.2s .5s var(--ease) both}.hero-footer{position:absolute;bottom:31px;left:var(--gutter);right:var(--gutter);display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(212,197,164,.2);padding-top:21px;color:#acaea3;font-size:10px;letter-spacing:.04em}.hero-footer a{color:#ccc8bc;display:flex;gap:31px;align-items:center}.hero-footer a span{font-size:19px;color:var(--gold)}.hero-side-note{position:absolute;right:29px;top:42%;writing-mode:vertical-rl;color:#b2aa98;font-size:8px;letter-spacing:.22em}.dot-field{position:absolute;width:100%;height:100%;inset:0;pointer-events:none;z-index:-1}.hero .dot-field{opacity:.6;mix-blend-mode:screen}.section-light{background:var(--cream);position:relative;isolation:isolate}.section-light:after{opacity:.12;mix-blend-mode:multiply}.section-light>*{position:relative;z-index:3}.philosophy{padding:79px var(--gutter) 0;overflow:hidden}.section-meta{display:flex;align-items:center;justify-content:space-between}.section-meta .eyebrow{color:var(--gold-dark)}.mini-mark{font-family:var(--serif);font-style:italic;color:var(--gold-dark);font-size:26px;line-height:1}.philosophy-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:10%;padding:55px 0 70px}.philosophy h2,.contact h2{font-size:clamp(44px,4.6vw,72px);line-height:1.07;letter-spacing:-.03em}.philosophy h2 em,.expertise h2 em,.contact h2 em{color:var(--gold-dark)}.philosophy-copy{max-width:430px;padding-top:5px}.philosophy-copy .lead{font-family:var(--serif);font-size:29px;line-height:1.25;color:var(--ink);margin-bottom:24px}.philosophy-copy p:not(.lead){font-size:13px;line-height:1.9;color:#65645a;margin-top:16px}.dark-link{color:#4b493e;border-color:#a28b62}.philosophy-copy .text-link{margin-top:20px}.principles{display:flex;justify-content:space-between;gap:25px;padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.025em;color:#757268}.principles span{display:flex;align-items:center;gap:11px}.principles span:before{content:'';width:3px;height:3px;border-radius:50%;background:#a48c5b}.philosophy>.dot-field{z-index:0;opacity:.45;width:48%;height:60%;top:35%;left:-9%;transform:rotate(-14deg)}
.expertise{padding:94px var(--gutter) 73px}.expertise-heading{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:start;gap:5%;padding-bottom:49px}.expertise-heading .eyebrow{color:var(--gold-dark);padding-top:10px}.expertise-heading h2{font-size:clamp(39px,3.8vw,60px);line-height:1.08;letter-spacing:-.026em}.expertise-heading>p:last-child{font-size:11px;color:var(--muted);align-self:end;margin-bottom:4px;line-height:1.9}.services{border-top:1px solid var(--line)}.service{border-bottom:1px solid var(--line)}.service summary{display:grid;grid-template-columns:8% 44% 1fr 25px;align-items:center;gap:15px;padding:30px 0;list-style:none;cursor:pointer}.service summary::-webkit-details-marker{display:none}.service-number{font-size:11px;color:var(--gold-dark);font-variant-numeric:tabular-nums}.service h3{font-size:clamp(34px,3.4vw,50px);line-height:1.1;letter-spacing:-.02em;transition:color .3s}.service-short{font-size:12px;color:#68665d}.service-toggle{width:23px;height:23px;position:relative;color:var(--gold-dark)}.service-toggle:before,.service-toggle:after{content:'';position:absolute;top:11px;left:5px;width:13px;height:1px;background:currentColor;transition:transform .3s}.service-toggle:after{transform:rotate(90deg)}.service[open] .service-toggle:after{transform:rotate(0)}.service summary:hover h3,.service[open] h3{color:var(--gold-dark)}.service-body{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:0 3% 32px 8.95%;margin-left:15px;animation:detail-enter .45s var(--ease)}.service-body p{font-size:13px;line-height:1.85;color:#68665d;max-width:440px}.service-body ul{margin:0;padding:0;list-style:none;font-size:11px;line-height:2.25;color:#656154}.service-body li:before{content:'—';margin-right:14px;color:#a28652}.expertise-footnote{font-size:10px;color:var(--muted);margin-top:27px;text-align:right;letter-spacing:.025em}
.interlude{position:relative;isolation:isolate;overflow:hidden;background:var(--ink);padding:90px var(--gutter) 86px;color:var(--cream)}.interlude-art{position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,rgba(25,26,24,.95),rgba(25,26,24,.8) 46%,rgba(25,26,24,.67)),url('assets/abstract-hero-flat.png') 80% 57% / cover;opacity:.75}.interlude-content{text-align:center;position:relative;z-index:3}.interlude .eyebrow{color:var(--gold);font-size:9px;margin-bottom:25px}.interlude h2{font-size:clamp(42px,5.2vw,80px);line-height:1.06;letter-spacing:-.025em}.interlude h2 em{color:#c7b38f}.interlude p:not(.eyebrow){font-size:12px;color:#b7b6aa;margin-top:24px}.interlude>.dot-field{opacity:.6;z-index:-1}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding:105px var(--gutter) 100px;background:var(--paper)}.contact-intro .eyebrow{color:var(--gold-dark);margin-bottom:31px}.contact-intro>p:not(.eyebrow){font-size:13px;color:var(--muted);max-width:320px;margin-top:26px;line-height:1.9}.direct-contact{margin-top:54px}.direct-contact .eyebrow{font-size:9px;display:block;margin-bottom:12px}.direct-contact>a{font-family:var(--serif);font-size:29px;line-height:1.4;display:inline-flex;align-items:center;gap:30px}.direct-contact>a span{font-family:var(--sans);font-size:19px;color:var(--gold-dark);transition:transform .3s}.direct-contact>a:hover span{transform:translate(3px,-3px)}.enquiry-form{padding-top:6px;max-width:600px;width:100%}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:28px}.field{margin-bottom:25px}.field label{display:block;font-size:11px;color:#46473e;margin-bottom:7px}.field label>span:not(.optional){color:var(--gold-dark)}.optional{font-size:9px;color:#79766a;margin-left:7px}.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid #b9b4a6;border-radius:0;background:transparent;color:var(--ink);font-size:12px;line-height:1.7;padding:10px 0 13px;transition:border-color .2s,box-shadow .2s}.field input{min-height:46px}.field input::placeholder,.field textarea::placeholder{color:#767569;opacity:1}.field select{appearance:none;padding-right:22px;min-height:46px;color:#656458}.select-field{position:relative}.select-field:after{content:'';position:absolute;right:4px;bottom:22px;width:6px;height:6px;border:solid #827657;border-width:0 1px 1px 0;transform:rotate(45deg);pointer-events:none}.field select:has(option:checked:not([value=""])){color:var(--ink)}.field textarea{resize:vertical;min-height:104px;max-height:350px}.field-error{display:block;font-size:11px;color:#99442f;line-height:1.5;margin-top:5px}.field-error:empty{display:none}.field [aria-invalid="true"]{border-color:#99442f}.form-note{font-size:10px;color:#77746a;max-width:390px;line-height:1.7;margin-top:-6px}.form-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:25px}.submit-button{min-height:52px;display:flex;justify-content:space-between;align-items:center;gap:35px;padding:14px 23px;border:1px solid var(--ink);background:var(--ink);color:var(--cream);font-size:11px;transition:background .3s,color .3s}.submit-button span{font-size:20px;color:var(--gold);line-height:1}.submit-button:hover{background:#34362e}.required-note{font-size:9px;color:#787368;white-space:nowrap}.preview-note{font-size:10px;color:#757065;line-height:1.7;margin-top:19px}.form-status{font-size:12px;line-height:1.75;color:#695333}.form-status:not(:empty){padding:15px 18px;margin-top:20px;background:#eee7d7;border-left:2px solid #9f8050}.form-status a{text-decoration:underline;text-underline-offset:3px}.site-footer{padding:36px var(--gutter);display:flex;align-items:center;gap:40px;justify-content:space-between;color:#b4b1a4;background:var(--ink);font-size:9px}.site-footer .brand span{font-size:15px}.site-footer .brand{gap:11px}.site-footer>p{font-family:var(--serif);font-size:18px;font-style:italic;color:#c3b89e;margin-right:auto;margin-left:20px}.site-footer>div{display:flex;gap:30px;align-items:center}.privacy-trigger{border:0;background:transparent;padding:10px 0;font-size:9px}.site-footer>div>a{font-size:21px;color:var(--gold);padding:8px}.privacy-trigger:hover{color:var(--cream)}dialog{max-width:570px;width:calc(100% - 32px);max-height:85svh;padding:35px 40px 40px;border:0;background:var(--cream);color:var(--ink)}dialog::backdrop{background:rgba(12,14,11,.75);backdrop-filter:blur(7px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;color:var(--gold-dark)}.dialog-close{font-size:28px;background:none;border:0;min-width:44px;min-height:44px;line-height:1}dialog h2{font-size:42px;line-height:1.1;margin-bottom:25px}dialog>p{font-size:13px;line-height:1.9;color:var(--muted);margin-top:16px}.dialog-done{margin-top:20px;background:none;border:0;border-bottom:1px solid #a28b62}.reveal{transition:opacity 1s var(--ease),transform 1s var(--ease)}.motion-ready .reveal:not(.is-visible){opacity:0;transform:translateY(24px)}.reveal.is-visible{opacity:1;transform:none}
@keyframes enter{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes art-enter{from{opacity:0;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}@keyframes detail-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(min-width:1600px){:root{--gutter:max(88px,calc((100vw - 1440px)/2))}.hero-art{left:21%}.hero-content{padding-top:240px}.hero h1{font-size:112px}}
@media(max-height:820px) and (min-width:1000px){.hero{min-height:740px}.hero-content{padding-top:195px}.hero h1{font-size:clamp(70px,6.7vw,98px)}.hero-eyebrow{margin-bottom:24px}.hero-description{margin-top:24px}}
@media(max-width:1000px){.site-header nav{gap:23px}.nav-contact{margin-left:0}.hero{min-height:760px;height:90svh}.hero-content{padding-top:235px;width:80%}.hero h1{font-size:76px}.hero-art{inset:90px -16% 40px 6%}.hero-shade{background:linear-gradient(90deg,#191a18 0%,rgba(25,26,24,.85) 20%,rgba(25,26,24,.18) 75%),linear-gradient(0deg,#191a18,transparent 25%,transparent 70%,#191a18)}.philosophy-grid{gap:8%}.expertise-heading{grid-template-columns:1fr 2fr}.expertise-heading>p:last-child{grid-column:2}.contact{gap:7%;padding-top:80px;padding-bottom:80px}.form-row{grid-template-columns:1fr;gap:0}.contact h2{font-size:48px}.form-bottom{align-items:start;flex-direction:column;gap:10px}.site-footer{gap:25px}.site-footer>p{margin-left:0}.site-footer>div{gap:20px}.service summary{grid-template-columns:7% 41% 1fr 20px}.service-body{padding-left:8%;gap:8%}}
@media(max-width:700px){html{scroll-padding-top:24px}.site-header{height:86px}.brand span{font-size:17px;letter-spacing:.29em}.brand{gap:12px}.brand img{width:23px;height:31px}.site-header nav{display:none}.menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;background:none;border:0;width:44px;height:44px;position:relative;z-index:25}.menu-toggle span{width:23px;height:1px;background:var(--gold);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:not([hidden]){display:flex;position:fixed;inset:86px 0 0;z-index:20;background:var(--ink);padding:65px var(--gutter);flex-direction:column;gap:30px;color:var(--cream);font-family:var(--serif);font-size:38px}.mobile-menu>a{padding-bottom:15px;border-bottom:1px solid #4c493c}.mobile-menu>a:last-child{color:var(--gold)}.mobile-menu>a span{font-family:var(--sans);font-size:25px;margin-left:15px}.site-header:has(.menu-toggle[aria-expanded="true"]){position:fixed;background:var(--ink);margin:0;padding:0 var(--gutter);z-index:25}.hero{min-height:870px;max-height:none;height:100svh}.hero-content{padding:153px var(--gutter) 0;width:100%}.hero-eyebrow{font-size:8px;letter-spacing:.14em;margin-bottom:25px}.small-rule{width:22px;margin-right:9px}.hero h1{font-size:clamp(49px,9.8vw,69px);letter-spacing:-.04em;line-height:1.04}.hero-description{font-size:12px;line-height:1.9;max-width:280px;margin-top:23px}.hero-cta{margin-top:17px;gap:44px}.hero-art{inset:270px -27% 10px -10%;z-index:-3}.hero-art img{object-position:65% 63%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(180deg,#191a18 0%,#191a18 28%,rgba(25,26,24,.82) 40%,rgba(25,26,24,.1) 65%,rgba(25,26,24,0) 82%,#191a18 100%),linear-gradient(90deg,rgba(25,26,24,.6),transparent 60%)}.hero-side-note{display:none}.hero-footer{bottom:23px;align-items:center;padding-top:16px;font-size:8px;gap:25px}.hero-footer>span{max-width:130px;line-height:1.7}.hero-footer a{gap:14px;white-space:nowrap}.hero>.dot-field{opacity:.5}.philosophy{padding-top:52px}.eyebrow{font-size:9px}.philosophy-grid{grid-template-columns:1fr;gap:30px;padding:32px 0 42px}.philosophy h2,.contact h2{font-size:50px;line-height:1.06}.philosophy-copy{max-width:none}.philosophy-copy .lead{font-size:26px;margin-bottom:19px}.philosophy-copy p:not(.lead){font-size:13px}.philosophy-copy .text-link{margin-top:14px}.principles{flex-direction:column;gap:10px;padding:22px 0;font-size:10px}.philosophy>.dot-field{width:100%;height:35%;top:8%;left:10%;opacity:.25}.expertise{padding-top:54px;padding-bottom:45px}.expertise-heading{display:block;padding-bottom:31px}.expertise-heading .eyebrow{padding:0;margin-bottom:24px}.expertise-heading h2{font-size:43px}.expertise-heading>p:last-child{margin:20px 0 0;font-size:12px}.service summary{grid-template-columns:22px 1fr 18px;gap:12px;padding:25px 0}.service h3{font-size:38px}.service-number{font-size:10px}.service-short{grid-column:2;grid-row:2;font-size:11px;margin-top:-5px}.service-toggle{grid-column:3;grid-row:1}.service-body{grid-template-columns:1fr;gap:19px;margin:0;padding:0 10px 25px 34px}.service-body p{font-size:12px;line-height:1.85}.service-body ul{font-size:10px}.expertise-footnote{text-align:left;font-size:9px;margin-top:23px}.interlude{padding:74px 20px 70px}.interlude h2{font-size:clamp(34px,8.5vw,54px)}.interlude .eyebrow{font-size:8px}.interlude p:not(.eyebrow){font-size:11px}.interlude-art{background-position:center,75% 50%}.contact{grid-template-columns:1fr;gap:49px;padding:58px var(--gutter) 55px}.contact-intro .eyebrow{margin-bottom:24px}.contact-intro>p:not(.eyebrow){max-width:none;margin-top:23px}.direct-contact{margin-top:29px}.direct-contact>a{font-size:28px}.enquiry-form{padding:0}.form-row{grid-template-columns:1fr;gap:0}.field{margin-bottom:24px}.field input,.field select,.field textarea{font-size:16px}.field label{font-size:12px}.field input::placeholder,.field textarea::placeholder{font-size:13px}.form-note{font-size:11px}.form-bottom{flex-direction:row;align-items:center;gap:14px}.submit-button{font-size:11px;padding:14px 18px;gap:22px}.preview-note{font-size:11px}.required-note{font-size:9px}.site-footer{padding:32px var(--gutter) 25px;display:grid;grid-template-columns:1fr 1fr;gap:25px}.site-footer .brand span{font-size:14px}.site-footer .brand img{width:18px;height:25px}.site-footer .brand{gap:8px}.site-footer>p{font-size:15px;justify-self:end;margin:0}.site-footer>div{grid-column:1/-1;justify-content:space-between;border-top:1px solid #414237;padding-top:15px;gap:15px}.site-footer>div>a{margin-left:auto}.site-footer .privacy-trigger{font-size:10px}dialog{padding:25px}dialog h2{font-size:37px}.desktop-break{display:none}}
@media(max-width:370px){:root{--gutter:20px}.hero h1{font-size:45px}.hero-eyebrow{font-size:7px}.philosophy h2,.contact h2{font-size:44px}.expertise-heading h2{font-size:39px}.service h3{font-size:33px}.form-bottom{flex-direction:column;align-items:start}.site-footer>p{font-size:13px}}
.section-light > .dot-field{position:absolute}
/* Separate the ambient breathing motion from the image's initial reveal. */
.hero-art{transform-origin:68% 48%;transform:scale(1.025)}
.site-header nav{font-size:12px}
.hero-description,.philosophy-copy p:not(.lead),.service-body p,.contact-intro>p:not(.eyebrow){font-size:14px}
.field input,.field select,.field textarea{font-size:14px}
@media(max-width:700px){.hero-description{font-size:13px}.field input,.field select,.field textarea{font-size:16px}.service-body p{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal:not(.is-visible){opacity:1;transform:none}.hero-art,.hero-art img{will-change:auto}}
