:root{--ink:#292621;--paper:#f5f1ea;--cream:#e9e1d5;--gold:#ae9064;--muted:#777067;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif;--line:rgba(41,38,33,.19)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.7}.site-header{height:86px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10;background:rgba(245,241,234,.96);backdrop-filter:blur(12px)}.logo{font-size:20px;letter-spacing:-.05em;color:var(--ink);text-decoration:none}.logo span{font-family:var(--serif);font-style:italic;font-size:24px;margin-left:3px}.nav{display:flex;align-items:center;gap:34px}.nav a{color:var(--ink);text-decoration:none;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.nav-contact{border:1px solid var(--ink);padding:9px 15px}.nav-contact b{font-size:16px;font-weight:400;margin-left:15px}.menu-toggle{display:none;background:none;color:var(--ink);border:0;text-transform:uppercase;letter-spacing:.1em;font-size:10px}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:.9;letter-spacing:-.045em;margin:0}h1{font-size:clamp(65px,8.2vw,122px)}h2{font-size:clamp(58px,7vw,106px)}h1 em,h2 em,h3 em{font-style:italic;color:var(--gold)}p{margin:0}.hero{min-height:calc(100vh - 86px);position:relative;background:var(--paper);overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);align-items:stretch}.hero-image{grid-column:2;grid-row:1;min-height:calc(100vh - 86px);background-position:center;background-size:cover}.hero-shade{display:none}.hero-content{grid-column:1;grid-row:1;align-self:center;width:auto;padding:8vh 8vw 8vh 10vw;position:relative;z-index:1}.kicker{font-size:10px;letter-spacing:.19em;text-transform:uppercase;color:var(--muted);margin-bottom:27px}.hero-intro{color:var(--muted);max-width:280px;margin-top:34px;font-family:var(--serif);font-size:22px;line-height:1.18}.circle-link{width:118px;height:118px;border:1px solid var(--ink);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--ink);text-decoration:none;font-family:var(--serif);font-size:16px;line-height:1.05;margin-top:40px;transition:.3s}.circle-link:hover{background:var(--ink);color:#fff;transform:rotate(8deg)}.circle-link b{font-family:var(--sans);font-size:18px;font-weight:400;margin-top:10px}.hero-caption{position:absolute;right:3vw;bottom:30px;color:#fff;font-size:10px;letter-spacing:.1em;text-transform:uppercase;line-height:1.8;text-align:right;z-index:2}.hero-caption span{color:#e5d8ca}.marquee{height:63px;overflow:hidden;white-space:nowrap;background:var(--gold);color:var(--ink);font-family:var(--serif);font-size:24px;display:flex;align-items:center}.marquee div{animation:scroll 28s linear infinite}.marquee i{font-family:var(--sans);font-style:normal;font-size:12px;margin:0 31px}@keyframes scroll{to{transform:translateX(-30%)}}.section{padding:145px 10vw}.eyebrow{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);display:flex;gap:19px;align-items:center;margin-bottom:70px}.eyebrow span{color:var(--muted)}.eyebrow:after{content:'';width:37px;height:1px;background:var(--gold)}.approach-layout,.services-head,.about{display:grid;grid-template-columns:1.15fr .85fr;gap:12vw}.gold-rule{width:45px;border-top:1px solid var(--gold);margin-top:40px}.approach-copy{padding-top:10px;max-width:450px}.large-copy{font-family:var(--serif);font-size:30px;line-height:1.15;color:#4a453e;margin-bottom:25px}.approach-copy p:not(.large-copy),.about-copy p:not(.large-copy){color:var(--muted);line-height:1.9}.line-link{display:inline-flex;gap:14px;align-items:center;color:var(--ink);font-size:11px;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--gold);padding-bottom:8px;text-decoration:none;margin-top:31px}.line-link span{font-size:18px}.image-break{height:720px;background-image:linear-gradient(90deg,rgba(18,18,15,.76),rgba(18,18,15,.12)),url('https://images.unsplash.com/photo-1540932239986-30128078f3c5?auto=format&fit=crop&w=2200&q=90');background-position:center;background-size:cover;display:flex;align-items:center;padding:0 10vw;color:#fff}.image-break-copy{max-width:450px}.image-break h2{color:#fff;margin-bottom:30px}.image-break-copy>p:last-child{font-family:var(--serif);font-size:22px;line-height:1.25;max-width:250px;color:#e8ded3}.services{background:var(--cream)}.services-head{align-items:end;margin-bottom:75px}.services-head>p{color:var(--muted);max-width:315px;line-height:1.85}.service-list{border-top:1px solid var(--line)}.service-list article{display:grid;grid-template-columns:11% 1fr 30px;gap:20px;padding:32px 0;border-bottom:1px solid var(--line);align-items:start}.service-index{font-family:var(--serif);color:var(--gold);font-size:19px}.service-list h3{font-size:43px;line-height:.95}.service-list p{color:var(--muted);max-width:350px;margin-top:13px;line-height:1.7}.service-list article>span{font-size:20px;color:var(--gold)}.about{align-items:center}.about-photo{position:relative;height:590px;background:#bca990;overflow:hidden}.about-photo:before{content:'';position:absolute;inset:24px;border:1px solid rgba(255,255,255,.55);z-index:1}.about-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.82)}.photo-note{position:absolute;z-index:2;left:39px;bottom:35px;background:rgba(35,33,29,.86);color:#fff;padding:16px 18px;font-family:var(--serif);font-size:21px;line-height:1}.photo-note i{font-family:var(--sans);font-style:normal;color:#cbb99f;font-size:9px;letter-spacing:.08em;text-transform:uppercase}.about-copy h2{margin-bottom:35px}.gallery{height:550px;padding:65px 10vw;display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:14px;background:#292924;position:relative}.gallery-tile{background-size:cover;background-position:center}.tile-one{background-image:url('https://images.unsplash.com/photo-1600566753190-17f0baa2a6c3?auto=format&fit=crop&w=1000&q=90');margin-top:58px}.tile-two{background-image:url('https://images.unsplash.com/photo-1600607688969-a5bfcd646154?auto=format&fit=crop&w=1200&q=90')}.tile-three{background-image:url('https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?auto=format&fit=crop&w=1000&q=90');margin-bottom:58px}.gallery-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#fff;text-align:center;font-family:var(--serif);font-size:28px;line-height:1}.gallery-label em{color:var(--gold)}.contact{text-align:center;background:#c2a77e;padding-top:130px;padding-bottom:140px}.contact .eyebrow{justify-content:center;color:var(--ink)}.contact .eyebrow span{color:#4f463b}.contact .eyebrow:after{display:none}.contact h2{font-size:clamp(62px,8vw,120px);margin-bottom:30px}.contact>p{font-family:var(--serif);font-size:22px;margin-bottom:37px}.button{display:inline-flex;gap:32px;background:var(--ink);color:#fff;text-decoration:none;padding:16px 23px;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.button span{font-size:17px;line-height:.6}.footer{background:var(--ink);color:#eee6da;padding:50px 5vw;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:20px}.footer p{text-align:center;font-family:var(--serif);font-size:20px}.footer-social{display:flex;gap:23px;justify-content:flex-end}.footer-social a{color:#eee6da;text-decoration:none;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.footer small{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.2);padding-top:20px;color:#9e968c;font-size:10px;margin-top:20px}@media(max-width:800px){.site-header{height:72px}.nav{display:none}.nav.is-open{display:flex;position:absolute;top:72px;left:0;right:0;padding:25px 7vw;flex-direction:column;align-items:flex-start;background:var(--paper)}.menu-toggle{display:block}.hero{min-height:0;display:flex;flex-direction:column}.hero-content{order:1;padding:80px 7vw 70px}.hero-image{order:2;min-height:430px;height:58vh;width:100%;background-position:center}.hero-caption{right:7vw;bottom:24px}.section{padding:95px 7vw}.approach-layout,.services-head,.about{grid-template-columns:1fr;gap:45px}.eyebrow{margin-bottom:45px}.image-break{height:650px;padding:0 7vw}.service-list article{grid-template-columns:13% 1fr 20px}.service-list h3{font-size:37px}.about-photo{height:450px}.gallery{height:460px;padding:38px 7vw;gap:8px}.gallery-label{font-size:23px}.footer{grid-template-columns:1fr;gap:18px}.footer p{text-align:left}.footer-social{justify-content:flex-start}.footer small{grid-column:auto}}
 .language-switch{display:flex;align-items:center;gap:8px;border-left:1px solid var(--line);padding-left:18px;margin-left:4px;color:var(--muted);font:500 10px var(--sans);letter-spacing:.1em;white-space:nowrap}.language-switch button{border:0;background:none;padding:0;color:var(--muted);font:inherit;letter-spacing:inherit;cursor:pointer}.language-switch button.is-active{color:var(--ink);font-weight:700}.language-switch button:hover{color:var(--ink)}.site-header .logo{font-size:24px}.site-header .logo span{font-size:28px}.hero-content{align-self:center!important;padding-top:0!important}

/* Keep the mobile circle CTA in its own space so it cannot be covered by the marquee. */
.hero-cta-slot{min-height:100px;margin-top:24px;display:flex;align-items:flex-start}
.circle-link{margin-top:0}

.contact-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:9vw;align-items:start;text-align:left}.contact-layout>div{max-width:470px}.contact-layout h2{margin-bottom:28px}.contact-layout>div>p{font-family:var(--serif);font-size:24px;line-height:1.25;color:#4f463b}.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 24px;text-align:left}.form-field{display:flex;flex-direction:column;gap:7px}.form-field-wide{grid-column:1/-1}.form-field label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#4f463b}.form-field label span{letter-spacing:0;text-transform:none;font-size:10px}.form-field input,.form-field textarea{width:100%;border:0;border-bottom:1px solid rgba(41,38,33,.42);border-radius:0;background:transparent;padding:8px 0 10px;color:var(--ink);font:400 14px/1.5 var(--sans);outline:none}.form-field textarea{resize:vertical;min-height:94px}.form-field input:focus,.form-field textarea:focus{border-bottom-color:var(--ink)}.contact-form .button{border:0;cursor:pointer;justify-self:start;margin-top:3px}.hidden-field{display:none!important}

@media(max-width:800px){.contact-layout{grid-template-columns:1fr;gap:48px}.contact-layout>div>p{font-size:21px}.contact-form{grid-template-columns:1fr;gap:20px}.form-field-wide{grid-column:auto}}

/* Final hero stability: the CTA must always finish before the marquee begins. */
.marquee{justify-content:center}
.marquee div{animation:none!important;transform:none!important;width:max-content}
.hero-cta-slot{min-height:150px;padding-bottom:42px}
@media(min-width:801px){
  .hero{height:auto!important;max-height:none!important;min-height:calc(100dvh - 149px)!important;padding-bottom:72px!important;overflow:visible!important}
  .hero-content{height:auto!important;align-self:start!important;padding-top:2vh!important;padding-bottom:0!important}
}
@media(max-width:800px){
  .hero{height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important;padding-bottom:28px!important}
  .hero-content{height:auto!important;padding-bottom:40px!important}
  .hero-cta-slot{min-height:154px!important;padding-bottom:42px!important}
  .marquee div{animation:none!important;transform:none!important}
}
