:root{--ivory:#f2efe9;--paper:#e7e1d8;--ink:#1c1c1c;--bronze:#a38b70;--line:rgba(28,28,28,.2);--serif:"Italiana",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}body.menu-open{overflow:hidden}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;background:var(--ink);color:#fff;padding:.7rem 1rem}.skip-link:focus{top:1rem}.site-header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;position:absolute;z-index:20;width:100%;border-bottom:1px solid rgba(242,239,233,.28);color:var(--ivory)}.wordmark{font-size:.94rem;letter-spacing:.15em}.wordmark span{font-weight:300;color:var(--bronze)}.site-nav{display:flex;align-items:center;gap:2.2rem;font-size:.76rem;text-transform:uppercase;letter-spacing:.12em}.site-nav a{position:relative}.site-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:currentColor;transition:right .3s}.site-nav a:hover:after,.site-nav a:focus-visible:after{right:0}.button{border:1px solid currentColor;padding:.9rem 1.4rem;background:transparent;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;cursor:pointer;transition:background .25s,color .25s,transform .25s}.button:hover{transform:translateY(-2px)}.button--dark{background:var(--ink);color:var(--ivory);border-color:var(--ink)}.site-header .button--dark{background:var(--ivory);color:var(--ink);border-color:var(--ivory)}.site-header .button--dark:hover{background:var(--bronze);border-color:var(--bronze);color:#fff}.menu-toggle{display:none}.hero{min-height:100svh;background:var(--ink);color:var(--ivory);position:relative;display:grid;grid-template-columns:55% 45%;overflow:hidden}.hero-copy{padding:20vh 5vw 10vh;position:relative;z-index:2}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.68rem}.hero h1{font:400 clamp(4.2rem,9.2vw,9.7rem)/.78 var(--serif);letter-spacing:-.045em;margin:8vh 0 6vh;white-space:nowrap}.display em,.hero em{font-weight:400;color:var(--bronze)}.hero-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;max-width:750px}.hero-intro p{max-width:390px;color:#c9c5bf;font-weight:300}.text-link{background:0;border:0;border-bottom:1px solid currentColor;padding:.35rem 0;cursor:pointer;color:inherit}.text-link span{margin-left:1rem}.hero-image{margin:0;position:relative;min-height:100%;background:linear-gradient(145deg,#53483c,#171717)}.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,28,28,.45),transparent 45%)}.hero-image figcaption{position:absolute;right:3vw;bottom:3rem;z-index:2;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;writing-mode:vertical-rl}.hero-image figcaption span{color:var(--bronze);margin-bottom:1rem}.scroll-cue{position:absolute;z-index:4;left:5vw;bottom:2rem;display:flex;gap:1rem;align-items:center;font-size:.62rem;text-transform:uppercase;letter-spacing:.18em}.scroll-cue i{width:55px;height:1px;background:var(--bronze);display:block}.section{padding:8rem 5vw}.section-index{border-top:1px solid var(--line);padding-top:1rem;display:flex;justify-content:space-between;text-transform:uppercase;letter-spacing:.18em;font-size:.62rem;margin-bottom:7rem}.section-index.light{border-color:rgba(242,239,233,.25)}.section-index span:first-child{color:var(--bronze)}.display{font:400 clamp(3.4rem,7vw,7.8rem)/.93 var(--serif);letter-spacing:-.035em;margin:0}.about-grid{display:grid;grid-template-columns:1.35fr .65fr;column-gap:10vw}.about-copy{padding-top:10rem;max-width:480px}.about-copy .lead{font:400 1.55rem/1.35 var(--serif);margin:0 0 2.5rem}.about-copy p:not(.lead){font-weight:300;color:#56534f}.about-note{grid-column:1/-1;border-bottom:1px solid var(--line);padding:7rem 0 1rem;display:flex;justify-content:space-between;text-transform:uppercase;letter-spacing:.15em;font-size:.6rem}.services,.experience{background:var(--ink);color:var(--ivory)}.services-head{display:grid;grid-template-columns:1.3fr .7fr;align-items:end;gap:8vw;margin-bottom:6rem}.services-head p{max-width:420px;color:#aaa49c;font-weight:300}.service-list{padding:0;margin:0;list-style:none;border-top:1px solid rgba(242,239,233,.22)}.service-list li{display:grid;grid-template-columns:8% 35% 1fr auto;gap:2rem;align-items:center;border-bottom:1px solid rgba(242,239,233,.22);padding:2rem 0;transition:padding .3s,background .3s}.service-list li:hover{padding-left:1rem;padding-right:1rem;background:rgba(163,139,112,.08)}.service-no{color:var(--bronze);font-size:.65rem}.service-list h3{font:400 clamp(1.8rem,3vw,3.2rem)/1 var(--serif);margin:0}.service-list p{color:#aaa49c;font-weight:300}.service-list strong{font:400 1.5rem var(--serif)}.services-foot,.demo-note,.form-note{font-size:.65rem;letter-spacing:.08em;color:#8d8881;margin-top:2rem}.gallery-title-row{display:flex;justify-content:space-between;align-items:end;margin-bottom:6rem}.gallery-title-row p{max-width:280px}.gallery-grid{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:auto auto;gap:8vw 4vw}.image-wrap{background:linear-gradient(135deg,#c8b7a5,#777066);overflow:hidden}.image-wrap img{filter:grayscale(100%);transition:filter .7s,transform 1s}.image-wrap:hover img{filter:grayscale(10%);transform:scale(1.025)}.gallery-grid figure{margin:0}.gallery-grid figcaption{font-size:.62rem;text-transform:uppercase;letter-spacing:.15em;margin-top:1rem}.gallery-a{height:48vw;max-height:720px}.gallery-b{height:27vw;max-height:420px;margin-top:8rem!important}.gallery-quote{font:400 clamp(2rem,4vw,4rem)/1.12 var(--serif);margin:1rem 0 0;text-align:right}.gallery-c{height:44vw;max-height:650px;margin-top:-2rem!important}.experience-grid{display:grid;grid-template-columns:7% 1.4fr .6fr;gap:5vw;align-items:center}.vertical-note{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.58rem;letter-spacing:.18em;color:var(--bronze)}.experience-copy{color:#aaa49c;max-width:390px;font-weight:300}.bronze-rule{display:block;width:45px;height:1px;background:var(--bronze);margin:3rem 0}.booking{text-align:center;padding-top:10rem;padding-bottom:10rem}.booking .display{margin:2rem 0 4rem}.booking .button{padding:1.3rem 2rem}.booking .button span{margin-left:3rem}.contact-grid{display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:5vw;align-items:start}.contact-block{border-top:1px solid var(--line);padding-top:1rem;margin-top:1rem}.contact-block h3{font-size:.65rem;text-transform:uppercase;letter-spacing:.15em;color:var(--bronze);margin:0 0 2rem}.contact-block address{font-style:normal}.contact-block small{display:block;font-size:.6rem;color:#817b74;margin-top:1rem}.contact-block dl{margin:0}.contact-block dl div{display:flex;justify-content:space-between;gap:1rem}.contact-block dd{margin:0}.site-footer{background:#121212;color:#aaa49c;padding:4rem 5vw 2rem;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:2rem;align-items:start;font-size:.65rem;letter-spacing:.07em}.wordmark--footer{color:var(--ivory);font-size:1.1rem}.site-footer nav{display:flex;flex-direction:column;gap:.5rem;text-transform:uppercase}.site-footer p{margin:0}.site-footer p:last-child{grid-column:1/-1;border-top:1px solid #333;padding-top:1.5rem;margin-top:2rem}.booking-dialog{border:0;padding:clamp(2rem,5vw,5rem);background:var(--ivory);color:var(--ink);width:min(620px,calc(100% - 2rem));max-height:90vh}.booking-dialog::backdrop{background:rgba(10,10,10,.78);backdrop-filter:blur(4px)}.booking-dialog h2{font:400 clamp(2.5rem,5vw,4.5rem)/1 var(--serif);margin:1.5rem 0 3rem}.dialog-close{position:absolute;right:1.5rem;top:1.1rem;border:0;background:0;font-size:2rem;cursor:pointer}.booking-dialog form{display:grid;gap:1.2rem}.booking-dialog label{display:grid;gap:.4rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em}.booking-dialog input,.booking-dialog select{background:transparent;border:0;border-bottom:1px solid var(--line);padding:.8rem 0;border-radius:0}.booking-success{text-align:center}.booking-success>span{font:3rem var(--serif);color:var(--bronze)}.booking-success h3{font:3rem var(--serif);margin:1rem}.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:850px){.site-header{height:70px}.menu-toggle{display:flex;align-items:center;gap:.8rem;background:0;border:0;color:inherit;text-transform:uppercase;font-size:.65rem;letter-spacing:.12em;z-index:2}.menu-icon,.menu-icon:before{width:25px;height:1px;background:currentColor;display:block;content:"";transition:transform .3s}.menu-icon:before{transform:translateY(6px)}.menu-open .menu-icon{transform:rotate(45deg)}.menu-open .menu-icon:before{transform:rotate(-90deg)}.site-nav{position:fixed;inset:0;background:var(--ink);display:flex;flex-direction:column;justify-content:center;gap:1.5rem;transform:translateY(-100%);transition:transform .4s ease;font:400 2rem var(--serif)}.menu-open .site-nav{transform:none}.site-nav .button{margin-top:1rem}.hero{grid-template-columns:1fr;grid-template-rows:1fr 40vh}.hero-copy{padding:18vh 5vw 5vh}.hero h1{font-size:clamp(3.6rem,16vw,7rem);margin:7vh 0 4vh;white-space:normal}.hero-intro{align-items:start;flex-direction:column}.hero-image{min-height:40vh}.hero-image:after{background:linear-gradient(0deg,rgba(28,28,28,.4),transparent)}.scroll-cue{display:none}.section{padding:6rem 5vw}.section-index{margin-bottom:4rem}.about-grid,.services-head,.experience-grid,.contact-grid{grid-template-columns:1fr}.about-copy{padding-top:3rem}.about-note{padding-top:4rem}.services-head{margin-bottom:4rem}.service-list li{grid-template-columns:35px 1fr auto;gap:1rem}.service-list p{grid-column:2/-1;margin:0}.gallery-title-row{display:block}.gallery-title-row p{margin:2rem 0 4rem}.gallery-grid{gap:5rem 1rem}.gallery-b{margin-top:3rem!important}.gallery-quote{text-align:left}.experience-grid{grid-template-columns:1fr}.vertical-note{writing-mode:initial;transform:none}.experience-copy{margin-top:2rem}.contact-grid{gap:3rem}.site-footer{grid-template-columns:1fr 1fr}.site-footer .wordmark{grid-column:1/-1;margin-bottom:2rem}}
@media(max-width:520px){.hero{grid-template-rows:auto 36vh}.hero-copy{padding-top:16vh}.hero-intro p{font-size:.9rem}.display{font-size:3.15rem}.service-list h3{font-size:1.65rem}.service-list strong{font-size:1.1rem}.gallery-grid{display:block}.gallery-grid>*{margin:0 0 4rem!important}.gallery-a,.gallery-b,.gallery-c{height:110vw}.gallery-quote{font-size:2.2rem;padding:1rem 0 4rem}.site-footer{grid-template-columns:1fr}.site-footer>*{grid-column:1!important}.site-footer nav{margin:1rem 0}.contact .section-index{margin-bottom:4rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
.image-wrap.image-unavailable{position:relative}.image-wrap.image-unavailable:before{content:"ATELIER / STUDY";position:absolute;left:1.5rem;bottom:1.5rem;color:rgba(255,255,255,.75);font-size:.6rem;letter-spacing:.2em;z-index:2}
