:root{color-scheme:light;--ink: #1a1917;--ink-muted: #4a4640;--paper: #f7f4ef;--paper-2: #efe9df;--gold: #c9a962;--gold-soft: rgba(201, 169, 98, .2);--shadow: 0 18px 50px rgba(26, 25, 23, .18);--radius: 14px;--radius-sm: 10px;--max-copy: 38rem;--page-pad-x: clamp(1rem, 4vw, 2.25rem);--page-pad-top: clamp(1.25rem, 4vw, 2.5rem);--tab-bar-h: 4.85rem;--font-serif: "Cormorant Garamond", "Times New Roman", serif;--font-sans: "DM Sans", system-ui, -apple-system, sans-serif}*,*:before,*:after{box-sizing:border-box}html{height:100%;scroll-padding-bottom:calc(var(--tab-bar-h) + max(.75rem,env(safe-area-inset-bottom)))}body{margin:0;min-height:100dvh;font-family:var(--font-sans);font-size:clamp(1rem,.96rem + .2vw,1.05rem);line-height:1.55;color:var(--ink-muted);background:var(--paper);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}#root{min-height:100dvh}img{max-width:100%;height:auto;display:block}a{color:inherit}.app-shell{min-height:100dvh;display:flex;flex-direction:column;color:var(--ink-muted);background:var(--paper)}.site-header{position:sticky;top:0;z-index:38;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:max(.45rem,env(safe-area-inset-top)) var(--page-pad-x) .55rem;border-bottom:1px solid rgba(26,25,23,.06);background:color-mix(in srgb,var(--paper) 88%,#ffffff);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.site-header__brand{display:inline-flex;align-items:center;min-height:44px;padding:.15rem 0;text-decoration:none;transition:transform .35s cubic-bezier(.22,1,.36,1)}.site-header__brand:hover{transform:translateY(-2px)}.site-header__brand:active{transform:translateY(0)}.site-header__brand:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:8px}.install-hint{padding:0 var(--page-pad-x) .65rem;animation:motion-fade-up .55s cubic-bezier(.22,1,.36,1) both}.install-hint__inner{max-width:720px;margin:0 auto;padding:.75rem 1rem .85rem;border-radius:var(--radius-sm);border:1px solid rgba(201,169,98,.45);background:color-mix(in srgb,var(--paper) 96%,#ffffff);box-shadow:0 10px 28px #1a191714}.install-hint__title{margin:0 0 .35rem;font-family:var(--font-serif);font-size:1.05rem;font-weight:600;color:var(--ink)}.install-hint__body{margin:0 0 .65rem;font-size:.9rem;line-height:1.45;color:var(--ink-muted)}.install-hint__btn{touch-action:manipulation;min-height:40px;padding:.35rem 1rem;border-radius:999px;border:1px solid rgba(26,25,23,.15);background:#fff;font-family:var(--font-sans);font-size:.82rem;font-weight:600;letter-spacing:.04em;color:var(--ink);cursor:pointer}.install-hint__btn:hover{border-color:var(--gold);color:var(--ink)}.install-hint__btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.lang-toggle{display:inline-flex;flex-shrink:0;border-radius:999px;border:1px solid rgba(26,25,23,.12);background:#ffffffa6;overflow:hidden}.lang-toggle__btn{appearance:none;border:none;margin:0;padding:.35rem .65rem;min-height:36px;font-family:var(--font-sans);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#1a19178c;background:transparent;cursor:pointer;transition:background .25s ease,color .25s ease}.lang-toggle__btn:hover{color:var(--ink);background:#c9a9621f}.lang-toggle__btn--active{color:var(--ink);background:var(--gold-soft)}.lang-toggle__btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px;z-index:1}.brand-wordmark{height:auto;width:auto;display:block}.brand-wordmark--header{max-height:26px;width:auto}.brand-wordmark--hero{width:min(560px,88vw);max-height:none}.brand-wordmark--intro{width:min(200px,55vw);margin:0 auto;opacity:.92}.brand-wordmark--iconOnly{width:56px;max-width:56px;height:auto;border-radius:12px;box-shadow:0 8px 24px #1a19171f}.page-heading{display:flex;align-items:flex-start;gap:1rem;margin:0 0 .35rem}.page-heading__text .page-title{margin-top:.15rem}.page-heading__text .eyebrow{margin-bottom:.15rem}.home-intro__mark{display:flex;justify-content:center;margin-bottom:1.25rem}.app-main{flex:1 1 auto;width:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:calc(var(--tab-bar-h) + max(.75rem,env(safe-area-inset-bottom)))}.app-main__surface{min-height:100%}.page{width:min(1120px,100%);margin:0 auto;padding:var(--page-pad-top) var(--page-pad-x) clamp(2rem,6vw,3.5rem)}.page--flush{padding:0;width:100%;max-width:none}.page-title{font-family:var(--font-serif);font-weight:600;font-size:clamp(2.1rem,1.6rem + 2vw,3rem);letter-spacing:.02em;color:var(--ink);margin:.35rem 0 .75rem}.section__title{font-family:var(--font-serif);font-weight:600;font-size:clamp(1.6rem,1.2rem + 1.4vw,2.1rem);color:var(--ink);margin:0 0 .75rem}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;color:var(--gold);margin:0}.lede{font-size:1.08rem;color:var(--ink-muted);margin:0 0 1rem}.section--narrow{max-width:var(--max-copy);margin:0 auto;padding:clamp(2rem,6vw,3.5rem) var(--page-pad-x) 3rem}.home-intro p{margin:0}.hero{position:relative;min-height:min(78dvh,720px);background-color:var(--ink);background-size:cover;background-position:center center;background-repeat:no-repeat;display:grid;align-items:end;color:#fff}.hero__veil{position:absolute;inset:0;background:linear-gradient(180deg,#1a191726,#1a1917c7)}.hero__content{position:relative;z-index:1;padding:clamp(2rem,7vw,4rem) var(--page-pad-x) clamp(2.5rem,8vw,4.5rem);display:grid;gap:1rem;justify-items:start}.hero__logo{width:min(560px,88vw);height:auto;filter:drop-shadow(0 12px 36px rgba(0,0,0,.45))}.hero__kicker{margin:0;font-family:var(--font-serif);font-size:clamp(1.05rem,.9rem + .6vw,1.35rem);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#ffffffe0}.hero__tagline{margin:0;font-family:var(--font-serif);font-size:clamp(1.25rem,1rem + 1vw,1.75rem);letter-spacing:.04em;color:#ffffffeb}.hero__tagline-en{margin:0;max-width:34rem;font-size:.98rem;line-height:1.45;color:#ffffffc7}.button{touch-action:manipulation;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:44px;padding:0 1.25rem;border-radius:999px;border:1px solid var(--gold);background:var(--gold);color:var(--ink);font-weight:600;letter-spacing:.04em;text-decoration:none;cursor:pointer;position:relative;overflow:hidden;transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .28s ease,background .28s ease,letter-spacing .35s ease}.button:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.button--ghost{background:#ffffff1f;color:#fff;border-color:#ffffff8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.button--ghost:hover{background:#fff3;letter-spacing:.08em}.button--secondary{background:transparent;color:var(--ink);border-color:#1a191740}.cta-row{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.25rem 0 .5rem}.fine-print{font-size:.85rem;color:#4a4640d9;margin:.75rem 0 0}code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.9em;background:var(--paper-2);padding:.1rem .35rem;border-radius:6px}.about-grid{display:grid;gap:clamp(1.5rem,4vw,2.5rem);align-items:start}@media(min-width:880px){.about-grid{grid-template-columns:minmax(0,1fr) minmax(0,.95fr)}}.about-copy p{margin:0 0 1rem}.about-pillars{list-style:none;margin:0 0 1.25rem;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.about-pillars__item{margin:0;padding:.45rem .95rem;border-radius:999px;border:1px solid rgba(201,169,98,.45);background:#c9a9621f;font-family:var(--font-serif);font-size:1.05rem;font-weight:600;letter-spacing:.06em;color:var(--ink);opacity:0;animation:motion-rise .6s cubic-bezier(.22,1,.36,1) forwards}.about-portrait{margin:0;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transform-origin:center top}.about-portrait__img{width:100%;height:auto;object-fit:cover}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.65rem;margin-top:1.5rem}@media(min-width:720px){.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.85rem}}@media(min-width:1200px){.gallery-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.gallery-tile{touch-action:manipulation;border:none;padding:0;margin:0;border-radius:var(--radius-sm);overflow:hidden;cursor:zoom-in;background:var(--paper-2);position:relative;aspect-ratio:3 / 4}.gallery-tile:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.gallery-tile__img{width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.22,1,.36,1)}.gallery-tile:hover .gallery-tile__img,.gallery-tile:focus-visible .gallery-tile__img{transform:scale(1.05)}.lightbox{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:max(.75rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left))}.lightbox__backdrop{position:absolute;inset:0;margin:0;padding:0;border:none;border-radius:0;display:block;width:100%;height:100%;cursor:pointer;background:#0c0b0ab8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:lightbox-backdrop-in .35s ease-out both}@keyframes lightbox-backdrop-in{0%{opacity:0}to{opacity:1}}.lightbox__panel{position:relative;width:min(1100px,100%);max-height:min(92dvh,920px);background:#0f0e0d;border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden}.lightbox__panel--enter{animation:lightbox-panel-in .42s cubic-bezier(.22,1,.36,1) both}@keyframes lightbox-panel-in{0%{opacity:0;transform:scale(.94) translateY(18px)}to{opacity:1;transform:scale(1) translateY(0)}}.lightbox__toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .85rem;border-bottom:1px solid rgba(255,255,255,.08)}.lightbox__title{margin:0;font-family:var(--font-serif);font-size:1.05rem;color:#ffffffeb}.lightbox__close{min-height:44px;padding:0 1rem;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:#ffffff0f;color:#fff;font-weight:600;letter-spacing:.04em;cursor:pointer}.lightbox__close:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.lightbox__stage{flex:1;display:grid;place-items:center;padding:.5rem;overflow:auto;-webkit-overflow-scrolling:touch}.lightbox__img{max-width:100%;max-height:min(78dvh,820px);width:auto;height:auto;object-fit:contain}.contact-list{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;gap:1rem}.contact-list li{display:grid;gap:.25rem;padding:1rem 1.1rem;border-radius:var(--radius-sm);border:1px solid rgba(26,25,23,.08);background:#fff;box-shadow:0 10px 30px #1a19170f}.contact-link{font-weight:600;color:var(--ink);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.contact-link:hover{color:var(--gold)}.contact-link--soft{font-weight:500;color:#1a1917b8}.contact-link--soft:hover{color:var(--ink)}.app-main--route-enter{animation:route-enter .48s cubic-bezier(.22,1,.36,1) both}@keyframes route-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.motion-fade-up{opacity:0;animation:motion-fade-up .68s cubic-bezier(.22,1,.36,1) forwards}.motion-scale-in{opacity:0;animation:motion-scale-in .75s cubic-bezier(.22,1,.36,1) forwards}.motion-rise{opacity:0;animation:motion-rise .62s cubic-bezier(.22,1,.36,1) forwards}.motion-reveal{opacity:0;animation:motion-reveal .85s cubic-bezier(.22,1,.36,1) forwards}.motion-tile-rise{opacity:0;animation:motion-tile-rise .55s cubic-bezier(.22,1,.36,1) forwards}@keyframes motion-fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes motion-scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes motion-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes motion-reveal{0%{opacity:0;transform:translate(12px);filter:blur(4px)}to{opacity:1;transform:translate(0);filter:blur(0)}}@keyframes motion-tile-rise{0%{opacity:0;transform:translateY(22px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.tab-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;border-top:1px solid rgba(26,25,23,.08);background:color-mix(in srgb,var(--paper) 92%,#ffffff);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding-bottom:max(.35rem,env(safe-area-inset-bottom));padding-left:max(.25rem,env(safe-area-inset-left));padding-right:max(.25rem,env(safe-area-inset-right))}.tab-bar__crest{display:flex;justify-content:center;padding:.35rem 0 .1rem}.tab-bar__crest-img{width:22px;height:22px;object-fit:contain;border-radius:6px;opacity:.92;transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .35s ease}.tab-bar__crest:hover .tab-bar__crest-img{transform:scale(1.08) rotate(-6deg)}.tab-bar__list{list-style:none;margin:0 auto;padding:.2rem 0 .15rem;max-width:720px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.15rem}.tab-bar__link{touch-action:manipulation;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;min-height:44px;padding:.35rem .2rem;border-radius:12px;text-decoration:none;color:#1a19178c;font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;font-weight:600;transition:color .25s ease,background .3s ease,transform .22s cubic-bezier(.22,1,.36,1)}.tab-bar__link:active{transform:scale(.94)}.tab-bar__link:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.tab-bar__link--active{color:var(--ink);background:var(--gold-soft)}.tab-bar__icon{width:22px;height:22px}.tab-bar__label{line-height:1.1;white-space:nowrap}@media(max-width:360px){.tab-bar__label{font-size:.62rem;letter-spacing:.02em}}@media(prefers-reduced-motion:reduce){.motion-fade-up,.motion-scale-in,.motion-rise,.motion-reveal,.motion-tile-rise,.app-main--route-enter,.lightbox__panel--enter,.lightbox__backdrop,.about-pillars__item,.install-hint{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}.tab-bar__crest-img{transition:none!important}.tab-bar__crest:hover .tab-bar__crest-img{transform:none!important}.site-header__brand{transition:none!important}.site-header__brand:hover{transform:none!important}.gallery-tile__img,.button,.tab-bar__link{transition:none!important}.tab-bar__link:active{transform:none!important}.lang-toggle__btn{transition:none!important}}
