:root{--paper:#f8f5f0;--ivory:#f1ebe3;--sand:#e6d8c7;--ink:#292521;--muted:#746a61;--gold:#ae8250;--gold-dark:#8e6639;--line:#ddd2c5;--white:#fffdf9;--shadow:0 18px 60px rgba(71,58,45,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Helvetica Neue",Arial,sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}button,a{font:inherit}a{color:inherit}.site-header{height:88px;padding:0 4.5vw;display:grid;grid-template-columns:auto 1fr auto;gap:3.5vw;align-items:center;position:sticky;top:0;z-index:20;background:rgba(250,248,244,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(221,210,197,.7)}.brand{text-decoration:none;font-family:Georgia,"Times New Roman",serif;font-size:1.28rem;letter-spacing:.04em;line-height:1.1;white-space:nowrap}.brand small{display:block;font-family:Arial,sans-serif;font-size:.53rem;letter-spacing:.28em;text-align:center;margin-top:7px}.nav{display:flex;justify-content:center;gap:2.2vw}.nav a,.header-cta,.text-link{text-decoration:none;text-transform:uppercase;font-size:.68rem;letter-spacing:.11em}.nav a{position:relative;padding:33px 0}.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:23px;height:1px;background:var(--gold);transition:right .25s}.nav a:hover:after{right:0}.header-cta{border:1px solid var(--gold);padding:10px 15px;color:var(--gold-dark)}.menu-toggle{display:none;border:0;background:none;text-transform:uppercase;font-size:.68rem;letter-spacing:.1em}.hero{min-height:calc(100vh - 88px);display:grid;grid-template-columns:minmax(330px,38%) 1fr;background:var(--ivory);position:relative}.hero-copy{padding:7vw 4vw 7vw 6vw;align-self:center;z-index:2}.eyebrow{display:block;color:var(--gold-dark);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:18px}.hero h1,.section h2,.statement-card h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.035em}.hero h1{font-size:clamp(3.5rem,6.5vw,7.5rem);line-height:.91;margin:0 0 30px}.hero h1 em{font-style:normal;color:var(--gold)}.hero-copy>p{max-width:470px;font-size:1.08rem;color:#4e4741}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:34px}.btn{display:inline-block;background:var(--gold);color:white;text-decoration:none;text-transform:uppercase;font-size:.67rem;letter-spacing:.12em;padding:15px 23px;border:1px solid var(--gold);transition:.2s}.btn:hover{background:var(--gold-dark);border-color:var(--gold-dark)}.text-link{color:var(--gold-dark);border-bottom:1px solid rgba(142,102,57,.45);padding-bottom:4px}.hero-image{margin:0;min-height:650px;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover}.scroll-hint{position:absolute;bottom:24px;left:calc(38% - 17px);width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--paper);color:var(--gold-dark);text-decoration:none;box-shadow:var(--shadow)}.section{padding:8vw 6vw}.editorial{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8vw;align-items:center}.editorial-image{height:min(72vw,780px);max-height:780px;overflow:hidden}.editorial-image img{width:100%;height:100%;object-fit:cover}.editorial-copy{max-width:680px}.section h2,.statement-card h2{font-size:clamp(2.5rem,4vw,4.7rem);line-height:1.04;margin:0 0 28px}.lead{font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;line-height:1.55;color:#574d44}.editorial-copy p:not(.lead),.section-heading p,.visit-copy p,.contact-intro p{color:var(--muted)}.services{background:var(--white)}.section-heading{max-width:850px;margin-bottom:55px}.section-heading.centered{text-align:center;margin-left:auto;margin-right:auto}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-card{padding:42px 4vw;border-right:1px solid var(--line)}.service-card:last-child{border-right:0}.service-card>span{font-family:Georgia,serif;color:var(--gold);font-size:1rem}.service-card h3{font-family:Georgia,serif;font-size:1.65rem;font-weight:400;margin:45px 0 14px}.service-card p{color:var(--muted);margin:0}.statement-image{margin:0 3vw;min-height:72vh;position:relative;overflow:hidden}.statement-image>img{width:100%;height:72vh;min-height:600px;object-fit:cover}.statement-card{position:absolute;right:5vw;bottom:5vw;max-width:540px;padding:45px 50px;background:rgba(248,245,240,.94);box-shadow:var(--shadow)}.statement-card h2{font-size:clamp(2.2rem,3.2vw,3.8rem)}.brands{text-align:center}.brand-row{margin:54px auto 0;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:1150px}.brand-row span{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.1rem,2vw,1.8rem);letter-spacing:.12em;padding:34px 5vw;border-right:1px solid var(--line)}.brand-row span:last-child{border-right:0}.brand-note{max-width:690px;margin:34px auto 0;color:var(--muted)}.gallery{padding-top:4vw}.gallery-heading{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:end}.gallery-heading p{max-width:560px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:290px;gap:12px}.gallery-item{border:0;padding:0;background:none;overflow:hidden;cursor:zoom-in}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.gallery-item:hover img{transform:scale(1.025)}.gallery-item.wide{grid-column:span 2}.gallery-item.tall{grid-row:span 2}.visit{display:grid;grid-template-columns:1.15fr .85fr;padding-top:4vw}.visit-image{min-height:620px}.visit-image img{width:100%;height:100%;object-fit:cover}.visit-copy{background:var(--sand);display:flex;flex-direction:column;justify-content:center;padding:7vw}.contact{background:#eee5da}.contact-intro{max-width:860px}.contact-grid{margin-top:60px;display:grid;grid-template-columns:1.15fr .85fr 1fr;border-top:1px solid #cfc0af}.contact-grid>div{padding:38px 4vw 0 0}.contact-grid small{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:.6rem;color:var(--gold-dark);margin:0 0 8px}.contact-grid strong{display:block;font-family:Georgia,serif;font-size:1.25rem;font-weight:400}.contact-grid a{display:block;text-decoration:none;margin-bottom:22px}.footer{min-height:130px;padding:28px 4.5vw;display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;align-items:center;background:#fbf9f6;color:#6c6259;font-size:.68rem}.footer-brand strong{display:block;font-family:Georgia,serif;color:var(--ink);font-size:.95rem;font-weight:400;letter-spacing:.08em}.footer-brand span{font-size:.5rem;letter-spacing:.2em}.footer-links{display:flex;justify-content:flex-end;gap:24px}.footer-links a{text-transform:uppercase;letter-spacing:.09em}.lightbox{width:min(92vw,1500px);height:min(90vh,1000px);border:0;padding:0;background:#f8f5f0;box-shadow:0 25px 100px rgba(0,0,0,.35)}.lightbox::backdrop{background:rgba(35,30,26,.78)}.lightbox img{width:100%;height:100%;object-fit:contain}.lightbox-close{position:absolute;right:18px;top:12px;width:42px;height:42px;border:0;border-radius:50%;background:rgba(248,245,240,.92);font-size:1.8rem;cursor:pointer}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1050px){.site-header{grid-template-columns:auto 1fr auto}.nav{gap:1.4vw}.header-cta{display:none}.hero{grid-template-columns:42% 58%}.scroll-hint{left:calc(42% - 17px)}.service-grid{grid-template-columns:1fr}.service-card{border-right:0;border-bottom:1px solid var(--line)}.service-card:last-child{border-bottom:0}.service-card h3{margin-top:18px}.gallery-grid{grid-auto-rows:240px}.visit{grid-template-columns:1fr 1fr}}
@media(max-width:760px){body{font-size:15px}.site-header{height:72px;padding:0 5vw;grid-template-columns:1fr auto}.brand{font-size:1rem}.menu-toggle{display:block}.nav{display:none;position:absolute;top:72px;left:0;right:0;padding:24px 6vw 32px;background:#faf8f4;border-bottom:1px solid var(--line);flex-direction:column;gap:0}.nav.open{display:flex}.nav a{padding:12px 0}.nav a:after{display:none}.hero{display:flex;flex-direction:column;min-height:auto}.hero-image{order:1;height:58vh;min-height:430px}.hero-copy{order:2;padding:13vw 7vw 15vw}.hero h1{font-size:clamp(3.4rem,15vw,5.5rem)}.scroll-hint{display:none}.section{padding:17vw 7vw}.editorial{grid-template-columns:1fr;gap:10vw}.editorial-image{height:72vh;max-height:680px}.section h2{font-size:clamp(2.45rem,11vw,3.8rem)}.statement-image{margin:0;min-height:auto}.statement-image>img{height:68vh;min-height:520px}.statement-card{position:relative;right:auto;bottom:auto;margin:-55px 6vw 0;padding:34px 30px}.brand-row{display:block}.brand-row span{display:block;border-right:0;border-bottom:1px solid var(--line);padding:25px}.brand-row span:last-child{border-bottom:0}.gallery-heading{grid-template-columns:1fr;gap:0}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:210px}.gallery-item.wide{grid-column:span 2}.gallery-item.tall{grid-row:span 2}.visit{grid-template-columns:1fr;padding-left:0;padding-right:0}.visit-image{min-height:480px}.visit-copy{padding:15vw 8vw}.contact-grid{grid-template-columns:1fr}.contact-grid>div{padding-top:28px}.footer{grid-template-columns:1fr;text-align:center}.footer-links{justify-content:center}.hero-actions{align-items:flex-start;flex-direction:column;gap:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.gallery-item img{transition:none}}

.legal-page{max-width:980px;margin:0 auto;padding:7vw 6vw 10vw}.legal-page h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(2.8rem,5vw,5rem);line-height:1;margin:0 0 40px}.legal-page h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:1.6rem;margin:42px 0 12px}.legal-page p,.legal-page li{color:var(--muted)}.legal-page a{color:var(--gold-dark)}.legal-note{margin-top:50px;padding-top:25px;border-top:1px solid var(--line);font-size:.85rem}.simple-header{position:relative}.back-home{display:inline-block;margin-top:25px;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;text-decoration:none;color:var(--gold-dark)}
