/* UKUZO – hosting landing (sumi-e / washi edition) */
:root{
  --paper:#F5EFE3; --sheet:#FAF6EE; --kraft:#EDE3CF; --ink:#2B2B2B; --terra:#A94E27; --terra-l:#E0875C; --blue:#2F4A7A;
  --muted:#5b574f;
  --serif:Fraunces,Georgia,"Times New Roman",serif; --sans:Inter,system-ui,-apple-system,"Segoe UI",sans-serif; --hand:Caveat,"Segoe Print",cursive;
  --noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .17 0 0 0 0 .17 0 0 0 0 .17 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--sans);overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;background-image:var(--noise);opacity:.07;pointer-events:none;z-index:0;contain:strict}
h1,h2,h3{font-family:var(--serif);font-weight:500;margin:0;line-height:1.05}
p{margin:0}
a{color:inherit}
.hand{font-family:var(--hand);font-size:clamp(22px,2vw,27px);line-height:1.2;color:var(--blue)}
.center{text-align:center}
.muted{color:var(--muted)}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--ink);color:var(--paper);padding:10px 14px;border-radius:8px}
.skip:focus{left:12px}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:6px}
.page{position:relative;z-index:1;overflow-x:clip}
main{display:block}

/* ---------- route ---------- */
.route{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:6;overflow:visible}
html.js-motion .route{visibility:hidden}
.route-cv{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:6}
html:not(.js-motion) .route-cv{display:none}
#routeHalo{stroke:var(--sheet);stroke-width:6;stroke-linecap:round;stroke-linejoin:round;opacity:.9}
#routePath{stroke:var(--terra);stroke-width:2.4;stroke-dasharray:11 9;stroke-linecap:round;stroke-linejoin:round}
#routeHead .rh-glow{fill:var(--terra);opacity:.18}
#routeHead .rh-dot{fill:var(--terra);stroke:var(--sheet);stroke-width:2}
html.rm #routeHead{display:none}

