:root{--font-display: "Italiana", "Times New Roman", serif;--font-body: "EB Garamond", "Georgia", "Times New Roman", serif;--font-ui: "Inter Tight", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;--lh-display: .92;--lh-body: 1.55;--lh-ui: 1.15;--tracking-display: -.005em;--tracking-uppercase: .18em;--tracking-body: .005em}html{font-family:var(--font-body);font-size:17px;line-height:var(--lh-body);letter-spacing:var(--tracking-body);font-feature-settings:"kern" 1,"liga" 1,"onum" 1;font-variant-numeric:oldstyle-nums proportional-nums;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,.display{font-family:var(--font-display);font-weight:400;line-height:var(--lh-display);letter-spacing:var(--tracking-display);font-feature-settings:"kern" 1,"liga" 1,"dlig" 1}.ui,.page-indicator,.spread__folio,.cover-issue,.imprint-h,.gallery-hint,.colophon,.services-kicker,.gallery-kicker,.quotes-kicker,.booking-kicker{font-family:var(--font-ui);font-weight:500;font-size:.72rem;line-height:var(--lh-ui);letter-spacing:var(--tracking-uppercase);text-transform:uppercase;font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums}em,i{font-style:italic}h1 em,h2 em,h3 em,.display em{font-family:var(--font-display);font-style:italic;color:var(--accent-rose)}::selection{background:var(--accent-burgundy);color:var(--paper)}:root{--paper: #f4ede0;--paper-deep: #ece2cf;--ink: #1a1612;--ink-soft: #4a3f33;--accent-burgundy: #7a1f2b;--accent-rose: #d4a094;--accent-gold: #a88860;--accent-coral: #ee8b77;--hairline: rgba(26, 22, 18, .18);--hairline-strong: rgba(26, 22, 18, .45);--spread-pad-x: clamp(20px, 5vw, 80px);--spread-pad-y: clamp(48px, 8vh, 100px);--ease: cubic-bezier(.25, 1, .5, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--paper);color:var(--ink);overflow-x:hidden}body{min-height:100vh;min-height:100svh}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent-burgundy);outline-offset:4px}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}input,textarea{font:inherit;color:inherit;background:transparent;border:0;border-bottom:1px solid var(--hairline-strong);padding:8px 0;width:100%}input:focus,textarea:focus{border-bottom-color:var(--accent-burgundy);outline:none}textarea{resize:vertical;font-family:var(--font-body)}.skip-link{position:absolute;left:-9999px;top:0}.skip-link:focus{left:16px;top:16px;background:var(--ink);color:var(--paper);padding:8px 14px;z-index:9999;font-family:var(--font-ui);font-size:.75rem;letter-spacing:.16em;text-transform:uppercase}#magazine{scroll-snap-type:y mandatory;scroll-behavior:smooth;height:100vh;height:100svh;overflow-y:scroll;overflow-x:hidden;scrollbar-width:none}#magazine::-webkit-scrollbar{display:none}.spread{scroll-snap-align:start;scroll-snap-stop:always;min-height:100vh;min-height:100svh;position:relative;padding:var(--spread-pad-y) var(--spread-pad-x);display:flex;flex-direction:column;overflow:hidden}.spread__folio{position:absolute;top:20px;right:var(--spread-pad-x);display:flex;align-items:center;gap:10px;color:var(--ink-soft);font-size:.65rem;z-index:3}.spread__folio .rule{width:28px;height:1px;background:var(--hairline-strong);display:inline-block}.page-indicator{position:fixed;left:20px;top:50%;transform:translateY(-50%);z-index:50;display:flex;flex-direction:column;align-items:flex-start;gap:24px;pointer-events:auto}.page-indicator ol{list-style:none;display:flex;flex-direction:column;gap:18px}.page-indicator li a{display:flex;align-items:center;gap:12px;padding:4px 2px;color:var(--ink-soft);transition:color .4s var(--ease)}.page-indicator .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--ink);opacity:.35;transition:all .5s var(--ease)}.page-indicator .num{font-family:var(--font-ui);font-size:.62rem;letter-spacing:.18em;opacity:0;transform:translate(-4px);transition:opacity .4s var(--ease),transform .4s var(--ease)}.page-indicator li.is-active .dot{width:28px;height:2px;border-radius:0;background:var(--accent-burgundy);opacity:1}.page-indicator li.is-active .num,.page-indicator li:hover .num{opacity:1;transform:translate(0)}.page-indicator li.is-active a{color:var(--accent-burgundy)}.indicator-meta{font-family:var(--font-ui);font-size:.6rem;letter-spacing:.22em;color:var(--ink-soft);padding-left:2px;display:flex;gap:4px}.indicator-meta .curr{color:var(--accent-burgundy);font-weight:600}@media (max-width: 640px){.page-indicator{left:12px;gap:14px}.page-indicator ol{gap:12px}.indicator-meta{font-size:.55rem}}.spread--cover{background:var(--paper);justify-content:space-between}.cover-photo{position:absolute;inset:0;background-image:linear-gradient(#1a161273,#1a16128c),url(/img/n1.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;z-index:0;will-change:transform;transition:transform .6s var(--ease)}.cover-grain{position:absolute;inset:-10%;background-image:repeating-conic-gradient(rgba(26,22,18,.04) 0deg .5deg,transparent .5deg 1.4deg);mix-blend-mode:multiply;opacity:.55;pointer-events:none}.cover-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#f4ede026,#f4ede000 35%,#f4ede040)}.masthead{position:relative;z-index:2;font-family:var(--font-ui);font-weight:700;font-size:.95rem;letter-spacing:.32em;text-transform:uppercase;color:var(--ink);display:flex;align-items:center;gap:10px;padding-bottom:14px;border-bottom:1px solid var(--ink);width:fit-content;max-width:100%}.masthead__dot{color:var(--accent-burgundy)}.masthead__sub{font-weight:400;letter-spacing:.22em}.cover-issue{position:relative;z-index:2;margin-top:14px;display:flex;flex-wrap:wrap;gap:8px;font-size:.6rem!important;color:var(--ink-soft)}.cover-issue .dash{opacity:.5}.cover-title{position:relative;z-index:2;font-family:var(--font-display);font-size:clamp(44px,11vw,170px);line-height:.95;color:var(--ink);margin:auto 0;padding-left:clamp(0px,3vw,40px);max-width:100%}.cover-title .line{display:block}.cover-title .line-1{transform:translate(0)}.cover-title .line-2{transform:translate(clamp(12px,4vw,50px));color:var(--accent-burgundy)}.cover-title .line-3{transform:translate(clamp(24px,7vw,90px))}.cover-title em{font-style:italic;color:var(--accent-rose)}.cover-footer{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-end;padding-top:14px;border-top:1px solid var(--ink);font-family:var(--font-ui);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase}.cover-footer__price{font-weight:600}.cover-footer__hint{color:var(--accent-burgundy);animation:bob 2.6s var(--ease) infinite}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.spread--services{background:var(--paper);justify-content:center}.services-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(24px,5vw,80px);align-items:center;width:100%;max-width:1400px;margin:0 auto}.services-kicker{color:var(--accent-burgundy);margin-bottom:14px}.services-title{font-size:clamp(48px,7vw,110px);line-height:.95;margin-bottom:clamp(28px,5vh,56px)}.services-title em{color:var(--accent-burgundy)}.services-list{list-style:none;border-top:1px solid var(--hairline-strong)}.services-list li{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:20px;padding:clamp(18px,3vh,28px) 4px;border-bottom:1px solid var(--hairline);cursor:pointer;transition:transform .5s var(--ease),color .4s var(--ease),border-color .4s var(--ease)}.services-list li:hover,.services-list li:focus-visible{transform:translate(8px);border-bottom-color:var(--accent-burgundy);color:var(--accent-burgundy)}.services-list .num{font-family:var(--font-ui);font-size:.7rem;letter-spacing:.22em;color:var(--ink-soft);text-transform:uppercase}.services-list .name{font-family:var(--font-display);font-size:clamp(28px,3.4vw,46px);line-height:1.05}.services-list .price{font-family:var(--font-ui);font-size:.78rem;letter-spacing:.14em;color:var(--ink);white-space:nowrap;font-feature-settings:"tnum" 1}.services-list li:hover .price{color:var(--accent-burgundy)}.services-photo{position:relative;display:flex;flex-direction:column;gap:14px}.photo-stack{position:relative;width:100%;aspect-ratio:4 / 5;max-height:70vh}.photo-stack--duo{overflow:visible}.photo-stack__img{position:absolute;display:block;object-fit:cover;object-position:center;box-shadow:0 30px 60px -20px #1a161273}.photo-stack__img--back{top:0;right:0;width:62%;aspect-ratio:340 / 420;z-index:1}.photo-stack__img--front{bottom:0;left:0;width:72%;aspect-ratio:380 / 460;z-index:2}.services-photo figcaption{font-family:var(--font-body);font-style:italic;font-size:.92rem;color:var(--ink-soft);text-align:right}.spread--gallery{background:var(--paper-deep);padding-right:0}.gallery-head{display:flex;align-items:baseline;gap:24px;flex-wrap:wrap;margin-bottom:clamp(24px,4vh,40px)}.gallery-kicker{color:var(--accent-burgundy)}.gallery-title{font-size:clamp(40px,6vw,90px);flex-shrink:0}.gallery-title em{color:var(--accent-burgundy)}.gallery-hint{color:var(--accent-gold);font-style:italic;font-family:var(--font-body)!important;text-transform:none!important;letter-spacing:0!important;font-size:.95rem!important;margin-left:auto;padding-right:var(--spread-pad-x)}.gallery-track{display:flex;gap:clamp(20px,3vw,48px);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;padding:20px 0 40px;flex-grow:1;align-items:center;cursor:grab;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.gallery-track::-webkit-scrollbar{display:none}.gallery-track:active{cursor:grabbing}.gallery-item{flex:0 0 auto;display:flex;flex-direction:column;gap:12px;scroll-snap-align:center}.gallery-item[data-ratio="3-4"] .gallery-img{width:clamp(220px,28vw,380px);aspect-ratio:3 / 4}.gallery-item[data-ratio="4-5"] .gallery-img{width:clamp(240px,30vw,420px);aspect-ratio:4 / 5}.gallery-item[data-ratio="9-16"] .gallery-img{width:clamp(180px,22vw,300px);aspect-ratio:9 / 16}.gallery-item[data-ratio="4-3"] .gallery-img{width:clamp(280px,36vw,480px);aspect-ratio:4 / 3}.gallery-img{box-shadow:0 24px 40px -18px #1a161266;display:block;height:auto;object-fit:cover;object-position:center;background:var(--paper)}.gallery-item figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:0 4px}.gallery-item figcaption span{font-family:var(--font-ui);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase}.gallery-item figcaption em{font-style:italic;color:var(--ink-soft);font-size:.88rem}.spread--about{background:var(--paper);display:grid;grid-template-columns:1fr 580px 1fr;gap:clamp(20px,4vw,60px);align-items:center;padding-left:var(--spread-pad-x);padding-right:var(--spread-pad-x)}.about-portrait{grid-column:1;display:flex;justify-content:center}.portrait-frame{width:clamp(180px,22vw,280px);aspect-ratio:1 / 1;border-radius:50%;object-fit:cover;object-position:center;box-shadow:0 30px 60px -20px #1a161266;display:block}.about-letter{grid-column:2;max-width:580px;font-size:1.08rem;line-height:1.65;color:var(--ink)}.about-letter .letter-open{font-family:var(--font-display);font-size:1.4rem;color:var(--accent-burgundy);margin-bottom:20px}.about-letter .letter-open em{color:var(--accent-burgundy)}.about-letter p+p{margin-top:1.2em}.about-letter p[data-reveal]{clip-path:inset(0 0 100% 0);opacity:0;transition:clip-path 1s var(--ease),opacity .8s var(--ease)}.about-letter p[data-reveal].is-revealed{clip-path:inset(0 0 0 0);opacity:1}.signature{margin-top:28px;max-width:220px}.signature svg{width:100%;height:auto;display:block}.sig-path{stroke-dasharray:800;stroke-dashoffset:800}.signature.is-revealed .sig-path{animation:drawSig 2.2s var(--ease) forwards}@keyframes drawSig{to{stroke-dashoffset:0}}.spread--quotes{background:var(--paper-deep);justify-content:center}.quotes-head{margin-bottom:clamp(32px,6vh,60px);text-align:center}.quotes-kicker{color:var(--accent-burgundy);margin-bottom:12px}.quotes-title{font-size:clamp(40px,6vw,88px)}.quotes-title em{color:var(--accent-burgundy)}.quotes-list{list-style:none;display:flex;flex-direction:column;gap:clamp(40px,6vh,80px);max-width:1100px;margin:0 auto;width:100%}.quote{position:relative;padding:24px 12px;clip-path:inset(100% 0 0 0);opacity:0;transition:clip-path .9s var(--ease),opacity .7s var(--ease)}.quote.is-revealed{clip-path:inset(0 0 0 0);opacity:1}.quote-mark{position:absolute;top:-36px;left:-8px;font-family:var(--font-display);font-size:clamp(80px,12vw,180px);line-height:1;color:var(--accent-rose);opacity:0;transform:translateY(20px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:.1s}.quote.is-revealed .quote-mark{opacity:.7;transform:translateY(0)}.quote blockquote{font-family:var(--font-display);font-size:clamp(26px,3.6vw,52px);line-height:1.18;color:var(--ink);font-style:italic;max-width:980px}.quote cite{display:block;margin-top:18px;font-family:var(--font-ui);font-style:normal;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-burgundy)}.quote:nth-child(2n){padding-left:clamp(40px,12vw,160px)}.quote:nth-child(2n) .quote-mark{left:clamp(32px,11vw,150px)}.spread--booking{background:var(--paper);justify-content:center;align-items:center}.booking-card{width:100%;max-width:820px;background:#fbf6ec;padding:clamp(32px,5vw,64px) clamp(28px,5vw,72px);box-shadow:0 40px 80px -30px #1a161259,0 12px 24px -10px #1a16122e;backdrop-filter:blur(10px);border-top:4px solid var(--accent-burgundy);position:relative}.booking-card:before{content:"";position:absolute;inset:6px;border:1px solid var(--hairline);pointer-events:none}.booking-kicker{color:var(--accent-burgundy);margin-bottom:10px}.booking-title{font-size:clamp(40px,5.5vw,80px);margin-bottom:16px}.booking-title em{color:var(--accent-burgundy)}.booking-lede{font-size:1rem;color:var(--ink-soft);max-width:540px;margin-bottom:28px;line-height:1.55}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:20px 28px;margin-bottom:32px}.booking-form label{display:flex;flex-direction:column;gap:6px}.booking-form label.full{grid-column:1 / -1}.booking-form label span{font-family:var(--font-ui);font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft)}.booking-submit{grid-column:1 / -1;justify-self:start;background:var(--accent-burgundy);color:var(--paper);padding:14px 34px;font-family:var(--font-ui);font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;transition:background .4s var(--ease),transform .3s var(--ease)}.booking-submit:hover,.booking-submit:focus-visible{background:var(--ink);transform:translateY(-1px)}.imprint{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-top:24px;border-top:1px solid var(--hairline-strong);font-size:.92rem;color:var(--ink-soft);line-height:1.5}.imprint a{color:var(--accent-burgundy);border-bottom:1px solid currentColor}.imprint-h{display:block;font-family:var(--font-ui);font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink);margin-bottom:6px}.colophon{margin-top:28px;padding-top:18px;border-top:1px dashed var(--hairline);font-family:var(--font-ui);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);line-height:1.7;text-align:center}@media (max-width: 900px){.services-grid{grid-template-columns:1fr;gap:18px}.services-photo{order:-1}.photo-stack{max-height:180px;aspect-ratio:16 / 7;display:block}.photo-stack__img--back{display:none}.photo-stack__img--front{position:relative;top:0;left:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover}.services-photo figcaption{display:none}.services-title{font-size:clamp(32px,7.5vw,52px);margin-bottom:12px}.services-list li{padding:10px 0;gap:8px;grid-template-columns:22px 1fr auto}.services-list .num{font-size:.6rem;letter-spacing:.16em}.services-list .name{font-size:clamp(17px,4.6vw,24px);line-height:1.1}.services-list .price{font-size:.68rem;letter-spacing:.08em}.spread--about{grid-template-columns:1fr;padding-top:calc(var(--spread-pad-y) + 10px);gap:14px}.about-portrait{grid-column:1;margin-bottom:8px}.portrait-frame{width:130px}.about-letter{grid-column:1;font-size:.92rem;line-height:1.5}.about-letter .letter-open{font-size:1.15rem;margin-bottom:12px}.about-letter p+p{margin-top:.7em}.signature{display:none}.quotes-head{margin-bottom:18px}.quotes-title{font-size:clamp(28px,7vw,48px)}.quotes-list{gap:22px}.quote{padding:10px 6px}.quote blockquote{font-size:clamp(18px,4.5vw,24px);line-height:1.22}.quote-mark{font-size:clamp(50px,10vw,80px);top:-22px}.quote:nth-child(2n){padding-left:12px}.quote:nth-child(2n) .quote-mark{left:-4px}.booking-card{padding:18px}.booking-kicker{font-size:.55rem;margin-bottom:6px}.booking-title{font-size:clamp(28px,6vw,40px);margin-bottom:6px}.booking-lede{font-size:.82rem;line-height:1.4;margin-bottom:12px}.booking-form{grid-template-columns:1fr;gap:8px;margin-bottom:12px}.booking-form label span{font-size:.55rem}.booking-form input,.booking-form textarea{padding:4px 0;font-size:.92rem}.booking-submit{padding:10px 22px;font-size:.65rem}.imprint{grid-template-columns:1fr 1fr;gap:8px 12px;padding-top:10px;font-size:.76rem;line-height:1.35}.imprint-h{font-size:.52rem;margin-bottom:2px}.colophon{margin-top:10px;padding-top:8px;font-size:.5rem;letter-spacing:.12em;line-height:1.5}}@media (max-width: 640px){.spread{padding:56px 20px 36px}.cover-title{font-size:clamp(36px,12vw,60px);padding-left:0}.cover-title .line-2{transform:translate(8px)}.cover-title .line-3{transform:translate(16px)}.cover-issue{font-size:.55rem!important}.spread__folio{right:20px;font-size:.55rem}.gallery-hint,.page-indicator,.booking-lede{display:none}}@media (max-height: 920px) and (min-width: 901px){:root{--spread-pad-y: clamp(32px, 6vh, 60px)}.booking-card{padding:clamp(20px,3vw,36px) clamp(24px,4vw,52px)}.booking-title{font-size:clamp(34px,4.5vw,60px);margin-bottom:10px}.booking-lede{margin-bottom:18px;font-size:.94rem}.booking-form{gap:14px 22px;margin-bottom:18px}.imprint{padding-top:16px;font-size:.84rem}.colophon{margin-top:14px;padding-top:12px;font-size:.55rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.about-letter p[data-reveal],.quote{clip-path:none!important;opacity:1!important}.sig-path{stroke-dashoffset:0!important}.cover-footer__hint{animation:none!important}}
