@font-face{font-family:Editorial;src:url('assets/serif.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Editorial;src:url('assets/serif-italic.woff') format('woff');font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:Studio;src:url('assets/sans.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
:root{--paper:#f4f1e9;--ink:#243b32;--muted:#627168;--gold:#886638;--line:#d4d7cd;--serif:Editorial,Georgia,serif;--sans:Studio,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
body.modal-open{overflow:hidden}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
button:disabled{cursor:default}
button,a,summary{touch-action:manipulation}
button{border:0;background:none}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:400}
h1,h2{font-family:var(--serif);letter-spacing:-.045em;line-height:1.08}
em{font-weight:400}
::selection{background:#d5c3a1;color:var(--ink)}
:focus-visible{outline:2px solid var(--gold);outline-offset:6px}
.shell{width:min(1320px,calc(100% - 112px));margin-inline:auto}
.section-space{padding-block:112px}
.skip-link{position:fixed;z-index:100;top:-80px;left:20px;padding:12px 20px;background:var(--ink);color:var(--paper)}
.skip-link:focus{top:16px}
.site-header{position:sticky;top:0;z-index:20;background:rgba(244,241,233,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}
.header-inner{width:min(1440px,calc(100% - 80px));height:98px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:14px;flex-shrink:0}
.monogram{width:48px;height:48px;border:1px solid var(--ink);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:29px;letter-spacing:-3px;padding-right:3px;line-height:1}
.monogram span{color:var(--gold);letter-spacing:0}
.brand-name{font-size:17px;letter-spacing:-.02em}
.desktop-nav{display:flex;gap:34px;font-size:14px}
.desktop-nav a{position:relative;padding-block:12px}
.desktop-nav a:after{position:absolute;bottom:5px;left:0;content:"";width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.desktop-nav a:hover:after{transform:scaleX(1)}
.header-actions{display:flex;align-items:center;gap:27px}
.languages{display:flex;align-items:center;gap:7px;font-size:11px;letter-spacing:.04em}
.languages button{padding:10px 2px;color:var(--muted)}
.languages button[aria-pressed=true]{color:var(--ink);text-decoration:underline;text-underline-offset:5px}
.languages>span{color:#98a095;font-size:10px}
.header-contact{border:1px solid #bdc5b9;padding:11px 19px;display:flex;gap:25px;font-size:13px;transition:background .2s,color .2s}
.header-contact:hover{background:var(--ink);color:var(--paper)}
.menu-toggle{display:none}
.mobile-nav[hidden]{display:none}
.mobile-nav{border-top:1px solid var(--line);padding:10px 28px 22px}
.mobile-nav a{display:block;padding:12px 0}
.hero{display:grid;grid-template-columns:1fr 1.03fr;gap:6.2%;padding-top:60px;padding-bottom:51px;align-items:center;min-height:710px}
.eyebrow{display:flex;align-items:center;gap:13px;font-size:11px;letter-spacing:.15em;text-transform:uppercase;line-height:1.6}
.small-line{width:26px;height:1px;background:var(--gold)}
.hero h1{font-size:clamp(60px,6.8vw,92px);margin-top:32px;margin-bottom:26px}
.hero h1 em{color:var(--gold)}
.hero-description{font-size:17px;line-height:1.65;max-width:390px;color:#536258}
.hero-identity{display:flex;gap:16px;align-items:center;margin-top:31px}
.identity-line{height:37px;width:2px;background:#b89863}
.hero-identity strong{display:block;font-size:14px;font-weight:400}
.hero-identity div>span{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.hero-buttons{display:flex;align-items:center;gap:25px;margin-top:31px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:17px 22px;font-size:13px;line-height:1.4;min-height:52px}
.button-dark{background:var(--ink);color:var(--paper);border:1px solid var(--ink);transition:background .2s}
.button-dark:hover{background:#365246}
.button>span:last-child{font-size:17px;transition:transform .2s}
.button:hover>span:last-child{transform:translate(2px,-2px)}
.text-link{display:inline-flex;gap:14px;align-items:center;font-size:13px;padding:10px 0;border-bottom:1px solid #a5ada2;line-height:1.4}
.text-link:hover{color:var(--gold)}
.hero-footnote{margin-top:47px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.hero-visual{position:relative;padding:0 0 28px 0}
.hero-image-wrap{height:570px;overflow:hidden;background:#d1c9b9}
.hero-image-wrap img{width:100%;height:100%;object-fit:cover;object-position:50% 56%}
.hero-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;font-size:11px;color:var(--muted)}
.hero-caption>span:last-child{font-size:10px;letter-spacing:.1em;flex-shrink:0}
.image-stamp{position:absolute;bottom:69px;left:-42px;width:92px;height:92px;border-radius:50%;background:var(--ink);color:var(--paper);box-shadow:0 0 0 8px var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:8px;letter-spacing:.15em}
.stamp-symbol{font-size:25px;line-height:1.1;font-family:var(--serif);color:#c2a777}
.chapter-divider{display:flex;justify-content:space-around;gap:20px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:23px;font-size:11px;letter-spacing:.13em;text-transform:uppercase}
.diamond{font-size:17px;color:var(--gold)}
.journey{display:grid;grid-template-columns:1fr 1.03fr;gap:6.2%}
.section-number{color:var(--gold);font-size:10px;letter-spacing:.03em}
.section-heading h2{font-size:clamp(40px,4.9vw,65px);margin-top:26px}
.section-heading h2 em,.universe h2 em,.contact h2 em{color:var(--gold)}
.journey-content{padding-top:9px}
.lead{font-family:var(--serif);font-size:27px;line-height:1.35;letter-spacing:-.015em}
.journey-content>p:not(.lead){margin-top:24px;font-size:15px;line-height:1.8;color:#58675d}
.places{margin-top:36px;padding-top:28px;border-top:1px solid var(--line);display:flex;gap:14px;align-items:center}
.places>div:not(.place-bridge){flex:1}
.places strong{display:block;font-weight:400;font-size:13px;margin-top:8px}
.places>div>span:last-child{font-size:11px;color:var(--muted)}
.place-marker{display:block;width:6px;height:6px;border:1px solid var(--gold);border-radius:50%}
.place-bridge{width:60px;display:flex;gap:5px;align-items:center;color:var(--gold);font-size:18px}
.place-bridge span{height:1px;background:#bfc6b9;flex:1}
.expertise{background:var(--ink);color:var(--paper)}
.expertise .eyebrow{color:#c7d2c8}
.expertise .section-number{color:#c2a675}
.expertise-heading{display:grid;grid-template-columns:1fr 1.03fr;gap:6.2%;align-items:end}
.expertise-heading h2 em{color:#c2a675}
.expertise-heading>p{max-width:360px;color:#c5d0c6;font-size:17px;line-height:1.65;padding-bottom:8px}
.expertise-list{margin-top:63px;border-top:1px solid #526358}
.expertise-row{display:grid;grid-template-columns:58px 1fr 230px;gap:25px;padding-block:34px;border-bottom:1px solid #526358;align-items:start}
.row-number{font-size:11px;color:#c2a675;padding-top:8px}
.expertise-row h3{font-family:var(--serif);font-size:29px;line-height:1.2}
.expertise-row p{font-size:14px;color:#bfccc1;line-height:1.75;margin-top:15px;max-width:650px}
.expertise-tag{align-self:start;justify-self:end;border:1px solid #667569;border-radius:30px;padding:6px 14px;font-size:10px;color:#d5ddcf;margin-top:6px;white-space:nowrap}
.language-note{display:flex;align-items:center;gap:16px;margin-top:35px;font-size:12px;color:#c8d2c7}
.language-symbol{font-size:24px;color:#c2a675}
.language-note>span:last-child{margin-left:auto;color:#c2a675;white-space:nowrap}
.universe-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:end}
.universe h2{font-size:clamp(40px,4.9vw,65px);margin-top:26px}
.universe-heading>p{font-size:15px;line-height:1.8;color:var(--muted);max-width:350px;padding-bottom:8px}
.gallery{display:grid;grid-template-columns:1.2fr 1fr;column-gap:32px;row-gap:35px;margin-top:49px;align-items:start}
.gallery-item{padding:0;text-align:left;display:block;width:100%}
.gallery-image{position:relative;overflow:hidden;background:#d5cdbc}
.gallery-image img{width:100%;height:100%;object-fit:cover;transition:transform .55s}
.gallery-item:hover img{transform:scale(1.035)}
.gallery-main{grid-column:1;grid-row:1/3}
.gallery-main .gallery-image{height:680px}
.gallery-main img{object-position:50% 55%}
.gallery-detail{grid-column:2;grid-row:1}
.gallery-detail .gallery-image{height:270px}
.gallery-detail img{object-position:50% 53%}
.gallery-floral{grid-column:2;grid-row:2}
.gallery-floral .gallery-image{height:270px}
.gallery-floral img{object-position:50% 66%}
.gallery-expand{position:absolute;bottom:14px;right:14px;width:38px;height:38px;background:var(--paper);display:flex;align-items:center;justify-content:center;font-size:19px;transition:background .2s,color .2s}
.gallery-item:hover .gallery-expand{background:var(--ink);color:var(--paper)}
.gallery-meta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:17px}
.gallery-meta small{display:block;font-size:9px;letter-spacing:.14em;color:var(--muted)}
.gallery-meta strong{display:block;font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.3;margin-top:4px}
.gallery-index{color:var(--gold);font-size:11px;align-self:start;padding-top:5px}
.visual-note{text-align:right;font-size:10px;color:var(--muted);margin-top:29px}
.perspective{display:grid;grid-template-columns:1fr 1fr;background:#e7e9df}
.perspective-image{min-height:515px;overflow:hidden}
.perspective-image img{width:100%;height:100%;object-fit:cover;object-position:57% center}
.perspective-copy{padding:70px clamp(38px,6vw,95px);align-self:center}
.perspective h2{font-size:clamp(34px,3.3vw,47px);line-height:1.2;margin-top:29px}
.perspective h2 em{color:#7d6a4c}
.perspective-copy>p:not(.eyebrow){font-size:14px;line-height:1.8;color:var(--muted);margin-top:25px;max-width:390px}
.signature{font-family:var(--serif);font-size:25px;font-style:italic;display:block;margin-top:26px}
.signature>span{color:var(--gold)}
.contact{display:grid;grid-template-columns:1.12fr 1fr;gap:7%;align-items:start}
.contact h2{font-size:clamp(40px,4.2vw,58px);margin-top:26px}
.contact-content{padding-top:10px}
.contact-content .lead{font-size:25px}
.contact-email{margin-top:28px;display:flex;justify-content:space-between;gap:16px;font-size:clamp(14px,1.3vw,18px);padding-bottom:14px;border-bottom:1px solid var(--line)}
.contact-email:hover{color:var(--gold)}
.contact-actions{display:flex;gap:26px;align-items:center;margin-top:24px}
.copy-status{font-size:12px;color:var(--muted);min-height:23px;padding-top:5px}
.contact-details{display:flex;flex-wrap:wrap;gap:10px 25px;margin-top:21px;font-size:11px;color:var(--muted)}
.contact-details a:hover{color:var(--ink)}
.site-footer{border-top:1px solid var(--line);padding-block:29px;display:flex;justify-content:space-between;gap:24px;align-items:center;font-size:11px;color:var(--muted)}
.footer-brand{font-family:var(--serif);font-size:24px;color:var(--ink)}
.footer-brand>span{color:var(--gold)}
.footer-copyright{font-size:10px;white-space:nowrap}
dialog{padding:0;border:0;background:var(--paper);color:var(--ink);max-width:1100px;width:calc(100% - 80px);max-height:calc(100dvh - 50px);overflow:auto}
dialog::backdrop{background:rgba(13,27,20,.85);backdrop-filter:blur(8px)}
.dialog-close{position:absolute;right:16px;top:16px;z-index:2;background:var(--paper)!important;font-size:27px!important}
.dialog-image-wrap{height:min(61dvh,680px);background:#182920;display:flex;align-items:center;justify-content:center}
.dialog-image-wrap img{width:100%;height:100%;object-fit:contain}
.dialog-caption{padding:27px 33px;display:flex;gap:28px;align-items:start;justify-content:space-between}
.dialog-caption h2{font-size:32px;margin-top:9px}
.dialog-caption p:not(.eyebrow){font-size:13px;color:var(--muted);max-width:600px;margin-top:10px}
.dialog-caption small{display:block;font-size:9px;color:var(--muted);margin-top:16px}
.dialog-controls{display:flex;gap:15px;align-items:center;margin-top:15px;white-space:nowrap;font-size:10px;color:var(--muted)}
.icon-button{width:40px;height:40px;border:1px solid #b6c1b3;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:19px}
.icon-button:hover{background:#dce0d4}
.noscript-note{padding:20px;text-align:center;font-size:12px}
@media(min-width:1550px){.hero{padding-top:74px;padding-bottom:64px}.hero-image-wrap{height:630px}.hero h1{font-size:98px}}
@media(max-width:1100px){
 .shell{width:calc(100% - 72px)}.header-inner{width:calc(100% - 52px);gap:20px}.desktop-nav{gap:22px}.header-actions{gap:18px}.brand-name{font-size:15px}
 .hero{gap:5%;min-height:650px}.hero h1{font-size:66px}.hero-image-wrap{height:535px}.hero-description{font-size:16px}.hero-buttons{gap:20px;flex-wrap:wrap}.hero-footnote{margin-top:30px}
 .section-space{padding-block:86px}.expertise-row{grid-template-columns:35px 1fr 170px;gap:20px}.expertise-tag{font-size:9px;padding:6px 10px}.gallery-main .gallery-image{height:610px}.gallery-detail .gallery-image,.gallery-floral .gallery-image{height:235px}
 .contact{grid-template-columns:1fr 1fr;gap:6%}.contact h2{font-size:44px}.universe-heading{gap:40px}
}
@media(max-width:820px){
 html{scroll-padding-top:90px}.header-inner{height:80px;width:calc(100% - 44px)}.desktop-nav,.header-contact{display:none}.header-actions{gap:22px}.monogram{width:42px;height:42px;font-size:26px}
 .menu-toggle{display:flex;width:32px;height:36px;flex-direction:column;justify-content:center;gap:7px;padding:3px}.menu-toggle span{height:1px;width:25px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
 .shell{width:calc(100% - 48px)}.hero{grid-template-columns:1fr;gap:42px;padding-top:46px;padding-bottom:34px}.hero-copy{max-width:610px}.hero h1{font-size:76px;margin-top:24px}.hero-description{max-width:440px}.hero-buttons{margin-top:24px}.hero-footnote{margin-top:25px}
 .hero-image-wrap{height:590px}.hero-visual{margin-left:20px;padding-bottom:8px}.image-stamp{left:-19px;bottom:65px;width:80px;height:80px}.hero-caption{font-size:10px}
 .chapter-divider{font-size:9px;gap:12px;padding-block:20px}.chapter-divider>span:nth-child(3){max-width:100px;text-align:center}
 .journey,.expertise-heading{grid-template-columns:1fr;gap:35px}.journey-content{padding-top:0;max-width:650px}.section-heading h2,.universe h2{font-size:54px}.expertise-heading>p{max-width:460px}.expertise-list{margin-top:37px}.expertise-row{grid-template-columns:34px 1fr}.expertise-tag{grid-column:2;justify-self:start;margin-top:0}.expertise-row h3{font-size:27px}.expertise-row p{margin-top:10px}
 .language-note{flex-wrap:wrap;gap:10px 16px}.language-note>span:last-child{margin-left:39px;flex-basis:100%}
 .universe-heading{grid-template-columns:1fr;gap:28px}.universe-heading>p{max-width:480px}.gallery{column-gap:23px;row-gap:28px}.gallery-main .gallery-image{height:530px}.gallery-detail .gallery-image,.gallery-floral .gallery-image{height:198px}.gallery-meta strong{font-size:23px}.gallery-meta small{font-size:8px}.visual-note{text-align:left}
 .perspective{grid-template-columns:1fr}.perspective-image{height:360px;min-height:0}.perspective-copy{padding:54px 40px}.perspective h2{font-size:44px}.perspective-copy>p:not(.eyebrow){max-width:500px}
 .contact{grid-template-columns:1fr;gap:32px}.contact h2{font-size:54px}.contact-content{padding-top:0;max-width:590px}.contact-email{font-size:19px}.site-footer{flex-wrap:wrap}.site-footer>span:nth-child(2){display:none}
}
@media(max-width:520px){
 .header-inner{width:calc(100% - 36px);gap:10px;height:74px}.brand{gap:9px}.brand-name{font-size:14px}.monogram{width:37px;height:37px;font-size:23px}.header-actions{gap:13px}.languages{gap:5px;font-size:10px}.menu-toggle{width:26px}
 .shell{width:calc(100% - 40px)}.section-space{padding-block:66px}.eyebrow{font-size:9px;letter-spacing:.13em;gap:10px}.hero{padding-top:37px;gap:34px}.hero h1{font-size:61px;letter-spacing:-.05em;line-height:1.07;margin-top:23px;margin-bottom:21px}.hero-description{font-size:15px;max-width:320px}.hero-identity{margin-top:24px}.hero-identity strong{font-size:13px}.hero-identity div>span{font-size:11px}.button{font-size:12px;gap:18px;padding:15px 18px}.hero-buttons{gap:20px}.text-link{font-size:12px}.hero-footnote{font-size:8px;letter-spacing:.1em;margin-top:28px}
 .hero-visual{margin-left:12px}.hero-image-wrap{height:425px}.hero-caption{align-items:start;font-size:9px}.hero-caption>span:first-child{max-width:200px}.hero-caption>span:last-child{font-size:8px}.image-stamp{left:-12px;bottom:65px;width:72px;height:72px;font-size:7px;box-shadow:0 0 0 6px var(--paper)}
 .chapter-divider{gap:10px;padding-block:19px;font-size:8px;letter-spacing:.08em;text-align:center}.diamond{font-size:12px}.chapter-divider>span:not(.diamond){flex:1}
 .section-heading h2,.universe h2,.contact h2{font-size:46px;margin-top:21px}.journey{gap:28px}.lead{font-size:25px}.journey-content>p:not(.lead){font-size:14px;margin-top:19px}.places{margin-top:28px;padding-top:24px;gap:10px}.places strong{font-size:12px}.places>div>span:last-child{font-size:9px}.place-bridge{width:27px}
 .expertise-heading{gap:26px}.expertise-heading>p{font-size:15px}.expertise-row{grid-template-columns:26px 1fr;gap:16px;padding-block:28px}.expertise-row h3{font-size:25px}.expertise-row p{font-size:13px}.language-note{font-size:11px}.language-note>p{flex:1}
 .universe-heading{gap:25px}.universe-heading>p{font-size:14px}.gallery{display:block;margin-top:33px}.gallery-item+.gallery-item{margin-top:33px}.gallery-main .gallery-image{height:460px}.gallery-detail .gallery-image{height:260px}.gallery-floral .gallery-image{height:390px}.gallery-meta strong{font-size:26px}.gallery-meta small{font-size:9px}.visual-note{font-size:9px;margin-top:23px}
 .perspective-image{height:300px}.perspective-copy{padding:48px 24px}.perspective h2{font-size:37px}.perspective-copy>p:not(.eyebrow){font-size:13px}
 .contact-content .lead{font-size:24px}.contact-email{font-size:15px;margin-top:23px;gap:8px}.contact-actions{gap:22px}.contact-details{font-size:10px;gap:12px 20px}.site-footer{padding-block:23px;gap:15px}.footer-brand{font-size:21px}.footer-copyright{font-size:9px}
 dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px)}.dialog-image-wrap{height:52dvh}.dialog-close{top:10px;right:10px}.dialog-caption{padding:22px;display:block}.dialog-caption h2{font-size:29px}.dialog-caption p:not(.eyebrow){font-size:12px}.dialog-controls{justify-content:space-between;margin-top:23px}.dialog-caption small{font-size:8px}
}
@media(max-width:359px){.brand-name{font-size:12px}.header-actions{gap:9px}.hero h1{font-size:53px}.hero-buttons{gap:16px}.contact-email{font-size:13px}.hero-image-wrap{height:370px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.royale-return{padding-block:12px;font-size:14px;border-bottom:1px solid var(--line)}.royale-return a{text-decoration:underline;text-underline-offset:4px}.royale-return a:hover{color:var(--gold)}