/* ---------- chrome ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:16px clamp(14px,2.2vw,28px);pointer-events:none}
.nav>*{pointer-events:auto}
.logo{grid-column:2;font:600 clamp(20px,1.8vw,25px)/1 var(--serif);text-decoration:none;letter-spacing:.01em;padding:10px 18px;border-radius:999px;background:rgba(245,239,227,.94)}
.round{width:50px;height:50px;border-radius:50%;display:inline-grid;place-items:center;border:1.5px solid var(--ink);background:rgba(250,246,238,.94);color:var(--ink);cursor:pointer;padding:0;transition:transform .35s cubic-bezier(.22,1,.36,1),background .3s}
.round:hover{transform:scale(1.07) rotate(-4deg)}
.round svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.menu-btn{grid-column:1;justify-self:start}
.menu-btn path{transition:transform .4s cubic-bezier(.22,1,.36,1);transform-origin:12px 12px}
.menu-open .menu-btn path:first-child{transform:rotate(45deg) translateY(3.6px)}
.menu-open .menu-btn path:last-child{transform:rotate(-45deg) translateY(-3.6px)}
.pill{grid-column:3;justify-self:end;font:600 13px/1 var(--sans);letter-spacing:.12em;padding:15px 16px;border-radius:999px;border:1.5px solid var(--ink);background:rgba(250,246,238,.94);color:var(--ink);cursor:pointer}

.menu{position:fixed;inset:0;z-index:45;background:var(--paper);display:grid;place-items:center;padding:100px 24px 40px;opacity:0;visibility:hidden;transition:opacity .45s,visibility 0s .45s}
.menu::before{content:"";position:absolute;inset:0;background-image:var(--noise);opacity:.07;pointer-events:none}
.menu.open{opacity:1;visibility:visible;transition:opacity .45s}
.menu ul{list-style:none;margin:10px 0 30px;padding:0}
.menu li{overflow:hidden}
.menu a{display:block;font:500 clamp(38px,7vw,84px)/1.08 var(--serif);text-decoration:none;transform:translateY(105%);transition:transform .7s cubic-bezier(.22,1,.36,1),color .2s}
.menu.open a{transform:none}
.menu li:nth-child(2) a{transition-delay:.04s}.menu li:nth-child(3) a{transition-delay:.08s}.menu li:nth-child(4) a{transition-delay:.12s}.menu li:nth-child(5) a{transition-delay:.16s}
.menu a:hover{color:var(--terra)}
.menu a span{font:600 13px var(--sans);letter-spacing:.14em;vertical-align:super;margin-right:14px;color:var(--terra)}
.menu-foot{font-size:14px;color:var(--muted)}

.to-top{position:fixed;left:clamp(14px,2.2vw,28px);bottom:clamp(14px,2.2vw,28px);z-index:40;opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .4s,transform .4s}
.to-top.show{opacity:1;transform:none;pointer-events:auto}
.to-top .ring{position:absolute;inset:-1.5px;width:calc(100% + 3px);height:calc(100% + 3px);transform:rotate(-90deg)}
.to-top .ring circle{fill:none;stroke:var(--terra);stroke-width:2.5;stroke-dasharray:1;stroke-dashoffset:var(--sp,1)}
.to-top .arr{position:relative}

.trail{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:70}

/* ---------- buttons / links ---------- */
.btn{display:inline-block;position:relative;padding:15px 28px;font:600 16px/1.2 var(--sans);text-decoration:none;border-radius:999px;background:var(--terra);color:#fff;border:1.5px solid var(--terra);transition:transform .3s cubic-bezier(.22,1,.36,1)}
.btn:hover{transform:translateY(-2px)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn svg{position:absolute;inset:-9px;width:calc(100% + 18px);height:calc(100% + 18px);pointer-events:none;fill:none;stroke:var(--terra);stroke-width:2;stroke-linecap:round}
.btn svg path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .7s cubic-bezier(.22,1,.36,1)}
.btn:hover svg path,.btn:focus-visible svg path{stroke-dashoffset:0}

/* ---------- HERO ---------- */
.hero{position:relative;min-height:78svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:104px 20px 6vh}
.hero-note{margin-bottom:14px;transform:rotate(-2deg)}
.tw{display:inline-block}
.hero-title{font-size:clamp(52px,9vw,168px);line-height:.9;letter-spacing:-.025em;text-transform:uppercase;font-weight:500;max-width:14ch}
.ln{display:block;overflow:hidden;padding:.12em .04em .02em;margin:-.12em 0 -.02em;position:relative}
.ln .w{display:inline-block}
.accent{color:var(--terra)}
.hero-und{position:absolute;left:50%;bottom:-.02em;width:3.2em;height:.16em;transform:translateX(-50%);fill:none;stroke:var(--terra);stroke-width:3;stroke-linecap:round;overflow:visible}
.hero-und path{stroke-dasharray:1;stroke-dashoffset:var(--u,0)}
.hero-desc{max-width:520px;margin-top:28px;font-size:clamp(16px,1.25vw,18.5px);color:#3d3a35}
.scroll-hint{margin-top:26px;font-size:22px;color:var(--terra)}
.doodles{position:absolute;inset:0;pointer-events:none}
.dd{position:absolute;width:clamp(48px,6vw,92px);fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.55;overflow:visible}
.dd .f{fill:var(--terra);stroke:none}
.d1{left:7%;top:22%}.d2{right:8%;top:20%}.d3{left:11%;bottom:20%;width:clamp(40px,4.4vw,70px)}.d4{right:12%;bottom:24%}.d5{left:24%;top:12%;width:clamp(40px,4vw,64px);opacity:.35}.d6{right:25%;top:11%;width:clamp(36px,3.6vw,56px);opacity:.4}

/* ---------- CHAPTERS ---------- */
.chapters{display:flex;flex-direction:column;gap:clamp(70px,14vh,150px);padding:0 clamp(14px,3vw,80px)}
.chapter{--bg:var(--sheet);--acc:var(--terra);position:relative;width:100%;max-width:1280px;margin:0 auto;border-radius:clamp(24px,2.6vw,38px);background:var(--bg);color:var(--ink);box-shadow:0 1px 2px rgba(43,43,43,.08),0 30px 60px -36px rgba(43,43,43,.45);transform-origin:50% 0}
.chapter::before{content:"";position:absolute;inset:0;border-radius:inherit;background-image:var(--noise);opacity:.06;pointer-events:none}
.c2{--bg:var(--blue);--acc:var(--terra-l);color:var(--paper)}
.c3{--bg:var(--kraft)}
.c4{--bg:var(--ink);--acc:var(--terra-l);color:var(--paper)}
.ch-in{position:relative;padding:clamp(22px,3.4vw,48px)}
.ch-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:24px}
.ch-label{font:600 12.5px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;margin-bottom:18px;display:flex;align-items:center;gap:10px;opacity:.85}
.ch-label::before{content:"";width:26px;height:1.5px;background:currentColor}
.ch-title{font-size:clamp(46px,6.6vw,100px);line-height:.92;letter-spacing:-.02em}
.medal{width:84px;height:84px;border-radius:50%;border:1.5px solid currentColor;display:grid;place-items:center;align-self:center;margin-top:10px;background:var(--bg)}
.medal svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ch-desc{justify-self:end;max-width:330px;font-size:clamp(15px,1.1vw,16.5px);line-height:1.6;opacity:.9}
.ch-window{position:relative;margin-top:56px;height:clamp(280px,40vw,540px);border-radius:clamp(16px,1.8vw,26px);overflow:hidden;contain:layout;background:rgba(43,43,43,.035);border:1.5px solid color-mix(in srgb,currentColor 22%,transparent)}
.c2 .ch-window,.c4 .ch-window{background:rgba(0,0,0,.14)}
.ch-bg{position:absolute;left:0;right:0;top:-16%;height:132%;opacity:.5;background-image:linear-gradient(color-mix(in srgb,currentColor 9%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,currentColor 9%,transparent) 1px,transparent 1px);background-size:36px 36px}
.ch-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,transparent 30%,var(--bg) 92%)}
.scene{position:absolute;inset:3% 3%;width:94%;height:94%;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ch-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:24px}
.more{position:relative;font:600 15px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;padding:10px 0}
.more svg{position:absolute;left:0;bottom:0;width:100%;height:8px;fill:none;stroke:var(--acc);stroke-width:2.4;stroke-linecap:round}
.more svg path{stroke-dasharray:1;stroke-dashoffset:.55;transition:stroke-dashoffset .5s}
.more:hover svg path{stroke-dashoffset:0}
.arrow-btn{background:transparent;border-color:currentColor;color:inherit;backdrop-filter:none}
.arrow-btn:hover{background:var(--acc);border-color:var(--acc);color:#fff}

/* scene parts */
.scene .thin{stroke-width:1.4}
.scene text,.room text,.land text{stroke:none;fill:currentColor}
.t-hand{font:500 26px var(--hand)}
.t-mono{font:600 13px var(--sans);letter-spacing:.14em}
.t-btn{font:600 14px var(--sans);fill:var(--acc)!important}
.wob{filter:url(#brush);transform:translateZ(0)}
html.js-motion .wob{filter:none}
html.js-motion .inked .wob{filter:url(#brush)}
.acc{stroke:var(--acc)}
.knob{fill:var(--bg);stroke-width:2.2}
.fillbar{stroke-width:4.5;stroke:var(--acc)}
.ufill{fill:var(--acc);stroke:none;opacity:0}
.uled{fill:var(--acc);stroke:none;opacity:.18}
.pkt{fill:var(--acc);stroke:var(--acc);stroke-opacity:.28;stroke-width:8;opacity:0}
html.rm .pkt{display:none}
.flow,.cable{stroke-width:1.6;stroke-dasharray:6 8}
.cable{stroke-width:2}
.bled{fill:var(--acc);stroke:none;opacity:.25}
.grid{stroke-width:1;opacity:.16}
.graph{stroke-width:3;stroke-dasharray:1;stroke-dashoffset:0}
.gdot{fill:var(--acc);stroke:none}
.gear{stroke-width:2.2}
.hub{stroke-width:2}
.barrow,.barrow-h{stroke-width:2.2}
.check{stroke-width:4;stroke-dasharray:1;stroke-dashoffset:0}
.bub path{fill:rgba(245,239,227,.06);stroke-width:1.8}
.typing circle{fill:currentColor;stroke:none}
.hdot{fill:currentColor;stroke:none;opacity:.5}
.click-ring{stroke:var(--acc);opacity:0}
.cur{fill:var(--bg);stroke-width:1.8}
.steam{stroke-width:1.6;opacity:.6}
.rled{fill:var(--terra);stroke:none;opacity:.3}
.socket path{stroke:var(--ink);stroke-width:2.2;fill:var(--sheet)}

/* draw-in (only when JS + motion) */
html.js-motion .dr{stroke-dasharray:1;stroke-dashoffset:1}
html.js-motion .drawn .dr{stroke-dashoffset:0;transition:stroke-dashoffset 2s cubic-bezier(.45,.05,.25,1)}
html.js-motion .drawn .dr:nth-child(2n){transition-delay:.18s}
html.js-motion .drawn .dr:nth-child(3n){transition-delay:.32s}

/* ---------- FEATURE ---------- */
.feature{position:relative;padding:clamp(120px,22vh,240px) 20px 0;text-align:center}
.feat-title{font-size:clamp(46px,8.6vw,150px);line-height:.92;letter-spacing:-.025em;text-transform:uppercase;margin:16px auto 0;max-width:13ch}
.feat-desc{max-width:560px;margin:28px auto 0;color:#3d3a35}
.feat-cta{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin-top:34px}
.room-wrap{position:relative;max-width:1200px;margin:clamp(40px,8vh,90px) auto 0}
.room{width:100%;height:auto;display:block;fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;color:var(--ink)}
.room.fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.room .thin{stroke-width:1.3}
.reasons{max-width:1100px;margin:clamp(60px,10vh,110px) auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:30px;text-align:left}
.reasons>div{border-top:1.5px solid rgba(43,43,43,.35);padding-top:18px}
.num{font:600 26px var(--hand);color:var(--terra)}
.reasons h3{font-size:23px;margin:6px 0 8px}
.reasons p{font-size:15.5px;color:#3d3a35}
.team{max-width:1100px;margin:clamp(50px,8vh,90px) auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:left}
.mate{display:flex;align-items:center;gap:16px;background:var(--sheet);border-radius:22px;padding:18px 20px;box-shadow:0 18px 40px -30px rgba(43,43,43,.5)}
.mate svg{width:62px;height:62px;flex:none;fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round}
.mate h3{font-size:19px}
.mate .hand{font-size:22px}

/* ---------- PRICING ---------- */
.pricing{max-width:1100px;margin:0 auto;padding:clamp(110px,18vh,200px) 20px 0;position:relative}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:22px}
.sec-title{font-size:clamp(50px,7vw,104px);letter-spacing:-.02em;line-height:.95;margin:4px 0 10px}
.toggle{position:relative;display:inline-flex;border:1.5px solid var(--ink);border-radius:999px;padding:4px;background:var(--sheet)}
.tg{position:relative;z-index:1;font:600 15px var(--sans);background:none;border:0;padding:10px 20px;border-radius:999px;cursor:pointer;color:var(--ink);transition:color .35s}
.tg.on{color:var(--paper)}
.tg-knob{position:absolute;z-index:0;top:4px;bottom:4px;left:4px;border-radius:999px;background:var(--ink);transition:transform .5s cubic-bezier(.22,1,.36,1),width .5s cubic-bezier(.22,1,.36,1)}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px;align-items:stretch}
.plan{position:relative;background:var(--sheet);border-radius:30px;padding:34px 30px 30px;display:flex;flex-direction:column;box-shadow:0 1px 2px rgba(43,43,43,.08),0 26px 50px -36px rgba(43,43,43,.5)}
.plan h3{font-size:28px}
.plan.featured{background:var(--ink);color:var(--paper)}
.plan.featured .unit{color:#cfc7b8}
.price{font:500 clamp(54px,5vw,70px)/1 var(--serif);margin:22px 0 6px;display:flex;align-items:baseline;gap:10px}
.price>span:last-child{font-size:.42em}
.odo{display:inline-flex;overflow:hidden;height:1.08em;line-height:1.08;vertical-align:bottom}
.odo .ch{position:relative;display:inline-block;height:1.08em}
.odo .ch i{display:block;font-style:normal;height:1.08em}
.unit{color:var(--muted);font-size:14.5px;min-height:2.6em}
.plan ul{list-style:none;padding:0;margin:18px 0 26px;flex:1}
.plan li{padding:9px 0 9px 26px;border-top:1px solid color-mix(in srgb,currentColor 18%,transparent);position:relative;font-size:15.5px}
.plan li::before{content:"";position:absolute;left:2px;top:15px;width:12px;height:7px;border-left:2px solid var(--terra);border-bottom:2px solid var(--terra);transform:rotate(-45deg)}
.plan .btn{align-self:flex-start}
.plan.featured .btn svg{stroke:var(--terra-l)}
.badge{position:absolute;top:-16px;right:26px;font:600 25px/1 var(--hand);color:var(--terra);background:var(--paper);padding:6px 14px;border-radius:999px}
.badge svg{position:absolute;inset:-12px -14px;width:calc(100% + 28px);height:calc(100% + 24px);fill:none;stroke:var(--terra);stroke-width:2;stroke-linecap:round;overflow:visible}
.badge svg path{stroke-dasharray:1;stroke-dashoffset:0}

/* ---------- FAQ ---------- */
.faq{max-width:860px;margin:0 auto;padding:clamp(110px,16vh,190px) 20px 0}
.acc-list{margin-top:26px;border-top:1.5px solid rgba(43,43,43,.3)}
.qa{border-bottom:1.5px solid rgba(43,43,43,.3)}
.qa h3{font-size:inherit}
.qa button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;background:none;border:0;padding:24px 0;text-align:left;font:500 clamp(20px,2vw,26px)/1.25 var(--serif);color:var(--ink);cursor:pointer}
.qa button:hover{color:var(--terra)}
.pm{position:relative;flex:none;width:36px;height:36px;border:1.5px solid currentColor;border-radius:50%}
.pm::before,.pm::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.8px;background:currentColor;transform:translate(-50%,-50%);transition:transform .45s cubic-bezier(.22,1,.36,1)}
.pm::after{transform:translate(-50%,-50%) rotate(90deg)}
.qa.open .pm::after{transform:translate(-50%,-50%) rotate(0)}
.ans{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.22,1,.36,1)}
.ans>div{overflow:hidden}
.ans p{padding:0 0 24px;color:#3d3a35;opacity:0;transform:translateY(-6px);transition:opacity .4s,transform .4s}
.qa.open .ans{grid-template-rows:1fr}
.qa.open .ans p{opacity:1;transform:none}

/* ---------- CONTACT + FINALE ---------- */
.contact{text-align:center;padding:clamp(110px,18vh,200px) 20px clamp(20px,4vh,40px)}
.contact-title{font-size:clamp(40px,6vw,92px);letter-spacing:-.02em;line-height:.98;margin:10px 0 18px}
.contact>p:not(.hand){margin-bottom:30px;color:#3d3a35}
.finale{position:relative}
.land-wrap{position:relative}
.land{display:block;width:100%;height:clamp(440px,44vw,640px);fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;color:var(--ink)}
.land.fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.land .thin{stroke-width:1.3}
.footer{position:relative;z-index:7;max-width:1280px;margin:calc(-1 * clamp(200px,20vw,300px)) auto 0;margin-left:clamp(14px,3vw,80px);margin-right:clamp(14px,3vw,80px);border-radius:30px 30px 0 0;padding:clamp(26px,3.4vw,46px);background:rgba(250,246,238,.92);border:1px solid rgba(43,43,43,.12);border-bottom:0}
@media (min-width:1440px){.footer{margin-left:auto;margin-right:auto}}
.f-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:28px}
.f-brand strong{font:600 32px/1 var(--serif)}
.f-brand .hand{margin-top:8px;font-size:22px}
.f-col h3{font:600 12.5px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;margin-bottom:14px;color:var(--muted)}
.f-col ul{list-style:none;margin:0;padding:0;font-size:15px}
.f-col li{padding:4px 0}
.f-col a{text-decoration:none}.f-col a:hover{color:var(--terra)}
.f-bot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:34px;padding-top:20px;border-top:1px solid rgba(43,43,43,.18);font-size:13.5px;color:var(--muted)}
.f-bot a{color:var(--muted)}

/* ---------- responsive ---------- */
@media (max-width:1100px){.reasons{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){
  .ch-top{grid-template-columns:1fr auto;grid-template-areas:"l m" "d d";align-items:start;gap:16px 14px}
  .ch-left{grid-area:l}.medal{grid-area:m;width:60px;height:60px;margin-top:0;align-self:start}.medal svg{width:30px;height:30px}
  .ch-desc{grid-area:d;justify-self:start;max-width:none}
  .ch-label{margin-bottom:12px}
  .ch-window{margin-top:22px;height:auto;aspect-ratio:800/470}
  .plans{grid-template-columns:1fr;max-width:520px}
  .team{grid-template-columns:1fr;max-width:520px;margin-left:auto;margin-right:auto}
  .f-top{grid-template-columns:1fr 1fr}
  .f-brand{grid-column:1/-1}
  .d5,.d6{display:none}
}
@media (max-width:600px){
  .reasons{grid-template-columns:1fr;gap:22px}
  .hero{min-height:78svh;padding-top:110px}
  .footer{padding-bottom:88px}
  .hero-title{font-size:clamp(46px,14.2vw,80px)}
  .d1{left:3%;top:15%}.d2{right:3%;top:14%}.d3{left:4%;bottom:12%}.d4{right:5%;bottom:13%}
  .sec-head{align-items:flex-start}
  .footer{border-radius:24px 24px 0 0}
  .round{width:46px;height:46px}
  .feat-title{font-size:clamp(40px,12.4vw,80px)}
}


/* =====================================================================
   UKUZO – sumi-e edition (washi paper, sumi ink, shu red, sakura)
   ===================================================================== */
:root{
  --paper:#F6EEDF; --sheet:#FBF6EC; --kraft:#F4E4E2; --ink:#1C1A18; --wash:#4A4440; --wash2:#8A837B;
  --shu:#C8352B; --shu-l:#E8705F; --terra:#C8352B; --terra-l:#E8705F; --blue:#4A4440;
  --sakura:#F2B8C6; --sakura-d:#E79AB0; --moss:#6B7A3A; --muted:#5E5850;
  --serif:"Shippori Mincho B1","Shippori Mincho",Georgia,"Times New Roman",serif;
  --hand:"Yuji Syuku","Shippori Mincho B1",Georgia,serif; --kanji:"Yuji Syuku","Shippori Mincho B1",serif;
  --ring:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill='%23000' d='M35.6 18.7 L38.2 18.2 L40.6 17.9 L42.9 17.5 L45.0 17.0 L47.2 16.4 L49.4 16.0 L51.6 15.8 L53.9 15.9 L56.2 16.3 L58.4 17.0 L60.6 17.8 L62.8 18.9 L64.9 20.0 L67.0 21.2 L69.0 22.4 L71.0 23.6 L72.9 25.0 L74.8 26.4 L76.5 28.0 L77.9 29.8 L79.2 31.7 L80.2 33.8 L80.9 36.0 L81.5 38.2 L81.9 40.4 L82.2 42.7 L82.4 45.0 L82.6 47.3 L82.7 49.7 L82.7 52.1 L82.6 54.5 L82.3 56.8 L81.8 59.1 L81.1 61.4 L80.3 63.5 L79.3 65.6 L78.2 67.6 L77.1 69.5 L75.8 71.4 L74.4 73.1 L72.9 74.9 L71.2 76.5 L69.4 78.0 L67.4 79.3 L65.3 80.4 L63.1 81.4 L60.9 82.3 L58.6 83.2 L56.3 83.9 L54.0 84.6 L51.6 85.2 L49.2 85.7 L46.8 85.9 L44.4 86.0 L41.9 85.7 L39.5 85.2 L37.1 84.4 L34.8 83.4 L32.6 82.1 L30.5 80.8 L28.5 79.2 L26.5 77.6 L24.6 75.9 L22.8 74.2 L21.1 72.3 L19.4 70.4 L17.9 68.3 L16.5 66.1 L15.4 63.8 L14.5 61.4 L13.8 61.7 L14.7 64.1 L15.7 66.5 L16.8 68.9 L18.0 71.3 L19.4 73.6 L20.8 75.8 L22.4 78.0 L24.1 80.1 L26.0 82.1 L28.1 83.9 L30.3 85.7 L32.7 87.2 L35.3 88.6 L37.9 89.8 L40.7 90.7 L43.6 91.5 L46.5 92.0 L49.5 92.2 L52.5 92.2 L55.4 91.9 L58.3 91.4 L61.1 90.6 L63.8 89.7 L66.4 88.5 L68.9 87.2 L71.3 85.8 L73.7 84.3 L76.1 82.7 L78.5 80.9 L80.7 78.9 L82.7 76.7 L84.4 74.3 L85.9 71.8 L87.1 69.1 L88.1 66.3 L88.8 63.6 L89.4 60.9 L90.0 58.2 L90.4 55.5 L90.9 52.8 L91.2 50.1 L91.5 47.3 L91.5 44.5 L91.3 41.6 L90.9 38.7 L90.1 35.8 L89.1 33.0 L87.8 30.2 L86.4 27.6 L84.7 25.0 L83.0 22.6 L81.0 20.2 L79.0 18.0 L76.8 16.0 L74.5 14.2 L72.0 12.6 L69.4 11.2 L66.7 10.0 L63.9 9.0 L61.1 8.2 L58.1 7.5 L55.1 6.9 L52.1 6.6 L49.0 6.4 L45.8 6.4 L42.7 6.8 L39.7 7.7 L37.0 9.2 L34.6 11.0 L32.6 13.1Z M72.3 76.5 L69.1 78.9 L65.8 80.8 L62.2 82.5 L58.5 83.8 L54.7 84.8 L50.7 85.5 L46.7 85.6 L42.7 85.1 L38.9 84.0 L35.2 82.3 L31.9 80.1 L28.8 77.6 L26.0 74.9 L23.5 71.9 L21.2 68.7 L19.3 65.4 L17.7 61.8 L16.6 58.1 L16.0 54.3 L15.9 50.5 L16.2 46.6 L17.0 42.9 L18.0 39.2 L19.3 35.6 L18.9 35.4 L17.6 39.1 L16.5 42.8 L15.8 46.6 L15.4 50.4 L15.5 54.4 L16.1 58.3 L17.2 62.0 L18.8 65.6 L20.8 69.0 L23.1 72.2 L25.6 75.2 L28.4 78.1 L31.5 80.7 L34.9 82.9 L38.6 84.7 L42.6 85.8 L46.7 86.4 L50.8 86.2 L54.8 85.6 L58.7 84.5 L62.4 83.0 L66.0 81.3 L69.4 79.3 L72.6 76.9Z M64.5 83.4 L60.9 85.0 L57.1 86.2 L53.2 87.1 L49.2 87.5 L45.1 87.4 L41.1 86.6 L37.3 85.3 L33.7 83.5 L30.3 81.3 L27.3 78.7 L24.5 75.9 L22.0 72.9 L19.7 69.7 L17.7 66.3 L16.1 62.8 L14.9 59.1 L14.2 55.2 L14.1 51.3 L14.3 47.5 L15.0 43.7 L15.9 39.9 L17.1 36.3 L18.6 32.7 L20.4 29.2 L19.9 29.0 L18.2 32.5 L16.7 36.1 L15.4 39.8 L14.5 43.6 L13.8 47.4 L13.6 51.3 L13.7 55.3 L14.5 59.2 L15.7 63.0 L17.3 66.6 L19.3 70.0 L21.6 73.2 L24.1 76.2 L26.9 79.1 L30.0 81.7 L33.4 84.0 L37.1 85.9 L41.0 87.2 L45.1 87.9 L49.2 88.0 L53.3 87.6 L57.2 86.7 L61.1 85.5 L64.7 83.9Z M71.2 82.1 L67.9 84.0 L64.5 85.7 L61.0 87.1 L57.3 88.2 L53.5 89.0 L49.7 89.4 L45.8 89.3 L42.0 88.8 L38.2 87.8 L34.6 86.3 L31.3 84.4 L28.2 82.1 L25.3 79.6 L22.7 76.8 L20.3 73.9 L18.1 70.9 L16.2 67.7 L14.6 64.3 L13.3 60.7 L12.5 57.1 L12.1 53.3 L12.1 49.6 L12.5 45.9 L13.2 42.3 L12.8 42.2 L12.0 45.8 L11.6 49.6 L11.6 53.4 L12.0 57.1 L12.8 60.9 L14.1 64.5 L15.7 67.9 L17.7 71.2 L19.9 74.2 L22.3 77.2 L25.0 79.9 L27.8 82.5 L30.9 84.9 L34.3 86.9 L38.0 88.5 L41.8 89.5 L45.8 90.1 L49.7 90.1 L53.6 89.6 L57.5 88.8 L61.1 87.6 L64.7 86.1 L68.1 84.4 L71.4 82.5Z M79.3 77.7 L76.5 80.4 L73.5 82.8 L70.2 84.9 L66.8 86.7 L63.2 88.3 L59.6 89.6 L55.8 90.6 L51.9 91.2 L47.9 91.4 L43.9 91.2 L40.0 90.4 L36.2 89.2 L32.6 87.5 L29.3 85.4 L26.2 82.9 L23.3 80.3 L20.7 77.5 L18.3 74.4 L16.1 71.3 L14.2 67.9 L12.6 64.4 L11.4 60.8 L10.6 57.0 L10.2 53.2 L9.7 53.2 L10.1 57.1 L10.9 60.9 L12.1 64.6 L13.7 68.2 L15.7 71.5 L17.9 74.7 L20.3 77.8 L23.0 80.6 L25.9 83.3 L29.0 85.8 L32.4 87.9 L36.0 89.6 L39.9 90.9 L43.9 91.7 L47.9 91.9 L51.9 91.7 L55.9 91.0 L59.7 90.0 L63.4 88.7 L67.0 87.1 L70.5 85.3 L73.8 83.2 L76.9 80.8 L79.7 78.1Z M55.1 91.8 L53.1 92.1 L51.1 92.4 L49.1 92.5 L47.0 92.5 L45.0 92.4 L42.9 92.2 L40.9 91.8 L38.9 91.3 L37.0 90.6 L35.1 89.9 L33.2 89.0 L31.5 88.1 L29.7 87.0 L28.1 85.8 L26.5 84.6 L24.9 83.3 L23.4 82.0 L22.0 80.5 L20.7 79.1 L19.4 77.6 L18.1 76.1 L16.9 74.5 L15.8 72.9 L14.7 71.2 L14.3 71.5 L15.4 73.1 L16.5 74.8 L17.7 76.4 L19.0 77.9 L20.3 79.4 L21.7 80.9 L23.1 82.3 L24.6 83.7 L26.1 85.0 L27.8 86.2 L29.5 87.4 L31.2 88.5 L33.0 89.5 L34.9 90.4 L36.8 91.1 L38.8 91.8 L40.8 92.3 L42.9 92.7 L44.9 92.9 L47.0 93.0 L49.1 93.0 L51.1 92.9 L53.2 92.6 L55.2 92.3Z M38.5 15.9A4.4 4.4 0 1 0 29.7 15.9A4.4 4.4 0 1 0 38.5 15.9Z'/%3E%3C/svg%3E"); --ring-img:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill='%231C1A18' d='M35.6 18.7 L38.2 18.2 L40.6 17.9 L42.9 17.5 L45.0 17.0 L47.2 16.4 L49.4 16.0 L51.6 15.8 L53.9 15.9 L56.2 16.3 L58.4 17.0 L60.6 17.8 L62.8 18.9 L64.9 20.0 L67.0 21.2 L69.0 22.4 L71.0 23.6 L72.9 25.0 L74.8 26.4 L76.5 28.0 L77.9 29.8 L79.2 31.7 L80.2 33.8 L80.9 36.0 L81.5 38.2 L81.9 40.4 L82.2 42.7 L82.4 45.0 L82.6 47.3 L82.7 49.7 L82.7 52.1 L82.6 54.5 L82.3 56.8 L81.8 59.1 L81.1 61.4 L80.3 63.5 L79.3 65.6 L78.2 67.6 L77.1 69.5 L75.8 71.4 L74.4 73.1 L72.9 74.9 L71.2 76.5 L69.4 78.0 L67.4 79.3 L65.3 80.4 L63.1 81.4 L60.9 82.3 L58.6 83.2 L56.3 83.9 L54.0 84.6 L51.6 85.2 L49.2 85.7 L46.8 85.9 L44.4 86.0 L41.9 85.7 L39.5 85.2 L37.1 84.4 L34.8 83.4 L32.6 82.1 L30.5 80.8 L28.5 79.2 L26.5 77.6 L24.6 75.9 L22.8 74.2 L21.1 72.3 L19.4 70.4 L17.9 68.3 L16.5 66.1 L15.4 63.8 L14.5 61.4 L13.8 61.7 L14.7 64.1 L15.7 66.5 L16.8 68.9 L18.0 71.3 L19.4 73.6 L20.8 75.8 L22.4 78.0 L24.1 80.1 L26.0 82.1 L28.1 83.9 L30.3 85.7 L32.7 87.2 L35.3 88.6 L37.9 89.8 L40.7 90.7 L43.6 91.5 L46.5 92.0 L49.5 92.2 L52.5 92.2 L55.4 91.9 L58.3 91.4 L61.1 90.6 L63.8 89.7 L66.4 88.5 L68.9 87.2 L71.3 85.8 L73.7 84.3 L76.1 82.7 L78.5 80.9 L80.7 78.9 L82.7 76.7 L84.4 74.3 L85.9 71.8 L87.1 69.1 L88.1 66.3 L88.8 63.6 L89.4 60.9 L90.0 58.2 L90.4 55.5 L90.9 52.8 L91.2 50.1 L91.5 47.3 L91.5 44.5 L91.3 41.6 L90.9 38.7 L90.1 35.8 L89.1 33.0 L87.8 30.2 L86.4 27.6 L84.7 25.0 L83.0 22.6 L81.0 20.2 L79.0 18.0 L76.8 16.0 L74.5 14.2 L72.0 12.6 L69.4 11.2 L66.7 10.0 L63.9 9.0 L61.1 8.2 L58.1 7.5 L55.1 6.9 L52.1 6.6 L49.0 6.4 L45.8 6.4 L42.7 6.8 L39.7 7.7 L37.0 9.2 L34.6 11.0 L32.6 13.1Z M72.3 76.5 L69.1 78.9 L65.8 80.8 L62.2 82.5 L58.5 83.8 L54.7 84.8 L50.7 85.5 L46.7 85.6 L42.7 85.1 L38.9 84.0 L35.2 82.3 L31.9 80.1 L28.8 77.6 L26.0 74.9 L23.5 71.9 L21.2 68.7 L19.3 65.4 L17.7 61.8 L16.6 58.1 L16.0 54.3 L15.9 50.5 L16.2 46.6 L17.0 42.9 L18.0 39.2 L19.3 35.6 L18.9 35.4 L17.6 39.1 L16.5 42.8 L15.8 46.6 L15.4 50.4 L15.5 54.4 L16.1 58.3 L17.2 62.0 L18.8 65.6 L20.8 69.0 L23.1 72.2 L25.6 75.2 L28.4 78.1 L31.5 80.7 L34.9 82.9 L38.6 84.7 L42.6 85.8 L46.7 86.4 L50.8 86.2 L54.8 85.6 L58.7 84.5 L62.4 83.0 L66.0 81.3 L69.4 79.3 L72.6 76.9Z M64.5 83.4 L60.9 85.0 L57.1 86.2 L53.2 87.1 L49.2 87.5 L45.1 87.4 L41.1 86.6 L37.3 85.3 L33.7 83.5 L30.3 81.3 L27.3 78.7 L24.5 75.9 L22.0 72.9 L19.7 69.7 L17.7 66.3 L16.1 62.8 L14.9 59.1 L14.2 55.2 L14.1 51.3 L14.3 47.5 L15.0 43.7 L15.9 39.9 L17.1 36.3 L18.6 32.7 L20.4 29.2 L19.9 29.0 L18.2 32.5 L16.7 36.1 L15.4 39.8 L14.5 43.6 L13.8 47.4 L13.6 51.3 L13.7 55.3 L14.5 59.2 L15.7 63.0 L17.3 66.6 L19.3 70.0 L21.6 73.2 L24.1 76.2 L26.9 79.1 L30.0 81.7 L33.4 84.0 L37.1 85.9 L41.0 87.2 L45.1 87.9 L49.2 88.0 L53.3 87.6 L57.2 86.7 L61.1 85.5 L64.7 83.9Z M71.2 82.1 L67.9 84.0 L64.5 85.7 L61.0 87.1 L57.3 88.2 L53.5 89.0 L49.7 89.4 L45.8 89.3 L42.0 88.8 L38.2 87.8 L34.6 86.3 L31.3 84.4 L28.2 82.1 L25.3 79.6 L22.7 76.8 L20.3 73.9 L18.1 70.9 L16.2 67.7 L14.6 64.3 L13.3 60.7 L12.5 57.1 L12.1 53.3 L12.1 49.6 L12.5 45.9 L13.2 42.3 L12.8 42.2 L12.0 45.8 L11.6 49.6 L11.6 53.4 L12.0 57.1 L12.8 60.9 L14.1 64.5 L15.7 67.9 L17.7 71.2 L19.9 74.2 L22.3 77.2 L25.0 79.9 L27.8 82.5 L30.9 84.9 L34.3 86.9 L38.0 88.5 L41.8 89.5 L45.8 90.1 L49.7 90.1 L53.6 89.6 L57.5 88.8 L61.1 87.6 L64.7 86.1 L68.1 84.4 L71.4 82.5Z M79.3 77.7 L76.5 80.4 L73.5 82.8 L70.2 84.9 L66.8 86.7 L63.2 88.3 L59.6 89.6 L55.8 90.6 L51.9 91.2 L47.9 91.4 L43.9 91.2 L40.0 90.4 L36.2 89.2 L32.6 87.5 L29.3 85.4 L26.2 82.9 L23.3 80.3 L20.7 77.5 L18.3 74.4 L16.1 71.3 L14.2 67.9 L12.6 64.4 L11.4 60.8 L10.6 57.0 L10.2 53.2 L9.7 53.2 L10.1 57.1 L10.9 60.9 L12.1 64.6 L13.7 68.2 L15.7 71.5 L17.9 74.7 L20.3 77.8 L23.0 80.6 L25.9 83.3 L29.0 85.8 L32.4 87.9 L36.0 89.6 L39.9 90.9 L43.9 91.7 L47.9 91.9 L51.9 91.7 L55.9 91.0 L59.7 90.0 L63.4 88.7 L67.0 87.1 L70.5 85.3 L73.8 83.2 L76.9 80.8 L79.7 78.1Z M55.1 91.8 L53.1 92.1 L51.1 92.4 L49.1 92.5 L47.0 92.5 L45.0 92.4 L42.9 92.2 L40.9 91.8 L38.9 91.3 L37.0 90.6 L35.1 89.9 L33.2 89.0 L31.5 88.1 L29.7 87.0 L28.1 85.8 L26.5 84.6 L24.9 83.3 L23.4 82.0 L22.0 80.5 L20.7 79.1 L19.4 77.6 L18.1 76.1 L16.9 74.5 L15.8 72.9 L14.7 71.2 L14.3 71.5 L15.4 73.1 L16.5 74.8 L17.7 76.4 L19.0 77.9 L20.3 79.4 L21.7 80.9 L23.1 82.3 L24.6 83.7 L26.1 85.0 L27.8 86.2 L29.5 87.4 L31.2 88.5 L33.0 89.5 L34.9 90.4 L36.8 91.1 L38.8 91.8 L40.8 92.3 L42.9 92.7 L44.9 92.9 L47.0 93.0 L49.1 93.0 L51.1 92.9 L53.2 92.6 L55.2 92.3Z M38.5 15.9A4.4 4.4 0 1 0 29.7 15.9A4.4 4.4 0 1 0 38.5 15.9Z'/%3E%3C/svg%3E"); --line:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 12' preserveAspectRatio='none'%3E%3Cpath fill='%23000' d='M4.0 6.6 L9.0 6.9 L13.9 7.0 L18.9 7.2 L23.8 7.3 L28.8 7.4 L33.7 7.5 L38.7 7.6 L43.7 7.7 L48.6 7.8 L53.6 7.9 L58.5 7.9 L63.5 8.0 L68.5 8.1 L73.4 8.2 L78.4 8.2 L83.3 8.3 L88.3 8.4 L93.3 8.4 L98.2 8.5 L103.2 8.6 L108.1 8.6 L113.1 8.7 L118.1 8.7 L123.0 8.8 L128.0 8.8 L133.0 8.8 L137.9 8.9 L142.9 8.9 L147.8 8.9 L152.8 9.0 L157.8 9.0 L162.7 9.0 L167.7 9.0 L172.6 9.0 L177.6 9.1 L182.6 9.1 L187.5 9.1 L192.5 9.1 L197.4 9.1 L202.4 9.1 L207.4 9.1 L212.3 9.1 L217.3 9.1 L222.2 9.1 L227.2 9.0 L232.2 9.0 L237.1 9.0 L242.1 9.0 L247.1 9.0 L252.0 8.9 L257.0 8.9 L261.9 8.9 L266.9 8.8 L271.9 8.8 L276.8 8.8 L281.8 8.7 L286.7 8.7 L291.7 8.6 L296.7 8.6 L301.6 8.6 L306.6 8.5 L311.5 8.5 L316.5 8.4 L321.5 8.4 L326.4 8.3 L331.4 8.3 L336.3 8.2 L341.3 8.1 L346.3 8.1 L351.2 8.0 L356.2 8.0 L361.1 7.9 L366.1 7.9 L371.1 7.8 L376.0 7.8 L381.0 7.7 L385.9 7.7 L390.9 7.6 L395.9 7.6 L400.8 7.5 L405.8 7.5 L410.7 7.4 L415.7 7.4 L420.7 7.3 L425.6 7.3 L430.6 7.2 L435.5 7.2 L440.5 7.1 L445.5 7.1 L450.4 7.0 L455.4 7.0 L460.3 7.0 L465.3 6.9 L470.2 6.9 L475.2 6.9 L480.2 6.9 L485.1 6.8 L490.1 6.8 L495.0 6.8 L500.0 6.8 L505.0 6.7 L509.9 6.7 L514.9 6.7 L519.8 6.7 L524.8 6.7 L529.8 6.7 L534.7 6.7 L539.7 6.7 L544.6 6.7 L549.6 6.7 L554.6 6.7 L559.5 6.7 L564.5 6.7 L569.4 6.7 L574.4 6.7 L579.4 6.7 L584.3 6.8 L589.3 6.8 L594.2 6.8 L599.2 6.8 L604.1 6.8 L609.1 6.9 L614.1 6.9 L619.0 6.9 L624.0 7.0 L628.9 7.0 L633.9 7.0 L638.9 7.1 L643.8 7.1 L648.8 7.1 L653.7 7.2 L658.7 7.2 L663.7 7.2 L668.6 7.3 L673.6 7.3 L678.5 7.3 L683.5 7.4 L688.5 7.4 L693.4 7.5 L698.4 7.5 L703.3 7.5 L708.3 7.6 L713.3 7.6 L718.2 7.7 L723.2 7.7 L728.1 7.7 L733.1 7.8 L738.1 7.8 L743.0 7.8 L748.0 7.9 L752.9 7.9 L757.9 7.9 L762.9 8.0 L767.8 8.0 L772.8 8.0 L777.8 8.0 L782.7 8.0 L787.7 8.1 L792.6 8.1 L797.6 8.1 L802.6 8.1 L807.5 8.1 L812.5 8.1 L817.4 8.1 L822.4 8.1 L827.4 8.1 L832.3 8.1 L837.3 8.1 L842.2 8.1 L847.2 8.1 L852.2 8.0 L857.1 8.0 L862.1 7.9 L867.0 7.8 L872.0 7.8 L877.0 7.8 L881.9 7.8 L886.9 7.8 L891.8 7.8 L896.8 7.8 L901.8 7.7 L906.7 7.7 L911.7 7.7 L916.6 7.7 L921.6 7.7 L926.6 7.6 L931.5 7.6 L936.5 7.6 L941.4 7.6 L946.4 7.5 L951.4 7.5 L956.3 7.4 L961.3 7.4 L966.2 7.4 L971.2 7.3 L976.2 7.3 L981.1 7.2 L986.1 7.2 L991.0 7.1 L996.0 7.1 L996.0 5.9 L991.0 5.9 L986.1 6.0 L981.1 6.0 L976.2 6.1 L971.2 6.1 L966.2 6.2 L961.3 6.2 L956.3 6.2 L951.4 6.3 L946.4 6.3 L941.4 6.4 L936.5 6.4 L931.5 6.4 L926.6 6.4 L921.6 6.5 L916.6 6.5 L911.7 6.5 L906.7 6.5 L901.8 6.5 L896.8 6.6 L891.8 6.6 L886.9 6.6 L881.9 6.6 L877.0 6.6 L872.0 6.6 L867.0 6.6 L862.1 6.5 L857.1 6.4 L852.2 6.3 L847.2 6.3 L842.2 6.3 L837.3 6.2 L832.3 6.2 L827.4 6.1 L822.4 6.1 L817.4 6.0 L812.5 6.0 L807.5 5.9 L802.6 5.9 L797.6 5.8 L792.6 5.8 L787.7 5.7 L782.7 5.6 L777.8 5.6 L772.8 5.5 L767.9 5.5 L762.9 5.4 L757.9 5.3 L753.0 5.3 L748.0 5.2 L743.1 5.1 L738.1 5.1 L733.1 5.0 L728.2 4.9 L723.2 4.9 L718.3 4.8 L713.3 4.7 L708.3 4.7 L703.4 4.6 L698.4 4.5 L693.5 4.5 L688.5 4.4 L683.5 4.3 L678.6 4.3 L673.6 4.2 L668.7 4.1 L663.7 4.1 L658.7 4.0 L653.8 3.9 L648.8 3.9 L643.9 3.8 L638.9 3.7 L633.9 3.7 L629.0 3.6 L624.0 3.6 L619.1 3.5 L614.1 3.5 L609.1 3.4 L604.2 3.4 L599.2 3.3 L594.3 3.3 L589.3 3.2 L584.3 3.2 L579.4 3.2 L574.4 3.1 L569.4 3.1 L564.5 3.1 L559.5 3.0 L554.6 3.0 L549.6 3.0 L544.6 3.0 L539.7 2.9 L534.7 2.9 L529.8 2.9 L524.8 2.9 L519.8 2.9 L514.9 2.9 L509.9 2.9 L505.0 2.9 L500.0 2.9 L495.0 2.9 L490.1 2.9 L485.1 2.9 L480.2 2.9 L475.2 2.9 L470.2 3.0 L465.3 3.0 L460.3 3.0 L455.3 3.0 L450.4 3.1 L445.4 3.1 L440.5 3.1 L435.5 3.2 L430.5 3.2 L425.6 3.2 L420.6 3.3 L415.7 3.3 L410.7 3.3 L405.7 3.4 L400.8 3.4 L395.8 3.5 L390.9 3.5 L385.9 3.6 L380.9 3.6 L376.0 3.7 L371.0 3.7 L366.1 3.8 L361.1 3.8 L356.1 3.9 L351.2 3.9 L346.2 4.0 L341.3 4.0 L336.3 4.1 L331.3 4.2 L326.4 4.2 L321.4 4.3 L316.5 4.3 L311.5 4.4 L306.5 4.4 L301.6 4.5 L296.6 4.5 L291.7 4.6 L286.7 4.6 L281.7 4.7 L276.8 4.7 L271.8 4.8 L266.9 4.8 L261.9 4.9 L256.9 4.9 L252.0 4.9 L247.0 5.0 L242.1 5.0 L237.1 5.1 L232.1 5.1 L227.2 5.1 L222.2 5.1 L217.3 5.2 L212.3 5.2 L207.4 5.2 L202.4 5.3 L197.4 5.3 L192.5 5.3 L187.5 5.3 L182.6 5.3 L177.6 5.3 L172.6 5.3 L167.7 5.4 L162.7 5.4 L157.8 5.4 L152.8 5.4 L147.8 5.4 L142.9 5.4 L137.9 5.4 L133.0 5.4 L128.0 5.4 L123.0 5.4 L118.1 5.4 L113.1 5.3 L108.2 5.3 L103.2 5.3 L98.3 5.3 L93.3 5.3 L88.3 5.3 L83.4 5.3 L78.4 5.3 L73.5 5.2 L68.5 5.2 L63.5 5.2 L58.6 5.2 L53.6 5.2 L48.7 5.2 L43.7 5.2 L38.7 5.1 L33.8 5.1 L28.8 5.1 L23.9 5.1 L18.9 5.1 L13.9 5.2 L9.0 5.2 L4.0 5.4Z M300.0 7.5 L307.5 7.6 L315.0 7.7 L322.5 7.8 L330.0 7.9 L337.5 8.0 L345.0 8.1 L352.5 8.2 L360.0 8.3 L367.5 8.3 L375.0 8.4 L382.5 8.4 L390.0 8.5 L397.5 8.5 L405.0 8.5 L412.5 8.5 L420.0 8.5 L427.5 8.5 L435.0 8.5 L442.5 8.5 L450.0 8.5 L457.5 8.4 L465.0 8.4 L472.5 8.3 L480.0 8.2 L487.5 8.2 L495.0 8.1 L502.5 8.0 L510.0 7.9 L517.5 7.8 L525.0 7.8 L532.5 7.7 L540.0 7.6 L547.5 7.5 L555.0 7.5 L562.5 7.4 L570.0 7.3 L577.5 7.3 L585.0 7.2 L592.5 7.2 L600.0 7.2 L607.5 7.2 L615.0 7.1 L622.5 7.1 L630.0 7.2 L637.5 7.2 L645.0 7.2 L652.5 7.2 L660.0 7.3 L667.5 7.3 L675.0 7.4 L682.5 7.4 L690.0 7.5 L697.5 7.6 L705.0 7.7 L712.5 7.7 L720.0 7.8 L727.5 7.9 L735.0 8.0 L742.5 8.0 L750.0 8.1 L757.5 8.2 L765.0 8.2 L772.5 8.3 L780.0 8.4 L787.5 8.4 L795.0 8.4 L802.5 8.5 L810.0 8.5 L817.5 8.5 L825.0 8.5 L832.5 8.5 L840.0 8.4 L847.5 8.4 L855.0 8.4 L862.5 8.3 L870.0 8.2 L877.5 8.2 L885.0 8.1 L892.5 8.0 L900.0 7.9 L900.0 7.9 L892.5 8.0 L885.0 8.0 L877.5 8.1 L870.0 8.1 L862.5 8.1 L855.0 8.1 L847.5 8.2 L840.0 8.2 L832.5 8.1 L825.0 8.1 L817.5 8.1 L810.0 8.1 L802.5 8.0 L795.0 8.0 L787.5 7.9 L780.0 7.8 L772.5 7.7 L765.0 7.7 L757.5 7.6 L750.0 7.5 L742.5 7.4 L735.0 7.3 L727.5 7.2 L720.0 7.1 L712.5 7.0 L705.0 6.9 L697.5 6.8 L690.0 6.7 L682.5 6.6 L675.0 6.6 L667.5 6.5 L660.0 6.4 L652.5 6.4 L645.0 6.3 L637.5 6.3 L630.0 6.3 L622.5 6.3 L615.0 6.3 L607.5 6.3 L600.0 6.3 L592.5 6.3 L585.0 6.3 L577.5 6.4 L570.0 6.5 L562.5 6.5 L555.0 6.6 L547.5 6.7 L540.0 6.8 L532.5 6.8 L525.0 6.9 L517.5 7.0 L510.0 7.1 L502.5 7.2 L495.0 7.3 L487.5 7.4 L480.0 7.5 L472.5 7.6 L465.0 7.7 L457.5 7.7 L450.0 7.8 L442.5 7.9 L435.0 7.9 L427.5 8.0 L420.0 8.0 L412.5 8.0 L405.0 8.1 L397.5 8.1 L390.0 8.1 L382.5 8.1 L375.0 8.0 L367.5 8.0 L360.0 8.0 L352.5 7.9 L345.0 7.9 L337.5 7.8 L330.0 7.8 L322.5 7.7 L315.0 7.6 L307.5 7.6 L300.0 7.5Z'/%3E%3C/svg%3E"); --mtn:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 200' preserveAspectRatio='none'%3E%3Cpath fill='%23000' fill-opacity='.55' d='M0.0 200.0 L0.0 144.7 L12.5 145.9 L25.0 143.2 L37.5 138.1 L50.0 135.2 L62.5 130.2 L75.0 125.1 L87.5 118.7 L100.0 107.9 L112.5 98.8 L125.0 92.6 L137.5 81.2 L150.0 72.8 L162.5 60.6 L175.0 54.2 L187.5 48.7 L200.0 41.9 L212.5 42.2 L225.0 41.8 L237.5 40.4 L250.0 44.6 L262.5 52.9 L275.0 62.2 L287.5 68.7 L300.0 77.2 L312.5 87.3 L325.0 94.4 L337.5 102.9 L350.0 110.2 L362.5 115.4 L375.0 117.6 L387.5 119.2 L400.0 119.0 L412.5 118.3 L425.0 114.7 L437.5 109.6 L450.0 108.3 L462.5 102.4 L475.0 98.1 L487.5 92.2 L500.0 92.2 L512.5 89.7 L525.0 85.9 L537.5 87.2 L550.0 90.2 L562.5 92.4 L575.0 95.9 L587.5 96.5 L600.0 100.4 L612.5 101.1 L625.0 99.9 L637.5 100.0 L650.0 98.6 L662.5 94.4 L675.0 87.7 L687.5 81.5 L700.0 72.0 L712.5 65.0 L725.0 59.3 L737.5 50.1 L750.0 42.3 L762.5 38.0 L775.0 34.3 L787.5 31.5 L800.0 29.4 L812.5 30.7 L825.0 33.8 L837.5 39.4 L850.0 44.4 L862.5 51.3 L875.0 59.9 L887.5 66.9 L900.0 76.1 L912.5 87.9 L925.0 97.9 L937.5 104.6 L950.0 111.5 L962.5 117.5 L975.0 124.9 L987.5 132.0 L1000.0 135.5 L1000.0 200.0Z'/%3E%3Cpath fill='%23000' d='M0.0 200.0 L0.0 158.4 L12.5 153.0 L25.0 143.5 L37.5 137.8 L50.0 135.3 L62.5 130.4 L75.0 127.0 L87.5 124.3 L100.0 126.0 L112.5 128.5 L125.0 132.3 L137.5 135.8 L150.0 142.7 L162.5 148.4 L175.0 155.4 L187.5 161.5 L200.0 165.5 L212.5 167.3 L225.0 169.4 L237.5 170.5 L250.0 170.8 L262.5 171.6 L275.0 173.7 L287.5 173.3 L300.0 173.5 L312.5 175.4 L325.0 173.6 L337.5 173.3 L350.0 171.3 L362.5 169.6 L375.0 169.8 L387.5 167.7 L400.0 167.7 L412.5 167.7 L425.0 164.2 L437.5 159.6 L450.0 159.5 L462.5 155.7 L475.0 151.8 L487.5 148.4 L500.0 143.5 L512.5 139.1 L525.0 132.7 L537.5 130.5 L550.0 125.8 L562.5 118.3 L575.0 116.7 L587.5 113.0 L600.0 109.1 L612.5 107.2 L625.0 105.6 L637.5 106.7 L650.0 105.3 L662.5 107.7 L675.0 107.7 L687.5 112.4 L700.0 115.8 L712.5 117.8 L725.0 122.5 L737.5 128.4 L750.0 132.2 L762.5 135.9 L775.0 139.3 L787.5 143.9 L800.0 149.2 L812.5 150.3 L825.0 155.6 L837.5 154.5 L850.0 157.4 L862.5 153.9 L875.0 154.2 L887.5 149.6 L900.0 144.4 L912.5 139.6 L925.0 135.5 L937.5 131.6 L950.0 128.3 L962.5 127.7 L975.0 130.7 L987.5 136.1 L1000.0 140.0 L1000.0 200.0Z'/%3E%3C/svg%3E");
}
body{background:var(--paper);color:var(--ink)}
body::before{opacity:.085}
h1,h2,h3{font-weight:700;letter-spacing:0}
.hand{font-family:var(--hand);font-size:clamp(18px,1.5vw,22px);letter-spacing:-.02em;color:var(--wash)}
:focus-visible{outline-color:var(--shu)}
::selection{background:var(--sakura);color:var(--ink)}

/* brush divider helper */
.brush-rule{position:relative}
.reasons>div,.acc-list,.qa,.f-bot,.plan li{border:0!important}
.reasons>div::before,.acc-list::before,.qa::after,.f-bot::before,.plan li::after{content:"";position:absolute;left:0;right:0;height:5px;background:currentColor;opacity:.55;-webkit-mask:var(--line) 0 0/100% 100% no-repeat;mask:var(--line) 0 0/100% 100% no-repeat;pointer-events:none}
.reasons>div{position:relative}.reasons>div::before{top:0;opacity:.5}
.acc-list{position:relative}.acc-list::before{top:-2px}
.qa{position:relative}.qa::after{bottom:-2px}
.f-bot{position:relative}.f-bot::before{top:0;opacity:.3}
.plan li::after{top:-1px;height:3px;opacity:.22}

/* chrome */
.logo{display:inline-flex;align-items:center;gap:10px;font:800 clamp(17px,1.5vw,21px)/1 var(--serif);letter-spacing:.26em;padding:9px 12px 9px 20px;background:rgba(246,238,223,.94)}
.wm{letter-spacing:.26em}
.hanko{display:inline-grid;place-items:center;flex:none;width:1.55em;height:1.55em;background:var(--shu);color:#FBF3EA;font:400 .86em/1 var(--kanji);letter-spacing:0;border-radius:3px;transform:rotate(-5deg);box-shadow:inset 0 0 0 2px var(--shu),inset 0 0 0 3.4px rgba(251,243,234,.85);filter:url(#stamp)}
.round{border-color:var(--ink);background:rgba(251,246,236,.94)}
.pill{border-color:var(--ink);background:rgba(251,246,236,.94)}
.menu a:hover,.qa button:hover,.f-col a:hover{color:var(--shu)}
.menu a span{color:var(--shu)}
.to-top .ring circle{stroke:var(--shu)}
.btn{background:var(--shu);border-color:var(--shu)}
.btn svg{stroke:var(--shu)}
.btn.ghost{background:transparent;border-color:var(--ink)}

/* ---------- HERO ---------- */
.hero{display:block;min-height:100svh;text-align:left;padding:104px clamp(20px,5vw,90px) 5vh;overflow:clip}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;gap:clamp(20px,4vw,70px);max-width:1360px;margin:0 auto;min-height:calc(100svh - 160px)}
.hero-text{position:relative;z-index:2}
.hero-brand{display:flex;align-items:center;gap:14px;font:800 clamp(14px,1.1vw,17px)/1 var(--serif);letter-spacing:.5em;margin-bottom:22px}
.hero-brand .wm{letter-spacing:.5em}
.hero-note{transform:none;margin-bottom:18px;color:var(--shu)}
.hero-title{font-weight:800;font-size:clamp(46px,6.3vw,118px);line-height:1;letter-spacing:-.005em;max-width:none}
.hero-title .ln{display:table}
.hero-und{stroke:var(--shu);stroke-width:5;bottom:0;filter:url(#bleed)}
.hero-title .ln:last-child{padding-bottom:.2em;margin-bottom:-.14em}
.accent{color:var(--shu)}
.hero-desc{max-width:470px;margin-top:26px;color:#3b3631}
.scroll-hint{color:var(--shu);font-size:19px}
.hero-visual{position:relative;justify-self:center;width:min(100%,600px)}
.hero-art{display:block;width:100%;height:auto;overflow:visible}
.enso-ink{fill:var(--ink);filter:url(#dry)}
.enso-m{fill:none;stroke:#fff;stroke-width:118;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0}
.sun{fill:var(--shu);filter:url(#bleed)}
.sun-bleed{fill:var(--shu);opacity:.16;filter:url(#bleed)}
.splat{fill:var(--ink)}
.branch{position:absolute;top:0;right:0;width:clamp(300px,44vw,720px);height:auto;z-index:3;transform-origin:100% 0;pointer-events:none;will-change:transform}
.br-ink{fill:var(--ink);filter:url(#dry)}
.br-str{fill:none;stroke:var(--ink);stroke-width:1.1;opacity:.6}
.bl1{fill:var(--sakura)}.bl2{fill:var(--sakura-d)}
.petals{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:4}
html:not(.js-motion) .petals{display:none}
.dd{fill:var(--ink);stroke:none;opacity:.75;width:clamp(40px,4.6vw,74px)}
.d1{left:38%;top:70%}.d2{left:44%;top:12%}.d3{left:22%;bottom:4%}.d4{left:46%;bottom:9%}.d5{left:30%;top:6%;opacity:.4}.d6{right:6%;bottom:8%;opacity:.5}

/* ---------- CHAPTERS ---------- */
.chapter{--acc:var(--shu)}
.c2{--bg:#35302C;--acc:var(--shu-l);color:var(--paper)}
.c3{--bg:var(--kraft)}
.c4{--bg:var(--ink);--acc:var(--shu-l);color:var(--paper)}
.ch-label{gap:12px;letter-spacing:.22em}
.ch-label::before{display:none}
.ch-label .kj{font:400 34px/1 var(--kanji);letter-spacing:0;color:var(--acc);min-width:1.1em}
.ch-title{font-weight:700;letter-spacing:-.005em}
.medal{border:0;background:transparent;position:relative}
.medal::before{content:"";position:absolute;inset:-6px;background:var(--acc);-webkit-mask:var(--ring) center/contain no-repeat;mask:var(--ring) center/contain no-repeat}
.medal svg{position:relative;stroke-width:2.6}
.ch-window{border:1px solid color-mix(in srgb,currentColor 14%,transparent);background:color-mix(in srgb,currentColor 3%,transparent)}
.c2 .ch-window,.c4 .ch-window{background:rgba(0,0,0,.16)}
.ch-bg{opacity:1;background-image:radial-gradient(55% 42% at 14% 84%,color-mix(in srgb,currentColor 12%,transparent),transparent 70%),radial-gradient(42% 34% at 86% 16%,color-mix(in srgb,currentColor 8%,transparent),transparent 72%),radial-gradient(80% 36% at 60% 108%,color-mix(in srgb,currentColor 10%,transparent),transparent 70%);background-size:auto}
.ch-bg::before{content:"";position:absolute;left:0;right:0;bottom:12%;height:38%;background:currentColor;opacity:.07;-webkit-mask:var(--mtn) bottom/100% 100% no-repeat;mask:var(--mtn) bottom/100% 100% no-repeat}
.scene{stroke-width:2.6}
.scene .thin{stroke-width:1.5}
.t-hand{font:400 21px var(--hand);letter-spacing:-.03em}
.t-mono{font:600 12.5px var(--sans)}
.wob{filter:url(#brush)}
html.js-motion .inked .wob{filter:url(#brush)}
.wsun{fill:var(--acc);stroke:none;filter:url(#bleed);opacity:.92}
.wsun.big{opacity:1}
.mtn{fill:currentColor;stroke:none;opacity:.07}.mtn.m2{opacity:.11}
.twig{stroke-width:2.2}
.bamboo{fill:currentColor;stroke:none;opacity:.5}
.bamboo .bnode{fill:none;stroke:var(--bg);stroke-width:2}
.ronin{fill:var(--bg);stroke:none}
.ronin .ronin-l{fill:none;stroke:color-mix(in srgb,var(--acc) 60%,var(--bg));stroke-width:1.4}
.ronin .katana{fill:none;stroke:var(--bg);stroke-width:4;stroke-linecap:round}
.fillbar{stroke-width:5}
.knob{stroke-width:2.4}
.pkt{stroke-opacity:.22}

/* ---------- 3D panels ---------- */
.s3d-petals{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}

/* ---------- FEATURE / ZEN GARDEN ---------- */
.feat-title{font-weight:800;letter-spacing:-.005em}
.room-wrap .room{position:relative}
.room.gravel{position:absolute;inset:0;width:100%;height:100%}
.room.fx{position:absolute}
.rake path{fill:none;stroke:var(--ink);stroke-width:1.15;opacity:.34}
.rings ellipse{fill:none;stroke:var(--ink);stroke-width:1.15;opacity:.36}
.room .hair{stroke-width:1;opacity:.55}
.room,.land{stroke:var(--ink)}
.inkf{fill:var(--ink);stroke:none}
.paper path,path.paper{fill:var(--sheet);stroke:none}
.moss{fill:rgba(107,122,58,.72);stroke:none}
.moss ellipse{stroke:none}
.wash{stroke:none}
.blooms use{stroke:none}
html.js-motion .wash{opacity:0;transition:opacity 1.6s ease .4s}
html.js-motion .drawn .wash{opacity:1}
.steam{stroke-width:1.3;opacity:.5}
.rled{fill:var(--shu)}
.num{font:400 26px var(--kanji);color:var(--shu)}
.mate{background:var(--sheet)}
.mate svg{stroke:var(--ink)}

/* ---------- PRICING ---------- */
.toggle{border-color:var(--ink)}
.plan{border-radius:22px}
.plan.featured{background:var(--ink)}
.plan li::before{border-color:var(--shu)}
.plan.featured li::before{border-color:var(--shu-l)}
.badge{top:-14px;right:22px;font:400 16px/1 var(--kanji);letter-spacing:.04em;color:#FBF3EA;background:var(--shu);border-radius:4px;padding:10px 13px 9px;transform:rotate(3deg);box-shadow:inset 0 0 0 2px var(--shu),inset 0 0 0 3.4px rgba(251,243,234,.8);filter:url(#stamp)}
.p-enso{position:absolute;left:6px;top:46px;width:180px;height:180px;fill:var(--shu);pointer-events:none}
.pm-m{fill:none;stroke:#fff;stroke-width:62;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0}
.plan.featured h3,.plan.featured .price,.plan.featured .unit{position:relative}

/* ---------- FAQ ---------- */
.pm{border:0;background:var(--ring-img) center/contain no-repeat}

/* ---------- CONTACT + FINALE ---------- */
.stamp{display:inline-grid;place-items:center;width:62px;height:62px;margin-bottom:14px;background:var(--shu);color:#FBF3EA;font:400 38px/1 var(--kanji);border-radius:6px;transform:rotate(-6deg);box-shadow:inset 0 0 0 3px var(--shu),inset 0 0 0 5px rgba(251,243,234,.8);filter:url(#stamp)}
.contact-title{font-weight:700}
.land{stroke-width:2.2}
.lsun{fill:var(--shu);stroke:none;filter:url(#bleed)}
.lsun-bleed{fill:var(--shu);opacity:.15;stroke:none}
.footer{background:rgba(251,246,236,.94);border-color:rgba(28,26,24,.12)}
.f-brand{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.f-brand strong{font:800 28px/1 var(--serif);letter-spacing:.3em}
.f-brand .hanko{font-size:22px}
.f-brand .hand{flex-basis:100%;margin-top:4px}
.f-col h3{font-family:var(--sans)}

@media (max-width:900px){
  .hero{padding-top:92px;min-height:0}
  .hero-grid{grid-template-columns:1fr;min-height:0;gap:0}
  .hero-visual{order:-1;width:min(70vw,400px);justify-self:start;margin:0 0 6px -3vw}
  .branch{width:74vw}
  .d2,.d4{left:auto;right:6%}
  .d1,.d3{display:none}
}
@media (max-width:600px){
  .hero-title{font-size:clamp(40px,12.4vw,72px)}
  .hero-brand{margin-bottom:16px}
  .feat-title{font-size:clamp(36px,11vw,72px)}
  .p-enso{width:150px;height:150px;top:50px}
  .room-wrap{width:150%;margin-left:-25%;margin-right:0}
  .t-hand{font-size:22px}
}

/* reduced motion */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms!important;animation:none!important;scroll-behavior:auto!important}
}
/* static (reduced-motion / no-JS) route: plain sumi line */
#routeHalo{stroke:var(--sheet)}
#routePath{stroke:var(--ink);stroke-width:3;stroke-dasharray:none;opacity:.85}
