.stack-section{color:var(--ink);padding:clamp(72px,12vh,130px) 0}.svc-stack{background:var(--paper)}.web-stack{background:var(--paper-2)}.stack-head{margin-bottom:clamp(28px,5vh,48px)}.stack-head .note{color:var(--ink-soft);max-width:52ch;margin:18px 0 0;font-size:15.5px;line-height:1.8}.stack-cards{--card-h:clamp(420px, 64vh, 580px);--card-top:clamp(12px, 1.8vh, 18px);--stack-top:84px;padding:0 0 calc(var(--numcards) * var(--card-top));grid-template-rows:repeat(var(--numcards), var(--card-h));gap:clamp(20px,3.5vh,40px);margin:0;list-style:none;display:grid}.stack-card{top:var(--stack-top);padding-top:calc((var(--i) - 1) * var(--card-top));position:sticky}.stack-card-inner{height:var(--card-h);border:1px solid var(--hair-light);border-radius:var(--r-lg);transform-origin:50% 0;background:#fffdf8;grid-template-columns:minmax(0,5fr) minmax(0,6fr);display:grid;overflow:clip;box-shadow:0 30px 60px -35px #1a151259}.stack-text{flex-direction:column;justify-content:center;gap:14px;min-width:0;padding:clamp(26px,3.4vw,52px);display:flex}.stack-idx{font-family:var(--font-display);letter-spacing:-.02em;color:var(--accent);font-variant-numeric:tabular-nums;margin:0;font-size:clamp(15px,1.2vw,17px);font-weight:700}.stack-kicker{font-family:var(--font-serif);color:var(--accent-deep);margin:0;font-size:15px;font-style:italic}.stack-text h3{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);margin:0;font-size:clamp(24px,2.4vw,36px);font-weight:620;line-height:1.1}.stack-body{color:var(--ink-soft);max-width:46ch;margin:0;font-size:15.5px;line-height:1.8}.stack-media{min-width:0;position:relative}.stack-media .media-fill{width:100%;height:100%}.stack-media .mock{aspect-ratio:auto;border-radius:0;height:100%;margin:0}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.stack-cards{view-timeline-name:--stack}.stack-card-inner{animation:linear forwards stack-scale;animation-timeline:--stack;animation-range:exit-crossing calc((var(--i) - 1) / var(--numcards) * 100%) exit-crossing calc(var(--i) / var(--numcards) * 100%);will-change:transform}@keyframes stack-scale{to{transform:scale(calc(1 - .035 * (var(--rev) - 1)))}}}}@media (max-width:820px){.stack-cards{--card-h:clamp(480px, 74vh, 640px);--stack-top:74px}.stack-card-inner{grid-template-rows:42% minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.stack-media{order:-1}.stack-text{justify-content:flex-start;gap:10px;padding:22px clamp(18px,4vw,28px) 26px}.stack-body{font-size:14.5px}}
.web{background:var(--paper-2);color:var(--ink);padding:clamp(72px,12vh,130px) 0}.web-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,48px);margin-top:clamp(32px,5vh,56px);display:grid}.web-card{border:1px solid var(--hair-light);border-radius:var(--r-lg);background:#fffdf8;flex-direction:column;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s;display:flex;position:relative;overflow:clip}.web-card:hover{transform:translateY(-6px);box-shadow:0 32px 64px -32px #1a15124d}.mock{border-radius:var(--r-md);background:var(--paper-2);aspect-ratio:16/10;flex-direction:column;margin:16px 16px 0;display:flex;position:relative;overflow:clip}.mock-bar{border-bottom:1px solid var(--hair-light);background:#fffdf8;align-items:center;gap:14px;padding:11px 16px;display:flex}.mock-bar .dots{gap:6px;display:flex}.mock-bar .dots i{background:var(--hair-light);border-radius:50%;width:9px;height:9px}.mock-bar .dots i:first-child{background:var(--accent);opacity:.7}.mock-bar .addr{text-align:center;max-width:260px;color:var(--ink-faint);background:var(--paper-2);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;border-radius:999px;flex:1;padding:4px 16px;font-size:12px;overflow:hidden}.mock .media-fill{flex:1;width:100%;min-height:0}.mock.tour .media-fill{height:100%;position:absolute;inset:0}.tour-badge{z-index:3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:56px;height:56px;font-family:var(--font-display);color:#fff;background:#14100980;border:1px solid #ffffff4d;border-radius:50%;place-items:center;font-size:13.5px;font-weight:600;animation:.6s badge-spin-in;display:grid;position:absolute;top:16px;right:16px}@keyframes badge-spin-in{0%{opacity:0;transform:rotate(-24deg)scale(.8)}}.tour-hint{z-index:3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;white-space:nowrap;background:#1410098c;border-radius:999px;padding:8px 18px;font-size:12.5px;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.web-body{flex-direction:column;gap:14px;padding:24px clamp(24px,2.5vw,36px) clamp(28px,3vw,40px);display:flex}.web-body h3{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);margin:0;font-size:clamp(24px,2.2vw,32px);font-weight:620;line-height:1.1}.web-body .en{font-family:var(--font-serif);color:var(--accent-deep);margin:0;font-size:15px;font-style:italic}.web-body p.body{color:var(--ink-soft);margin:0;font-size:15.5px;line-height:1.8}.chips{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.chips span{color:var(--ink-soft);background:var(--paper-2);border:1px solid var(--hair-light);border-radius:999px;padding:7px 16px;font-size:13px}@media (max-width:820px){.web-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:560px){.mock{margin:10px 10px 0}.mock-bar{gap:10px;padding:9px 12px}.mock-bar .addr{min-width:0;max-width:100%;font-size:11px}.chips span{padding:6px 12px;font-size:12px}.tour-hint{white-space:normal;text-align:center;max-width:calc(100% - 32px)}}@media (prefers-reduced-motion:reduce){.tour-badge{animation:none}}
.pano{background:var(--night);border-top:1px solid var(--hair-dark);padding:clamp(72px,12vh,130px) 0}.pano .pano-note{color:var(--cream-soft);max-width:56ch;margin:20px 0 0;font-size:16px;line-height:1.8}.pano-stage{aspect-ratio:16/9;border-radius:var(--r-lg);border:1px solid var(--hair-dark);background:var(--night-2);cursor:grab;margin-top:clamp(28px,4vh,44px);position:relative;overflow:clip}.pano-stage:active{cursor:grabbing}.pano-stage canvas{z-index:1;display:block;position:relative;width:100%!important;height:100%!important}.pano-fallback{object-fit:cover;z-index:0;filter:saturate(1.05);width:100%;height:100%;position:absolute;inset:0}.pano-hint{z-index:2;white-space:nowrap;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;letter-spacing:.02em;pointer-events:none;background:#14100999;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:8px;padding:8px 18px;font-size:12.5px;display:inline-flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.pano-hint-icon{animation:3s linear infinite pano-spin;display:inline-block}@keyframes pano-spin{to{transform:rotate(360deg)}}@media (max-width:640px){.pano-stage{aspect-ratio:4/3}}@media (prefers-reduced-motion:reduce){.pano-hint-icon{animation:none}}
.pf{background:var(--night-2);color:var(--cream);padding:clamp(72px,12vh,130px) 0}.pf-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:clamp(32px,5vh,56px);display:flex}.pf-head .note{color:var(--cream-faint);max-width:40ch;margin:0;font-size:14.5px}.pf-carousel{padding:0 max(var(--edge), calc((100vw - var(--maxw)) / 2 + var(--edge)));scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:clamp(16px,2vw,28px);margin:0;list-style:none;display:flex;overflow-x:auto}.pf-carousel::-webkit-scrollbar{display:none}.pf-slide{scroll-snap-align:center;flex:none;width:clamp(260px,42vw,480px)}.pf-slide-link{color:inherit;display:block}.pf-slide-link:hover{color:inherit}.pf-slide-img{aspect-ratio:3/4;border-radius:var(--r-md);background:#816a562e;position:relative;overflow:clip}.pf-slide-img img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}.pf-slide-link:hover .pf-slide-img img{transform:scale(1.05)}.pf-slide-cap{letter-spacing:.16em;text-transform:uppercase;color:var(--cream-faint);flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin-top:14px;font-size:12px;font-weight:500;display:flex}.pf-slide-cap .n{color:var(--accent);font-family:var(--font-display);font-weight:600}.pf-slide-cap .t{color:var(--cream);font-family:var(--font-display);letter-spacing:-.01em;text-transform:none;font-size:16px;font-weight:600}.pf-slide-cap .c{color:var(--cream-faint)}@supports (animation-timeline:view()){.pf-slide-img img{width:130%;animation:linear both pf-parallax;animation-timeline:view(inline);animation-range:cover;left:-15%}.pf-slide{animation:linear both pf-lift;animation-timeline:view(inline);animation-range:cover}@keyframes pf-parallax{0%{transform:translate(-9%)}to{transform:translate(9%)}}@keyframes pf-lift{0%{opacity:.75;transform:translateY(28px)scale(.94)}50%{opacity:1;transform:translateY(0)scale(1)}to{opacity:.75;transform:translateY(28px)scale(.94)}}}@media (prefers-reduced-motion:reduce){.pf-slide-img img{width:100%;transition:none;animation:none;left:0;transform:none}.pf-slide{opacity:1;animation:none;transform:none}}
.tm{background:var(--paper);color:var(--ink);padding:clamp(72px,12vh,130px) 0}.tm-head{max-width:44ch;margin-bottom:clamp(32px,5vh,52px)}.tm-head .title{text-wrap:balance}.tm-track{scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:clamp(16px,2vw,24px);margin:0;padding:4px 0;list-style:none;display:flex;overflow-x:auto}.tm-track::-webkit-scrollbar{display:none}.tm-slide{scroll-snap-align:start;flex:none;width:calc(33.3333% - clamp(16px,2vw,24px)/1.5);display:flex}.tm-card{border:1px solid var(--hair-light);border-radius:var(--r-lg);background:#fffdf8;flex-direction:column;gap:16px;width:100%;padding:clamp(20px,2.2vw,28px);display:flex}.tm-card .mark{font-family:var(--font-serif);color:var(--accent);height:18px;font-size:44px;font-style:italic;line-height:.5}.tm-card .quote{font-family:var(--font-serif);color:var(--ink);margin:0;font-size:clamp(15.5px,1.2vw,17.5px);font-style:italic;font-weight:500;line-height:1.55}.tm-card .who{align-items:center;gap:12px;margin-top:auto;padding-top:4px;display:flex}.tm-card .who .av{background:var(--paper-2);border-radius:50%;flex:0 0 44px;width:44px;height:44px;overflow:clip}.tm-card .who .av .media-fill{border-radius:50%;width:100%;height:100%}.tm-card .who .nm{font-family:var(--font-display);color:var(--ink);font-size:14.5px;font-weight:600;display:block}.tm-card .who .rl{color:var(--ink-soft);margin-top:2px;font-size:12.5px;display:block}@media (max-width:920px){.tm-slide{width:min(74vw,340px)}}.contact{background:var(--night);padding:clamp(72px,12vh,130px) 0}.contact-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:clamp(32px,5vw,80px);display:grid}.contact .lede{color:var(--cream-soft);max-width:44ch;margin:22px 0 0;font-size:16.5px;line-height:1.8}.contact .lines{border-top:1px solid var(--hair-dark);flex-direction:column;gap:4px;margin-top:clamp(28px,4vh,40px);padding-top:24px;display:flex}.contact .lines a{font-family:var(--font-display);color:var(--cream);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:clamp(18px,1.8vw,22px);font-weight:600}.contact .lines a:hover{color:var(--accent)}.contact .lines .lbl{font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--cream-faint);margin-top:16px;font-size:12px;font-weight:400}.form{background:var(--night-2);border:1px solid var(--hair-dark);border-radius:var(--r-lg);padding:clamp(24px,3vw,44px)}.form-row{grid-template-columns:1fr 1fr;gap:18px;display:grid}.field{flex-direction:column;gap:8px;margin-bottom:18px;display:flex}.field label{letter-spacing:.06em;color:var(--cream-soft);font-size:12.5px;font-weight:500}.field label .req{color:var(--accent)}.field input,.field select,.field textarea{width:100%;color:var(--cream);background:var(--night);border:1px solid var(--hair-dark);border-radius:var(--r-sm);padding:13px 16px;font-family:inherit;font-size:15px;transition:border-color .25s}.field textarea{resize:vertical;min-height:96px;line-height:1.6}.field select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23DB5C18' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;padding-right:42px}.field input::placeholder,.field textarea::placeholder{color:var(--cream-faint)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:none}.form .submit-row{flex-wrap:wrap;align-items:center;gap:16px 20px;margin-top:6px;display:flex}.form .submit-row .btn-solid{border:0}.form .submit-row .btn-solid:disabled{opacity:.6;cursor:default}.form .hint{color:var(--cream-faint);font-size:13px}.form-ok{background:var(--accent-soft);border-radius:var(--r-sm);color:#f0a877;border:1px solid #db5c1866;align-items:center;gap:12px;margin-top:18px;padding:16px 20px;font-size:14.5px;display:none}.form-ok.show{display:flex}@media (max-width:880px){.contact-grid{grid-template-columns:1fr}}@media (max-width:520px){.form-row{grid-template-columns:1fr}}.form .hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}
