:root{--ink: #1d242d;--ink-2: #3a4558;--ink-3: #6b7280;--ink-4: #a1a8b3;--paper: #f7f4ec;--paper-2: #efeadd;--paper-3: #e6dfcc;--line: #2b3443;--line-faint: rgba(43, 52, 67, .18);--accent-cream: #e0d2b8;--accent-navy: #2b3443;--accent-gold: #b89668;--serif: "Cormorant Garamond", Georgia, serif;--sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--container: 1240px;--pad-x: clamp(20px, 4vw, 56px)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}img{max-width:100%;display:block}button{font:inherit;cursor:pointer}.container{max-width:var(--container);margin:0 auto;padding:0 var(--pad-x)}main{min-height:60vh}.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);font-weight:500}.serif{font-family:var(--serif);font-weight:500;letter-spacing:-.012em}.serif em,em.accent{font-style:italic;color:var(--accent-gold);font-weight:500}.t-xl{font-family:var(--serif);font-weight:500;font-size:clamp(40px,6vw,72px);line-height:1;letter-spacing:-.018em;margin:0}.t-lg{font-family:var(--serif);font-weight:500;font-size:clamp(32px,4.4vw,48px);line-height:1.05;letter-spacing:-.014em;margin:0}.t-md{font-family:var(--serif);font-weight:500;font-size:clamp(24px,2.8vw,32px);line-height:1.15;margin:0}.t-sm{font-family:var(--serif);font-weight:500;font-size:22px;line-height:1.2;margin:0}.lead{font-family:var(--serif);font-style:italic;font-size:clamp(18px,1.6vw,22px);color:var(--ink-2);line-height:1.45}.fine{font-size:12px;color:var(--ink-3)}.btn{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;padding:13px 22px;border:1.5px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:2px;transition:all .16s ease}.btn:hover{background:var(--ink);color:var(--paper);text-decoration:none}.btn--primary{background:var(--ink);color:var(--paper)}.btn--primary:hover{background:transparent;color:var(--ink)}.btn--cream{background:var(--accent-cream);border-color:var(--ink);color:var(--ink)}.btn--cream:hover{background:var(--ink);color:var(--accent-cream)}.btn--ghost{background:transparent}.btn--lg{padding:15px 26px;font-size:12px}.btn--sm{padding:9px 14px;font-size:10px}.btn--block{display:flex;width:100%;justify-content:center}.chip{display:inline-flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;padding:6px 11px;border:1px solid var(--line);border-radius:999px;background:var(--paper)}.chip__dot{width:6px;height:6px;border-radius:999px;background:#2e8b57}.chip--filled{background:var(--ink);color:var(--paper);border-color:var(--ink)}.chip--cream{background:var(--accent-cream);border-color:var(--ink)}.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px var(--pad-x);background:#f7f4eceb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line-faint)}.nav__brand{font-family:var(--serif);font-weight:500;font-size:18px;letter-spacing:.22em;line-height:1;display:flex;align-items:center}.nav__brand small{display:block;font-family:var(--sans);font-size:8px;letter-spacing:.26em;font-weight:500;color:var(--accent-gold);margin-top:4px}.nav__brand-logo{display:block;height:64px;width:auto;border-radius:8px;box-shadow:0 1px #2b34430f}@media (max-width: 860px){.nav__brand-logo{height:52px}}.nav__links{display:flex;gap:26px}.nav__links a{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;padding:4px 0;color:var(--ink-2)}.nav__links a:hover{color:var(--ink);text-decoration:none}.nav__links a.active{color:var(--ink);border-bottom:1px solid var(--accent-gold)}.nav__cta{font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;padding:10px 16px;border:1px solid var(--ink);border-radius:2px}.nav__cta:hover{background:var(--ink);color:var(--paper);text-decoration:none}.nav__menu-btn{display:none}@media (max-width: 860px){.nav__links,.nav__cta{display:none}.nav__menu-btn{display:inline-flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;background:none;border:1px solid var(--ink);padding:9px 14px;border-radius:2px}.nav.is-open{flex-wrap:wrap}.nav.is-open .nav__links{display:flex;flex-direction:column;gap:14px;width:100%;padding-top:18px;border-top:1px dashed var(--line-faint);margin-top:12px}.nav.is-open .nav__cta{display:inline-flex;align-self:flex-start}}.photo{background:var(--paper-2);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--ink-3);font-family:var(--serif);font-style:italic;font-size:18px;width:100%}.photo--placeholder:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(45deg,transparent 0 18px,rgba(43,52,67,.04) 18px 19px)}.photo--placeholder:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 30% 30%,rgba(184,150,104,.05) 0%,transparent 50%),radial-gradient(circle at 70% 70%,rgba(43,52,67,.04) 0%,transparent 50%)}.photo__label{position:relative;z-index:1;background:#f7f4ecd9;padding:6px 14px;border:1px solid var(--line-faint);border-radius:999px;font-size:14px;color:var(--ink-3);letter-spacing:.04em}.photo--dark{background:var(--accent-navy);color:var(--accent-cream)}.photo--dark.photo--placeholder:before{background:repeating-linear-gradient(45deg,transparent 0 18px,rgba(255,255,255,.04) 18px 19px)}.photo--dark .photo__label{background:#2b3443d9;border-color:#ffffff2e;color:var(--accent-cream)}.photo--cream{background:var(--accent-cream)}img.photo{object-fit:cover}.footer{background:var(--ink);color:var(--paper);padding:64px var(--pad-x) 28px}.footer__inner{max-width:var(--container);margin:0 auto;display:grid;grid-template-columns:1.1fr 2fr;gap:48px}.footer__mark{font-family:var(--serif);font-size:22px;letter-spacing:.2em;font-weight:500}.footer__tag{font-family:var(--serif);font-style:italic;color:var(--accent-cream);font-size:18px;margin-top:14px}.footer__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.footer__cols h4{font-family:var(--sans);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-cream);margin:0 0 12px;font-weight:500}.footer__cols p{margin:4px 0;font-size:13px;color:#f7f4ecdb}.footer__cols a:hover{color:var(--accent-cream)}.footer__bottom{max-width:var(--container);margin:48px auto 0;padding-top:22px;border-top:1px solid rgba(255,255,255,.16);display:flex;justify-content:space-between;align-items:center;gap:18px}.footer__bottom small{font-size:11px;color:#f7f4ec99;letter-spacing:.08em}.footer__bottom a{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-cream)}@media (max-width: 720px){.footer__inner{grid-template-columns:1fr;gap:32px}.footer__cols{grid-template-columns:1fr 1fr}.footer__bottom{flex-direction:column;align-items:flex-start}}.section{padding:clamp(56px,7vw,96px) var(--pad-x)}.section--pad-sm{padding:clamp(40px,5vw,64px) var(--pad-x)}.section--ink{background:var(--ink);color:var(--paper)}.section--paper2{background:var(--paper-2)}.section--cream{background:var(--accent-cream);color:var(--ink)}.section__inner{max-width:var(--container);margin:0 auto}.section--ink .eyebrow{color:var(--accent-cream)}.divider{border:none;border-top:1px solid var(--line);margin:28px 0}.divider--double{border:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line);height:4px;margin:22px 0}.divider--diamond{text-align:center;color:var(--accent-gold);letter-spacing:1em;padding:28px 0;font-size:14px}.grid{display:grid;gap:clamp(20px,2.4vw,32px)}.grid--2{grid-template-columns:1fr 1fr}.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}@media (max-width: 920px){.grid--3,.grid--4{grid-template-columns:1fr 1fr}}@media (max-width: 640px){.grid--2,.grid--3,.grid--4{grid-template-columns:1fr}}.page-head{padding:clamp(56px,8vw,96px) var(--pad-x) clamp(32px,4vw,56px)}.page-head__inner{max-width:var(--container);margin:0 auto}.page-head h1{margin-top:14px}.page-head .lead{margin-top:18px;max-width:60ch}.home-mast{border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px var(--pad-x);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3)}.home-cover{padding:clamp(40px,5vw,72px) var(--pad-x)}.home-cover__inner{max-width:var(--container);margin:0 auto;display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,4vw,56px);align-items:stretch}.home-cover__copy{display:flex;flex-direction:column;justify-content:space-between;gap:32px}.home-cover h1{font-family:var(--serif);font-weight:500;font-size:clamp(48px,6.4vw,88px);line-height:.96;letter-spacing:-.022em;margin:22px 0 0}.home-cover__lead{font-family:var(--serif);font-style:italic;color:var(--ink-2);font-size:clamp(18px,1.6vw,24px);margin-top:22px}.home-cover__bottom{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding-top:18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-bottom:18px}.home-cover__photo{aspect-ratio:4/5}@media (max-width: 860px){.home-cover__inner{grid-template-columns:1fr}.home-cover__photo{aspect-ratio:4/3}}.tag{display:inline-block;background:var(--accent-cream);border:1px solid var(--ink);padding:4px 12px;font-family:var(--serif);font-style:italic;font-size:14px}.toc-num{font-family:var(--serif);font-size:clamp(40px,4.6vw,56px);color:var(--accent-gold);line-height:1;font-weight:400}.props-split{max-width:var(--container);margin:0 auto;padding:0 var(--pad-x) clamp(56px,7vw,96px);display:grid;grid-template-columns:1.4fr 1fr;gap:24px}@media (max-width: 920px){.props-split{grid-template-columns:1fr}}.map{position:relative;overflow:hidden;background:var(--paper-2);border:1px solid var(--line);border-radius:2px;min-height:560px}.map:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(rgba(43,52,67,.04) 1px,transparent 1px) 0 0/40px 40px,linear-gradient(90deg,rgba(43,52,67,.04) 1px,transparent 1px) 0 0/40px 40px,radial-gradient(circle at 20% 30%,rgba(184,150,104,.08) 0%,transparent 40%),radial-gradient(circle at 75% 65%,rgba(43,52,67,.06) 0%,transparent 40%)}.map__iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.map__legend{position:absolute;left:20px;top:20px;z-index:1;background:var(--paper);border:1px solid var(--line);padding:10px 14px;font-size:10px;letter-spacing:.18em;text-transform:uppercase}.map__pin{position:absolute;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;gap:4px}.map__pin-label{background:var(--paper);border:1px solid var(--ink);border-radius:999px;padding:4px 12px;font-size:11px;letter-spacing:.06em;white-space:nowrap;font-family:var(--serif)}.map__pin-dot{width:14px;height:14px;border-radius:999px;background:var(--accent-gold);border:2px solid var(--paper);box-shadow:0 1px 4px #00000040}.detail-map{position:relative;height:400px;border:1px solid var(--line);border-radius:2px;overflow:hidden}.detail-map__iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.props-rail{display:flex;flex-direction:column;gap:14px}.props-rail__head{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:4px}.listing-card{display:grid;grid-template-columns:130px 1fr;gap:16px;border:1px solid var(--line-faint);border-radius:2px;padding:12px;background:var(--paper);transition:border-color .16s ease,transform .16s ease}.listing-card:hover{border-color:var(--ink);text-decoration:none}.listing-card__photo{aspect-ratio:1/1}.listing-card__body{display:flex;flex-direction:column;gap:4px;padding:4px 4px 4px 0}.listing-card__price{display:flex;justify-content:space-between;align-items:baseline;margin-top:auto;padding-top:8px}.listing-card__price strong{font-family:var(--serif);font-size:20px;font-weight:500}.detail-back{padding:24px var(--pad-x) 0;max-width:var(--container);margin:0 auto;font-size:12px;color:var(--ink-3);letter-spacing:.06em}.detail-gallery{max-width:var(--container);margin:0 auto;padding:18px var(--pad-x) 36px;display:flex;flex-direction:column;gap:12px}.detail-gallery__hero{aspect-ratio:16/9}.detail-gallery__strip{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.detail-gallery__strip-item{flex:0 0 auto;width:220px;aspect-ratio:4/3;scroll-snap-align:start}@media (max-width: 720px){.detail-gallery__strip-item{width:70%}}.gallery-trigger{display:block;padding:0;margin:0;border:0;background:transparent;cursor:zoom-in;width:100%;text-align:left;font:inherit;color:inherit}.gallery-trigger>.photo{width:100%;height:100%;transition:opacity .16s ease,transform .2s ease}.gallery-trigger:hover>.photo{opacity:.92}.gallery-trigger:focus-visible{outline:2px solid var(--accent-gold);outline-offset:3px}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0f1116eb;display:flex;align-items:center;justify-content:center;padding:5vh 7vw;animation:lb-fade .16s ease-out}@keyframes lb-fade{0%{opacity:0}to{opacity:1}}.lightbox__figure{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;gap:12px}.lightbox__img{max-width:100%;max-height:86vh;object-fit:contain;box-shadow:0 20px 60px #00000080}.lightbox__caption{font-family:var(--serif);font-style:italic;color:var(--accent-cream);font-size:14px;letter-spacing:.04em}.lightbox__close,.lightbox__nav{position:absolute;background:transparent;border:1px solid rgba(224,210,184,.4);color:var(--accent-cream);cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .14s ease,border-color .14s ease}.lightbox__close:hover,.lightbox__nav:hover{background:#e0d2b81f;border-color:var(--accent-cream)}.lightbox__close{top:20px;right:20px;width:44px;height:44px;font-size:28px}.lightbox__nav{top:50%;transform:translateY(-50%);width:52px;height:52px;font-size:36px;border-radius:50%}.lightbox__nav--prev{left:20px}.lightbox__nav--next{right:20px}.lightbox__counter{position:absolute;bottom:20px;left:50%;transform:translate(-50%);color:var(--accent-cream);font-size:11px;letter-spacing:.2em;text-transform:uppercase}@media (max-width: 720px){.lightbox{padding:8vh 4vw}.lightbox__nav{width:40px;height:40px;font-size:28px}.lightbox__nav--prev{left:8px}.lightbox__nav--next{right:8px}}.detail-head{max-width:var(--container);margin:0 auto;padding:0 var(--pad-x) 32px;display:grid;grid-template-columns:1.5fr 1fr;gap:32px;align-items:end}.detail-head__price{text-align:right}.detail-head__price strong{font-family:var(--serif);font-size:clamp(32px,4.4vw,48px);font-weight:500;line-height:1}@media (max-width: 720px){.detail-head{grid-template-columns:1fr}.detail-head__price{text-align:left}}.detail-body{max-width:var(--container);margin:0 auto;padding:32px var(--pad-x) clamp(56px,7vw,96px);display:grid;grid-template-columns:1.6fr 1fr;gap:clamp(28px,4vw,56px);align-items:start}@media (max-width: 920px){.detail-body{grid-template-columns:1fr}}.detail-body p{font-size:16px;line-height:1.7;margin:0 0 18px;max-width:64ch;color:var(--ink-2)}.feature-list{list-style:none;padding:0;margin:18px 0 0;columns:2;column-gap:24px}.feature-list li{padding:10px 0 10px 18px;border-bottom:1px solid var(--line-faint);position:relative;font-size:14px;break-inside:avoid}.feature-list li:before{content:"◇";position:absolute;left:0;top:12px;color:var(--accent-gold);font-size:10px}@media (max-width: 540px){.feature-list{columns:1}}.spec-card{background:var(--paper-2);border:1px solid var(--line);padding:28px;position:sticky;top:96px}.spec-card__row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line-faint)}.spec-card__row:last-of-type{border-bottom:none}.spec-card__row .k{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}.spec-card__row .v{font-family:var(--serif);font-size:16px}.amen-section{padding:clamp(48px,6vw,80px) var(--pad-x);border-top:1px solid var(--line-faint)}.amen-section--alt{background:var(--paper-2)}.amen-section__inner{max-width:var(--container);margin:0 auto;display:grid;grid-template-columns:1fr 1.6fr;gap:clamp(28px,4vw,56px);align-items:start}@media (max-width: 920px){.amen-section__inner{grid-template-columns:1fr}}.amen-section__head{position:sticky;top:96px}.amen-section__num{font-family:var(--serif);color:var(--accent-gold);font-size:clamp(48px,5.4vw,64px);line-height:1}.amen-section__photo{aspect-ratio:4/3;margin-top:24px}.amen-list{list-style:none;padding:0;margin:0;columns:2;column-gap:32px}.amen-list li{padding:16px 0 16px 22px;border-bottom:1px solid var(--line-faint);position:relative;break-inside:avoid;font-family:var(--serif);font-size:18px}.amen-list li:before{content:"◇";position:absolute;left:0;top:18px;color:var(--accent-gold);font-size:11px}@media (max-width: 640px){.amen-list{columns:1}}.manifesto{max-width:720px;margin:0 auto;padding:0 var(--pad-x) clamp(56px,7vw,96px)}.manifesto p{font-size:17px;line-height:1.75;color:var(--ink-2)}.manifesto p:first-of-type:first-letter{font-family:var(--serif);font-size:76px;float:left;line-height:.85;color:var(--accent-gold);padding:4px 12px 0 0}.founder{display:flex;flex-direction:column;gap:18px}.founder__photo{aspect-ratio:4/5}.value{padding:0 18px;border-left:1px solid rgba(224,210,184,.2)}.value__mark{font-family:var(--serif);font-size:22px;color:var(--accent-cream)}.value__title{font-family:var(--serif);font-size:22px;margin-top:12px;color:var(--paper)}.value__desc{font-size:13px;color:#ffffffb8;margin-top:8px;line-height:1.6}.contact-page{max-width:var(--container);margin:0 auto;padding:clamp(40px,6vw,72px) var(--pad-x) clamp(56px,7vw,96px);display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(32px,4vw,56px)}@media (max-width: 920px){.contact-page{grid-template-columns:1fr}}.letter{background:var(--paper);border:1px solid var(--line);padding:clamp(28px,4vw,48px);position:relative}.letter__sticker{position:absolute;top:-14px;right:32px;background:var(--accent-cream);border:1px solid var(--ink);padding:4px 12px;font-family:var(--serif);font-style:italic;font-size:14px}.letter__greeting{font-family:var(--serif);font-style:italic;font-size:28px}.letter__intro{font-size:16px;color:var(--ink-2);margin:14px 0 24px;line-height:1.6}.letter__row{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media (max-width: 540px){.letter__row{grid-template-columns:1fr}}.letter__field{margin-top:18px}.letter__field label{display:block;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);font-weight:500;margin-bottom:6px}.letter__field input,.letter__field textarea,.letter__field select{width:100%;border:none;border-bottom:1.5px solid var(--line);background:transparent;padding:10px 0;font:inherit;color:var(--ink);border-radius:0;resize:vertical}.letter__field input:focus,.letter__field textarea:focus,.letter__field select:focus{outline:none;border-bottom-color:var(--accent-gold)}.letter__field textarea{min-height:140px}.letter__sign{margin-top:32px;display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap}.letter__sign-warmth{font-family:var(--serif);font-style:italic;font-size:22px}.letter__sign-name{font-family:var(--serif);font-style:italic;font-size:26px;margin-top:4px}.letter__status{padding:14px 18px;border:1px solid var(--line);margin-top:18px;font-size:14px}.letter__status--ok{border-color:#2e8b57;background:#2e8b570f;color:#2e8b57}.letter__status--err{border-color:#b94a48;background:#b94a480f;color:#b94a48}.postcard{background:var(--accent-cream);border:1px solid var(--ink);padding:28px;transform:rotate(1.2deg);box-shadow:4px 6px #2b34431f}.postcard__row{padding:12px 0;border-bottom:1px solid rgba(43,52,67,.18)}.postcard__row:last-child{border-bottom:none}.postcard__k{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-2);margin-bottom:4px}.postcard__v{font-family:var(--serif);font-size:22px}.postcard__v a:hover{color:var(--ink)}.notfound{max-width:720px;margin:0 auto;padding:clamp(64px,8vw,120px) var(--pad-x);text-align:center}.notfound .num{font-family:var(--serif);font-size:clamp(80px,12vw,160px);color:var(--accent-gold);line-height:1}
