:root{--bg:#121011;--ink:#f3eadc;--muted:#a79c8c;--accent:#c99a3f;--brass:#e9c874;--line:rgba(243,234,220,.18);--film:#0d0907;--film-ink:#f3eadc;--film-brass:#e9c874;--serif:"Bodoni Moda", "Didot", "Bodoni 72", Georgia, serif;--sans:"Instrument Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#121011;--ink:#f3eadc;--muted:#a79c8c;--accent:#c99a3f;--brass:#e9c874;--line:rgba(243,234,220,.18)}}:root[data-theme=dark]{--bg:#121011;--ink:#f3eadc;--muted:#a79c8c;--accent:#c99a3f;--brass:#e9c874;--line:rgba(243,234,220,.18)}*,*:before,*:after{box-sizing:inherit}html{scroll-padding-top:env(safe-area-inset-top,0px);-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;line-height:1.6;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit}:focus-visible{outline:2px solid var(--film-brass);outline-offset:3px}.loader{position:fixed;inset:0;z-index:50;background:var(--film);display:grid;place-items:center;transition:opacity .8s ease,visibility .8s}.loader.done{opacity:0;visibility:hidden}.loader-in{width:min(280px,70vw);color:var(--film-ink);text-align:center}.loader-word{font-family:var(--serif);font-style:italic;font-size:1.5rem;margin-bottom:1.1rem}.thread{height:1px;background:#f3eadc26;position:relative;overflow:hidden}.thread i{position:absolute;inset:0;transform-origin:left;transform:scaleX(0);background:var(--film-brass)}.loader-pct{margin-top:.8rem;font-size:.8rem;letter-spacing:.04em;color:#f3eadc8c;font-variant-numeric:tabular-nums}.top{position:fixed;left:0;right:0;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:calc(env(safe-area-inset-top,0px) + 1.1rem) clamp(1.1rem,4vw,3rem) 1.1rem;color:var(--film-ink);transition:background .4s,color .4s}.top.solid{background:color-mix(in srgb,var(--bg) 82%,transparent);color:var(--ink);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.brand{font-family:var(--serif);font-style:italic;font-size:1.2rem;text-decoration:none;letter-spacing:.01em}.brand em{font-style:italic}.nav{display:flex;gap:clamp(1rem,3vw,2rem);font-size:.95rem}.nav a{text-decoration:none;opacity:.85}.nav a:hover{opacity:1}.nav .cta{border-bottom:1px dashed currentColor;padding-bottom:2px}@media(max-width:560px){.nav .hide-s{display:none}}.film{position:relative;height:760vh;background:var(--film)}.stage{position:sticky;top:env(safe-area-inset-top,0px);height:100vh;height:100dvh;overflow:hidden;background:var(--film)}canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 90% at 50% 45%,transparent 45%,rgba(8,5,3,.55) 100%),linear-gradient(to top,rgba(8,5,3,.82) 0%,rgba(8,5,3,.35) 30%,transparent 55%)}.grain{position:absolute;inset:-50%;pointer-events:none;opacity:.09;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1s steps(6) infinite}@keyframes grain{0%{transform:translate(0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-2%)}60%{transform:translate(-2%,-4%)}80%{transform:translate(4%,2%)}to{transform:translate(0)}}.wmask{position:absolute;right:0;bottom:0;width:clamp(120px,16vw,180px);height:clamp(120px,16vw,180px);pointer-events:none;z-index:2;display:flex;align-items:flex-end;justify-content:flex-end;padding:0 clamp(.6rem,2vw,1.4rem) calc(clamp(.6rem,2vw,1.4rem) + env(safe-area-inset-bottom,0px)) 0;background:radial-gradient(circle at 100% 100%,rgba(8,5,3,.94) 0%,rgba(8,5,3,.65) 55%,transparent 100%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.stamp{width:clamp(56px,8vw,88px);height:auto;opacity:.92;filter:drop-shadow(0 2px 10px rgba(0,0,0,.5))}.stamp text{font-family:var(--serif)}.hero{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:var(--film-ink);padding:0 1.5rem;pointer-events:none}.hero h1{font-family:var(--serif);font-weight:400;font-style:italic;font-size:clamp(3rem,10vw,8.5rem);line-height:.95;margin:0;letter-spacing:-.01em;text-shadow:0 2px 40px rgba(0,0,0,.5)}.hero h1 span{display:block}.hero p{margin:1.4rem 0 0;font-size:clamp(1rem,1.4vw,1.15rem);color:#f3eadccc;max-width:32ch}.hint{position:absolute;bottom:calc(2.2rem + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.6rem;font-size:.8rem;color:#f3eadca6}.hint b{display:block;width:1px;height:42px;background:linear-gradient(var(--film-brass),transparent);animation:needle 1.8s ease-in-out infinite;transform-origin:top}@keyframes needle{0%{transform:scaleY(0)}50%{transform:scaleY(1)}to{transform:scaleY(1);opacity:0}}.chap{position:absolute;left:clamp(1.25rem,5vw,4.5rem);bottom:calc(clamp(4.5rem,11vh,7rem) + env(safe-area-inset-bottom,0px));max-width:min(34rem,86vw);color:var(--film-ink);opacity:0;will-change:opacity,transform;pointer-events:none}.chap .no{font-size:.85rem;color:var(--film-brass);font-variant-numeric:tabular-nums;margin-bottom:.4rem}.chap h2{font-family:var(--serif);font-weight:400;font-style:italic;font-size:clamp(3.4rem,11vw,9rem);line-height:.9;margin:0 0 .9rem;letter-spacing:-.02em}.chap p{margin:0;font-size:clamp(1.02rem,1.5vw,1.2rem);line-height:1.5;color:#f3eadcdb;max-width:30ch}.chap .btn{margin-top:1.5rem}.chap.live{pointer-events:auto}.btn{display:inline-flex;align-items:center;gap:.6rem;font:500 1rem var(--sans);padding:.95rem 1.5rem;border:1px dashed var(--film-brass);color:var(--film-ink);background:#0d090759;text-decoration:none;cursor:pointer;transition:background .3s,color .3s}.btn:hover{background:var(--film-brass);color:var(--film);border-style:solid}.seam{position:absolute;left:clamp(1.25rem,5vw,4.5rem);right:clamp(8.5rem,20vw,14rem);bottom:calc(1.6rem + env(safe-area-inset-bottom,0px));height:18px;color:#f3eadc8c;font-size:.75rem}.seam .base,.seam .fill{position:absolute;left:0;right:0;top:0;height:2px;background:repeating-linear-gradient(90deg,currentColor 0 7px,transparent 7px 12px)}.seam .base{opacity:.3}.seam .fill{color:var(--film-brass);clip-path:inset(0 100% 0 0)}.seam ol{list-style:none;margin:0;padding:0}.seam li{position:absolute;top:8px;transform:translate(0);white-space:nowrap;transition:color .3s}.seam li.on{color:var(--film-ink)}@media(max-width:700px){.seam li{display:none}}.dip{position:absolute;inset:0;background:#0a0705;opacity:0;pointer-events:none}.film.static{height:auto}.film.static .stage,.stills{display:none}.film.static .stills{display:block}.still{position:relative;color:var(--film-ink)}.still img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.still div{padding:1.5rem clamp(1.25rem,5vw,4.5rem) 3rem}.still h2{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(2.6rem,7vw,5rem);margin:0 0 .4rem;line-height:1}.still p{margin:0;color:#f3eadccc}.wrap{max-width:1180px;margin:0 auto;padding:0 clamp(1.25rem,5vw,3rem)}section.block{padding:clamp(5rem,12vw,9rem) 0}.intro{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:end}.intro h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.4rem,5.6vw,4.6rem);line-height:1.02;margin:0;letter-spacing:-.015em}.intro p{margin:0 0 1em;color:var(--muted);max-width:44ch;line-height:1.7}.intro p:last-child{margin-bottom:0}@media(max-width:820px){.intro{grid-template-columns:1fr}}.services h3,.book h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.9rem,4vw,2.8rem);margin:0 0 2.2rem}.list{list-style:none;margin:0;padding:0;border-top:1px dashed var(--line)}.list li{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.6fr) auto;gap:1.5rem 2.5rem;padding:1.8rem 0;border-bottom:1px dashed var(--line);align-items:baseline}.list h4{font-family:var(--serif);font-weight:400;font-size:clamp(1.4rem,2.6vw,1.9rem);margin:0;line-height:1.15}.list p{margin:0;color:var(--muted);max-width:52ch}.list span{font-size:.9rem;color:var(--accent);white-space:nowrap}@media(max-width:760px){.list li{grid-template-columns:1fr;gap:.5rem}}.book{border-top:1px solid var(--line)}.book .wrap{max-width:1080px}.book-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.4rem,4vw,2.2rem);align-items:stretch}@media(max-width:820px){.book-grid{grid-template-columns:1fr}}.contact-card{background:#ffffff09;border:1px solid var(--line);border-radius:14px;padding:clamp(1.6rem,3vw,2.4rem);display:flex;flex-direction:column;gap:1.8rem;height:100%}.contact-card h3{margin:0}.contact-card .lead{margin-top:.5rem;color:var(--muted);font-size:.95rem}.info-rows{margin:0;display:flex;flex-direction:column;gap:1.3rem}.info-row{display:flex;gap:.9rem;align-items:flex-start}.info-row .icon{flex:none;width:42px;height:42px;border-radius:10px;background:#e9c8741f;display:flex;align-items:center;justify-content:center;color:var(--brass)}.info-row .icon svg{width:20px;height:20px}.info-row dt{font-size:.82rem;color:var(--muted);margin:0 0 .2rem}.info-row dd{margin:0;font-family:var(--serif);font-size:1.25rem;line-height:1.3}.wa-btn{margin-top:auto;display:flex;align-items:center;justify-content:center;gap:.6rem;background:#25d366;color:#fff;font:600 .95rem var(--sans);padding:1rem 1.4rem;border-radius:9px;text-decoration:none;border:0;transition:filter .25s}.wa-btn:hover{filter:brightness(1.08)}.wa-btn svg{width:20px;height:20px;fill:#fff}form{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem 1.6rem}.f{display:flex;flex-direction:column;gap:.45rem}.f.full{grid-column:1/-1}@media(max-width:560px){form{grid-template-columns:1fr}}label{font-size:.9rem;color:var(--muted)}input,select,textarea{font:inherit;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line);padding:.6rem 0;border-radius:0;width:100%;min-width:0}select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 10px) 55%,calc(100% - 5px) 55%;background-size:5px 5px;background-repeat:no-repeat}select option{color:#1d1510}textarea{resize:vertical;min-height:5.5rem}input:focus,select:focus,textarea:focus{outline:none;border-bottom-color:var(--accent)}.info-row a{text-decoration:none;border-bottom:1px dashed var(--line)}.info-row a:hover{border-bottom-color:var(--brass)}.map-card{position:relative;display:block;border-radius:14px;overflow:hidden;border:1px solid var(--line);min-height:280px;height:100%;transition:border-color .3s}.map-card:hover{border-color:var(--brass)}.map-card iframe{width:100%;height:100%;position:absolute;inset:0;border:0;display:block;pointer-events:none}.wa-float{position:fixed;right:calc(1.1rem + env(safe-area-inset-right,0px));bottom:calc(1.1rem + env(safe-area-inset-bottom,0px));z-index:40;width:58px;height:58px;border-radius:50%;background:#25d366;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px #00000073;animation:waPulse 2.6s ease-out infinite}@keyframes waPulse{0%{box-shadow:0 8px 22px #00000073,0 0 #25d36673}70%{box-shadow:0 8px 22px #00000073,0 0 0 16px #25d36600}to{box-shadow:0 8px 22px #00000073,0 0 #25d36600}}footer{border-top:1px dashed var(--line);padding:2.2rem 0 3rem;font-size:.9rem;color:var(--muted)}footer .wrap{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}@media(prefers-reduced-motion:reduce){.grain,.hint b,.wa-float{animation:none}}
