@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.06d3mdzz5bre_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.11.cyxs5p-0z~.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.16t1db8_9y2o~.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.0q3udbd2bu5yp.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0gw~uztddq1df.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.0.q-h669a_dqa.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
:root{--ink:#0d0b09;--red:#b82a24;--gold:#9a7c3f;--cream:#faf8f4;--paper:#f3ede3;--mist:#e8e1d6;--warm:#8a7f74;--border:#0d0b0917;--white:#fff}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);font-family:Jost,sans-serif;line-height:1.6;overflow-x:hidden}body:after{content:"";pointer-events:none;z-index:9999;opacity:.45;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='.035'/%3E%3C/svg%3E");position:fixed;inset:0}nav{z-index:100;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--border);background:#faf8f4ed;position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;gap:2rem;max-width:1160px;height:68px;margin:0 auto;padding:0 2rem;display:flex}.logo{align-items:center;gap:.85rem;text-decoration:none;display:flex}.logo-wordmark{flex-direction:column;line-height:1.15;display:flex}.logo-name{letter-spacing:.04em;color:var(--ink);font-family:Cormorant Garamond,serif;font-size:1.2rem;font-weight:700}.logo-name .r{color:var(--red)}.logo-sub{letter-spacing:.22em;text-transform:uppercase;color:var(--warm);font-size:.58rem;font-weight:300}.nav-links{align-items:center;gap:2.2rem;list-style:none;display:flex}.nav-links a{letter-spacing:.12em;text-transform:uppercase;color:var(--warm);font-size:.7rem;font-weight:400;text-decoration:none;transition:color .2s}.nav-links a:hover{color:var(--ink)}.nav-cta{border-radius:1px;padding:.48rem 1.35rem;background:var(--ink)!important;color:var(--white)!important;transition:background .2s!important}.nav-cta:hover{background:var(--red)!important}.mobile-menu-btn{border:1px solid var(--border);cursor:pointer;color:var(--ink);background:0 0;border-radius:1px;padding:.5rem;display:none}.mobile-menu{border-top:1px solid var(--border);background:var(--cream);flex-direction:column;gap:.25rem;padding:1rem 2rem;display:flex}.mobile-menu a{letter-spacing:.1em;text-transform:uppercase;color:var(--warm);padding:.6rem 0;font-size:.78rem;text-decoration:none;transition:color .2s}.mobile-menu a:hover{color:var(--ink)}.mobile-menu .nav-cta{justify-content:center;margin-top:.5rem;padding:.65rem 1.35rem;display:inline-flex}.wrap{max-width:1160px;margin:0 auto;padding:0 2rem}.hr{border:none;border-top:1px solid var(--border)}.hero{grid-template-columns:1fr 1.2fr;align-items:center;gap:0;max-width:1280px;margin:0 auto;padding:5rem 2rem 6rem;display:grid}.eyebrow{align-items:center;gap:.8rem;margin-bottom:1.8rem;display:flex}.eyebrow-line{background:var(--red);width:26px;height:1px}.eyebrow span{letter-spacing:.2em;text-transform:uppercase;color:var(--red);font-size:.66rem;font-weight:400}h1{letter-spacing:-.01em;margin-bottom:1.8rem;font-family:Cormorant Garamond,serif;font-size:clamp(2.8rem,5vw,4.6rem);font-weight:600;line-height:1.06}h1 em{color:var(--red);font-style:italic}.jp-sub{color:var(--warm);letter-spacing:.06em;margin-top:.5rem;font-family:Noto Serif JP,serif;font-size:.38em;font-weight:300;display:block}.hero-social-row{align-items:center;gap:.8rem;margin-top:1.5rem;display:flex}.hero-social-row .social-label{letter-spacing:.16em;text-transform:uppercase;color:var(--warm);font-size:.63rem}.hero-desc{color:var(--warm);max-width:440px;margin-top:1.5rem;margin-bottom:2.5rem;font-size:1rem;font-weight:300;line-height:1.85}.hero-actions{flex-wrap:wrap;gap:1rem;display:flex}.btn{letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border:1px solid #0000;border-radius:1px;align-items:center;gap:.4rem;padding:.78rem 1.85rem;font-family:Jost,sans-serif;font-size:.76rem;font-weight:400;text-decoration:none;transition:all .2s;display:inline-flex}.btn-red{background:var(--red);color:var(--white)}.btn-red:hover{background:#9d2420;transform:translateY(-1px)}.btn-ghost{color:var(--ink);border-color:var(--border);background:0 0}.btn-ghost:hover{border-color:var(--ink)}.btn-success{color:#fff!important;background:#3a7d44!important;border-color:#3a7d44!important}.hero-pills{border-top:1px solid var(--border);gap:0;margin-top:2.8rem;padding-top:2.2rem;display:flex}.hero-pill{flex-direction:column;gap:.15rem;padding-right:1.5rem;display:flex}.hero-pill+.hero-pill{border-left:1px solid var(--border);padding-left:1.5rem}.hero-pill strong{color:var(--ink);font-family:Cormorant Garamond,serif;font-size:1.15rem;font-weight:600}.hero-pill span{letter-spacing:.1em;text-transform:uppercase;color:var(--warm);font-size:.66rem}.hero-visual{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.hero-img{background:0 0;width:100%}.hero-img img{object-fit:contain;filter:drop-shadow(0 20px 40px #0d0b091f);width:100%;height:auto;display:block}.img-ph{background:linear-gradient(160deg,#e5ddd0,#cfc5b3);flex-direction:column;justify-content:center;align-items:center;gap:.4rem;width:100%;height:100%;display:flex}.ph-jp{color:#0d0b091f;font-family:Noto Serif JP,serif;font-size:3rem}.ph-lbl{letter-spacing:.2em;text-transform:uppercase;color:#0d0b0947;font-size:.6rem}.fi{border-radius:1px;flex-shrink:0;width:20px;height:14px;overflow:hidden;box-shadow:0 0 0 1px #0d0b0914}.fi-fr{background:linear-gradient(90deg,#002395 33.3%,#fff 33.3% 66.7%,#ed2939 66.7%)}.fi-jp{background:#fff;justify-content:center;align-items:center;display:flex}.fi-jp:after{content:"";background:#bc002d;border-radius:50%;width:7px;height:7px}.section{padding:6rem 0}.sec-header{margin-bottom:3.5rem}.sec-label{letter-spacing:.2em;text-transform:uppercase;color:var(--warm);align-items:center;gap:.6rem;margin-bottom:1rem;font-size:.63rem;font-weight:400;display:inline-flex}.sec-label:before{content:"";background:var(--warm);width:18px;height:1px}h2{color:var(--ink);margin-bottom:.75rem;font-family:Cormorant Garamond,serif;font-size:clamp(1.9rem,3vw,3rem);font-weight:600;line-height:1.1}h2 em{color:var(--red);font-style:italic}.sec-desc{color:var(--warm);max-width:520px;font-size:.94rem;font-weight:300;line-height:1.85}.steps{border:1px solid var(--border);background:var(--white);border-radius:2px;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.step{padding:2.5rem 2.2rem;transition:background .2s;position:relative}.step:hover{background:var(--cream)}.step+.step{border-left:1px solid var(--border)}.step-bar{background:var(--red);width:2px;height:0;transition:height .3s;position:absolute;top:0;left:0}.step:hover .step-bar{height:100%}.step-num{color:#b82a242e;-webkit-user-select:none;user-select:none;margin-bottom:.6rem;font-family:Cormorant Garamond,serif;font-size:4.5rem;font-weight:300;line-height:1}.step h3{color:var(--ink);margin-bottom:.65rem;font-family:Cormorant Garamond,serif;font-size:1.35rem;font-weight:600}.step p{color:var(--warm);font-size:.87rem;font-weight:300;line-height:1.8}#about{background:var(--paper)}.about-grid{grid-template-columns:1fr 1.1fr;align-items:center;gap:4rem;display:grid}.about-body p{color:var(--warm);margin-bottom:1.2rem;font-size:.95rem;font-weight:300;line-height:1.9}.about-body p strong{color:var(--ink);font-weight:500}.about-pull{border-left:2px solid var(--red);background:#b82a240a;margin:1.8rem 0;padding:1.5rem 1.9rem}.about-pull p{color:var(--ink);margin:0;font-family:Cormorant Garamond,serif;font-size:1.15rem;font-style:italic;line-height:1.65}.about-img{background:0 0;justify-content:center;align-items:center;width:100%;display:flex;position:sticky;top:88px}.about-img img{object-fit:contain;filter:drop-shadow(0 16px 32px #0d0b091a);width:100%;height:auto;display:block}.about-socials{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:1rem;margin-top:2rem;padding-top:1.5rem;display:flex}.about-socials-label{letter-spacing:.16em;text-transform:uppercase;color:var(--warm);font-size:.63rem}#pricing{background:var(--ink)}#pricing .sec-label{color:#faf8f459}#pricing .sec-label:before{background:#faf8f440}#pricing h2{color:var(--cream)}#pricing .sec-desc{color:#faf8f473}.pricing-grid{background:#faf8f40f;border:1px solid #faf8f412;border-radius:2px;grid-template-columns:1fr 1fr;gap:0;margin-top:3rem;display:grid;overflow:hidden}.p-card{background:#faf8f405;padding:2.8rem;transition:background .2s;position:relative}.p-card:hover{background:#faf8f40d}.p-card+.p-card{border-left:1px solid #faf8f412}.p-accent{height:1px;position:absolute;top:0;left:0;right:0}.p-card.online .p-accent{background:var(--red)}.p-card.store .p-accent{background:var(--gold)}.p-tag{letter-spacing:.18em;text-transform:uppercase;color:#faf8f459;margin-bottom:1.6rem;font-size:.62rem}.p-price{color:var(--cream);margin-bottom:.3rem;font-family:Cormorant Garamond,serif;font-size:3.8rem;font-weight:300;line-height:1}.p-unit{letter-spacing:.1em;text-transform:uppercase;color:#faf8f447;margin-bottom:1.6rem;font-size:.7rem}.p-desc{color:#faf8f47a;font-size:.87rem;font-weight:300;line-height:1.8}.p-note{color:#faf8f45c;background:#faf8f405;border:1px solid #faf8f412;border-top:none;border-radius:0 0 2px 2px;margin-top:0;padding:1.5rem 2.8rem;font-size:.83rem;font-weight:300;line-height:1.8}#photos{padding:6rem 0}.carousel{-webkit-user-select:none;user-select:none;margin-top:3rem;position:relative}.carousel-stage{aspect-ratio:16/9;background:var(--paper);border-radius:2px;position:relative;overflow:hidden;box-shadow:0 16px 48px #0d0b091f}.carousel-slide{opacity:0;transition:opacity .55s,transform .55s;position:absolute;inset:0;transform:translate(40px)}.carousel-slide.active{opacity:1;transform:translate(0)}.carousel-slide.exit-left{opacity:0;transform:translate(-40px)}.carousel-slide.exit-right{opacity:0;transform:translate(40px)}.carousel-slide img{object-fit:cover;width:100%;height:100%;display:block}.carousel-slide .img-ph{background:linear-gradient(160deg,#e5ddd0,#cfc5b3);flex-direction:column;justify-content:center;align-items:center;gap:.4rem;width:100%;height:100%;display:flex}.carousel-counter{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ffffffd9;letter-spacing:.14em;text-transform:uppercase;pointer-events:none;background:#0d0b0973;border-radius:1px;padding:.35rem .8rem;font-size:.68rem;position:absolute;top:1.25rem;right:1.25rem}.carousel-btn{background:var(--white);border:1px solid var(--border);cursor:pointer;z-index:10;width:48px;height:48px;color:var(--ink);border-radius:1px;justify-content:center;align-items:center;transition:background .2s,box-shadow .2s,transform .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 4px 16px #0d0b091a}.carousel-btn:hover{background:var(--ink);color:var(--white);transform:translateY(-50%)scale(1.04);box-shadow:0 8px 24px #0d0b0933}.carousel-btn.prev{left:-1.5rem}.carousel-btn.next{right:-1.5rem}.carousel-thumbs{scrollbar-width:none;scroll-behavior:smooth;gap:.75rem;margin-top:1.25rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.carousel-thumbs::-webkit-scrollbar{display:none}.carousel-thumb{cursor:pointer;opacity:.45;background:var(--paper);border:1.5px solid #0000;border-radius:1px;flex-shrink:0;width:80px;height:60px;transition:opacity .25s,box-shadow .25s,transform .2s;overflow:hidden}.carousel-thumb:hover{opacity:.75;transform:translateY(-1px)}.carousel-thumb.active{opacity:1;border-color:var(--red);transform:translateY(-2px);box-shadow:0 4px 12px #b82a2433}.carousel-thumb img{object-fit:cover;width:100%;height:100%;display:block}.carousel-thumb .thumb-ph{color:#0d0b094d;background:linear-gradient(160deg,#e5ddd0,#cfc5b3);justify-content:center;align-items:center;width:100%;height:100%;font-family:Noto Serif JP,serif;font-size:.8rem;display:flex}.carousel-dots{justify-content:center;gap:.5rem;margin-top:1.5rem;display:none}.carousel-dot{background:var(--mist);cursor:pointer;border-radius:50%;width:6px;height:6px;transition:background .2s,transform .2s}.carousel-dot.active{background:var(--red);transform:scale(1.3)}.social-links{align-items:center;gap:.5rem;display:flex}.social-link{cursor:default;color:#faf8f480;background:#faf8f40a;border:1px solid #faf8f41f;border-radius:1px;justify-content:center;align-items:center;width:36px;height:36px;text-decoration:none;transition:background .2s,border-color .2s;display:inline-flex}.social-link:hover{color:#faf8f4d9;background:#faf8f41a;border-color:#faf8f44d}.social-links.light .social-link{border-color:var(--border);color:var(--warm);background:0 0}.social-links.light .social-link:hover{border-color:var(--ink);color:var(--ink);background:var(--white)}.social-links.hero-social .social-link{border-color:var(--border);width:32px;height:32px;color:var(--warm);background:0 0}.social-links.hero-social .social-link:hover{border-color:var(--ink);color:var(--ink)}#request-wrap{background:var(--paper);padding:6rem 0}.req-layout{grid-template-columns:320px 1fr;align-items:start;gap:5rem;margin-top:3.5rem;display:grid}.req-side>p{color:var(--warm);margin-bottom:2rem;font-size:.9rem;font-weight:300;line-height:1.85}.req-detail{border-top:1px solid var(--border);align-items:flex-start;gap:.75rem;padding:1rem 0;display:flex}.req-detail:last-child{border-bottom:1px solid var(--border)}.rd-dot{background:var(--red);border-radius:50%;flex-shrink:0;width:5px;height:5px;margin-top:.55rem}.rd-text strong{color:var(--ink);margin-bottom:.1rem;font-size:.78rem;font-weight:500;display:block}.rd-text span{color:var(--warm);font-size:.74rem}.req-form{background:var(--white);border:1px solid var(--border);border-radius:2px;padding:2.5rem;box-shadow:0 4px 24px #0d0b090a}.f-row{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.f-field{flex-direction:column;margin-bottom:1rem;display:flex}.f-field label{letter-spacing:.14em;text-transform:uppercase;color:var(--warm);margin-bottom:.4rem;font-size:.63rem;font-weight:400}.f-field input,.f-field textarea{background:var(--cream);border:1px solid var(--border);color:var(--ink);resize:vertical;border-radius:1px;outline:none;width:100%;padding:.72rem 1rem;font-family:Jost,sans-serif;font-size:.9rem;transition:border-color .2s}.f-field input::placeholder,.f-field textarea::placeholder{color:#8a7f7473}.f-field input:focus,.f-field textarea:focus{border-color:#b82a2466}.f-err{color:var(--red);margin-top:.28rem;font-size:.68rem}.f-actions{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;display:flex}.f-note{color:var(--warm);flex:1;min-width:160px;font-size:.7rem}footer{background:var(--ink);padding:2.5rem 2rem}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;max-width:1160px;margin:0 auto;display:flex}.footer-logo{color:#faf8f480;font-family:Cormorant Garamond,serif;font-size:1.05rem;font-weight:600}.footer-logo .r{color:var(--red)}footer p{letter-spacing:.06em;color:#faf8f447;font-size:.7rem}.back-to-top{z-index:200;background:var(--ink);cursor:pointer;opacity:0;pointer-events:none;border:none;border-radius:1px;justify-content:center;align-items:center;width:44px;height:44px;transition:opacity .3s,transform .3s,background .2s;display:flex;position:fixed;bottom:2rem;right:2rem;transform:translateY(8px);box-shadow:0 4px 16px #0d0b092e}.back-to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.back-to-top:hover{background:var(--red)}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.hero>div{animation:.7s both rise}.hero>div:last-child{animation-delay:.12s}@media (max-width:900px){.hero{grid-template-columns:1fr;gap:2rem;padding:3.5rem 2rem 4rem}.hero-visual{width:100%}.about-grid{grid-template-columns:1fr}.about-img{max-width:520px;margin:0 auto;position:static}.req-layout{grid-template-columns:1fr}.req-side{display:none}.pricing-grid{grid-template-columns:1fr}.p-card+.p-card{border-top:1px solid #faf8f412;border-left:none}}@media (max-width:768px){.nav-links{display:none}.mobile-menu-btn{display:flex}.steps{grid-template-columns:1fr}.step+.step{border-left:none;border-top:1px solid var(--border)}.f-row{grid-template-columns:1fr}.footer-inner{text-align:center;flex-direction:column;gap:.75rem}.carousel-btn.prev{left:.5rem}.carousel-btn.next{right:.5rem}.carousel-thumbs{display:none}.carousel-dots{display:flex}}
