:root{
  --fd:#1a2e1e;--f:#2d4a32;--fm:#3d6142;--fl:#547a58;--ms:#6b8f5e;--sg:#8aaa7a;
  --lm:#c4d88c;--ab:#d4a843;--gl:#e8bc55;--gll:#f2cc70;--sun:#faecc4;
  --bc:#faf7f0;--bw:#f4efe3;--bp:#ede6d6;
  --ln:rgba(45,74,50,.12);--ln2:rgba(45,74,50,.22);
  --td:#1a2e1e;--tb:#2d4232;--tm:#5a7060;--tf:#8aaa7a;
  --teal:#0d6e6e;--teallt:#e0f2f1;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bc);color:var(--tb);font-family:'Noto Serif JP',serif;font-weight:300;line-height:1.9;overflow-x:hidden;cursor:none}
.cur{position:fixed;width:10px;height:10px;background:var(--fm);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .3s,height .3s,background .3s}
.curR{position:fixed;width:38px;height:38px;border:1.5px solid var(--fl);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .3s,height .3s,opacity .3s,border-color .3s;opacity:.45}
.cur.og{background:var(--ab)}.curR.og{border-color:var(--gl);opacity:.7}
.page{display:none;min-height:100vh}.page.active{display:block}
/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:200;padding:22px 52px;display:flex;justify-content:space-between;align-items:center;transition:background .5s,box-shadow .5s,padding .4s}
nav.sc{background:rgba(250,247,240,.94);backdrop-filter:blur(16px);box-shadow:0 1px 0 var(--ln);padding:16px 52px}
nav.dn{background:var(--fd)}
nav.dn.sc{background:rgba(26,46,30,.96)}
.nl{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:400;letter-spacing:.2em;color:var(--fd);display:flex;align-items:center;gap:10px;cursor:pointer;text-decoration:none}
.nl.lt{color:#fff}
.nld{width:6px;height:6px;border-radius:50%;background:linear-gradient(135deg,var(--f),var(--gl))}
.nls{list-style:none;display:flex;gap:32px}
.nls a{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.2em;color:var(--tm);text-decoration:none;text-transform:uppercase;transition:color .3s;cursor:pointer}
.nls a:hover{color:var(--fd)}
nav.dn .nls a{color:rgba(255,255,255,.5)}
nav.dn .nls a:hover{color:#fff}
.nc{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.18em;color:var(--fd);border:1.5px solid var(--fm);padding:9px 20px;text-transform:uppercase;transition:background .3s,color .3s;background:transparent;cursor:pointer}
.nc:hover{background:var(--fd);color:var(--sun)}
nav.dn .nc{color:rgba(255,255,255,.8);border-color:rgba(255,255,255,.3)}
nav.dn .nc:hover{background:rgba(255,255,255,.15);color:#fff}
.nb{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.18em;color:rgba(255,255,255,.6);text-transform:uppercase;cursor:pointer;transition:color .3s;display:flex;align-items:center;gap:8px}
.nb:hover{color:#fff}
.nb::before{content:'←';font-size:12px}
/* HAMBURGER */
.hmb{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none;z-index:210}
.hmb span{display:block;width:22px;height:1.5px;background:var(--fd);transition:all .3s;border-radius:2px}
nav.dn .hmb span{background:#fff}
.hmb.op span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.hmb.op span:nth-child(2){opacity:0;transform:scaleX(0)}
.hmb.op span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
/* MOBILE DRAWER */
.mob-menu{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--fd);z-index:205;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;opacity:0;pointer-events:none;transition:opacity .35s ease}
.mob-menu.op{opacity:1;pointer-events:auto}
.mob-menu a,.mob-menu .mob-link{font-family:'Cormorant Garamond',serif;font-size:clamp(24px,7vw,36px);font-weight:300;color:rgba(255,255,255,.75);letter-spacing:.08em;padding:14px 0;cursor:pointer;text-decoration:none;transition:color .2s;display:block;text-align:center;border-bottom:1px solid rgba(255,255,255,.07);width:240px}
.mob-menu a:hover,.mob-menu .mob-link:hover{color:var(--gl)}
.mob-menu .mob-cta{margin-top:28px;font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;background:var(--gl);color:var(--fd);padding:14px 32px;border-radius:4px;cursor:pointer}
/* UTILS */
.s{position:relative}.si{max-width:1200px;margin:0 auto;padding:0 52px}
.sl{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.4em;text-transform:uppercase;color:var(--fm);margin-bottom:20px}
.dg{width:80px;height:2px;margin:28px 0;background:linear-gradient(90deg,var(--f),var(--gl));border-radius:1px}
.rv{opacity:0;transform:translateY(36px);transition:opacity .9s ease,transform .9s ease}
.rv.vis{opacity:1;transform:translateY(0)}
.rv1{transition-delay:.12s}.rv2{transition-delay:.24s}.rv3{transition-delay:.36s}
.gb{height:8px;background:linear-gradient(90deg,var(--fd) 0%,var(--fm) 28%,var(--ms) 52%,var(--ab) 75%,var(--gl) 100%)}
.bp1{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;background:var(--gl);color:var(--fd);padding:15px 34px;transition:background .35s,transform .2s;font-weight:400;display:inline-block;cursor:pointer;border:none;text-decoration:none}
.bp1:hover{background:var(--gll);transform:translateY(-2px)}
.bpline{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;background:#06c755;color:#fff;padding:15px 34px;transition:background .35s,transform .2s;font-weight:400;display:inline-block;cursor:pointer;border:none;text-decoration:none;border-radius:4px}
.bpline:hover{background:#05b04c;transform:translateY(-2px)}
.bg1{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.8);border:1.5px solid rgba(255,255,255,.3);padding:15px 30px;transition:border-color .3s,color .3s;display:inline-block;cursor:pointer}
.bg1:hover{border-color:rgba(255,255,255,.8);color:#fff}
.bg2{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--fm);border:1.5px solid var(--ln2);padding:15px 30px;transition:all .3s;display:inline-block;cursor:pointer}
.bg2:hover{background:var(--fd);color:var(--sun);border-color:var(--fd)}
/* BOOK PLANS */
.bk-plans{margin:36px 0 28px}
.bk-plans-label{font-family:'Space Mono',monospace;font-size:8px;letter-spacing:.3em;text-transform:uppercase;color:var(--fm);margin-bottom:16px}
.bk-plan-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;align-items:stretch}
.bk-plan{border:1.5px solid var(--ln);border-radius:12px;padding:20px 18px;background:var(--bc);position:relative;transition:border-color .3s,box-shadow .3s}
.bk-plan:hover{border-color:var(--ms);box-shadow:0 6px 24px rgba(45,74,50,.1)}
.bk-plan.featured{border-color:var(--ab);background:rgba(212,168,67,.04)}
.bk-plan.featured::before{content:'POPULAR';font-family:'Space Mono',monospace;font-size:7px;letter-spacing:.2em;background:var(--ab);color:var(--fd);padding:4px 10px;position:absolute;top:-1px;left:50%;transform:translateX(-50%);white-space:nowrap;border-radius:0 0 6px 6px}
.bk-plan-icon{font-size:22px;margin-bottom:10px}
.bk-plan-name{font-family:'Cormorant Garamond',serif;font-size:15px;font-weight:600;color:var(--fd);margin-bottom:4px;line-height:1.3}
.bk-plan-qty{font-family:'Space Mono',monospace;font-size:8px;letter-spacing:.2em;color:var(--ab);margin-bottom:10px}
.bk-plan-desc{font-size:12px;font-weight:300;color:var(--tm);line-height:1.8;margin-bottom:14px}
.bk-plan-gift{font-size:11px;font-weight:400;color:var(--fd);background:rgba(45,74,50,.06);border-radius:6px;padding:8px 10px;margin-bottom:14px;line-height:1.6}
.bk-plan-btn{font-family:'Space Mono',monospace;font-size:8px;letter-spacing:.18em;text-transform:uppercase;display:block;text-align:center;padding:11px 10px;border-radius:4px;cursor:pointer;transition:all .3s;border:none;width:100%;box-sizing:border-box}
.bk-plan-btn.amazon{background:#FF9900;color:#fff}.bk-plan-btn.amazon:hover{background:#e58a00}
.bk-plan-btn.pair{background:var(--fd);color:var(--sun)}.bk-plan-btn.pair:hover{background:var(--fm)}
.bk-plan-btn.gift{background:#fff;color:var(--fd);border:1.5px solid var(--ln2)}.bk-plan-btn.gift:hover{border-color:var(--fd)}
.bk-plan-btn.team{background:var(--ab);color:var(--fd)}.bk-plan-btn.team:hover{background:var(--gl)}
.bk-auto-note{margin-top:16px;padding:14px 18px;background:rgba(45,74,50,.05);border-left:3px solid var(--ms);border-radius:0 8px 8px 0}
.bk-auto-note p{font-size:11px;color:var(--tm);line-height:1.9;font-weight:300;margin:0}
.bk-auto-note strong{color:var(--fd);font-weight:500}
/* MARQUEE */
.mw{overflow:hidden;padding:16px 0;background:var(--fd)}
.mt{display:flex;gap:48px;animation:mq 30s linear infinite;width:max-content}
.mi{font-family:'Cormorant Garamond',serif;font-size:16px;font-style:italic;color:rgba(255,255,255,.38);white-space:nowrap;flex-shrink:0}
.mi .sp{color:var(--gl);margin:0 18px;font-style:normal}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* HERO */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;background:var(--bc)}
.hgb{position:absolute;inset:0;background:linear-gradient(135deg,var(--fd) 0%,var(--f) 18%,var(--fm) 32%,var(--fl) 46%,var(--ms) 56%,var(--sg) 63%,var(--lm) 70%,var(--ab) 80%,var(--gl) 90%,var(--gll) 100%);clip-path:polygon(0 0,58% 0,82% 100%,0 100%)}
.hcw{position:relative;z-index:2;width:100%;max-width:1280px;margin:0 auto;padding:120px 52px 80px;display:grid;grid-template-columns:1fr auto;gap:64px;align-items:center}
.hey{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.35em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:28px;opacity:0;animation:fu .9s .2s forwards}
.hh1{font-family:'Cormorant Garamond',serif;font-size:clamp(50px,6.5vw,94px);font-weight:300;line-height:.98;letter-spacing:-.02em;margin-bottom:32px;opacity:0;animation:fu 1.1s .4s forwards;color:#fff}
.hh1 em{font-style:italic;color:var(--gll);display:block}
.hh1 .jp{display:block;font-size:clamp(20px,2.8vw,40px);color:rgba(255,255,255,.72);margin-top:12px;font-weight:300;letter-spacing:.02em}
.hs{font-size:14px;font-weight:200;color:rgba(255,255,255,.7);line-height:2.2;letter-spacing:.06em;max-width:380px;opacity:0;animation:fu 1s .65s forwards;margin-bottom:44px}
.hbt{display:flex;gap:14px;flex-wrap:wrap;opacity:0;animation:fu .9s .85s forwards}
.hr{display:flex;flex-direction:column;align-items:flex-start;gap:24px;opacity:0;animation:fr 1.2s .7s forwards}
.hgp{width:100%;height:480px;border-radius:200px 200px 24px 24px;background:linear-gradient(180deg,var(--fd) 0%,var(--f) 15%,var(--fm) 30%,var(--ms) 48%,var(--lm) 64%,var(--ab) 78%,var(--gl) 90%,var(--sun) 100%);position:relative;overflow:hidden;box-shadow:0 40px 80px rgba(45,74,50,.25)}
.hgp::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 60% at 35% 30%,rgba(255,255,255,.12) 0%,transparent 60%)}
.pc{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.15)}
.pc1{width:120px;height:120px;top:60px;left:40px}
.pc2{width:70px;height:70px;top:160px;right:50px;border-color:rgba(255,255,255,.2)}
.pc3{width:40px;height:40px;top:90px;right:80px}
.ptw{position:absolute;bottom:40px;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:6px}
.pl{font-family:'Cormorant Garamond',serif;font-size:18px;font-style:italic;color:rgba(255,255,255,.9);letter-spacing:.08em}
.ps2{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.3em;color:rgba(255,255,255,.55);text-transform:uppercase}
.hpt{display:flex;gap:10px;flex-wrap:wrap}
.pt{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.18em;text-transform:uppercase;padding:8px 16px;border-radius:100px;color:var(--tb);border:1px solid var(--ln2);background:var(--bc);transition:all .3s;cursor:pointer}
.pt:hover{background:var(--fd);color:var(--sun);border-color:var(--fd)}
.hsh{position:absolute;bottom:36px;left:52px;display:flex;align-items:center;gap:14px;opacity:0;animation:fu .8s 1.4s forwards}
.scl{width:48px;height:1px;background:linear-gradient(to right,rgba(255,255,255,.5),transparent)}
.scll{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.3em;color:rgba(255,255,255,.4);text-transform:uppercase}
@keyframes fu{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes fr{from{opacity:0;transform:translateX(32px)}to{opacity:1;transform:translateX(0)}}
/* PHILOSOPHY */
.phil{padding:160px 0;background:var(--bc)}
.pg{display:grid;grid-template-columns:1fr 1.1fr;gap:100px;align-items:center}
.pqb{padding:52px 48px;background:linear-gradient(145deg,var(--fd),var(--fm));border-radius:4px 24px 24px 4px;position:relative;overflow:hidden}
.pqb::before{content:'"';position:absolute;top:-20px;left:20px;font-family:'Cormorant Garamond',serif;font-size:160px;font-weight:300;color:rgba(255,255,255,.06);line-height:1;pointer-events:none;user-select:none}
.pqb::after{content:'';position:absolute;bottom:0;right:0;width:120px;height:120px;background:radial-gradient(circle,rgba(232,188,85,.2) 0%,transparent 70%)}
.pq{font-family:'Cormorant Garamond',serif;font-size:clamp(20px,2.6vw,34px);font-weight:300;font-style:italic;color:#fff;line-height:1.6;letter-spacing:.02em;position:relative;z-index:1}
.pq em{color:var(--gll);font-style:normal}
.pa{margin-top:28px;font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.3em;color:rgba(255,255,255,.45);text-transform:uppercase;position:relative;z-index:1}
.ph{font-family:'Cormorant Garamond',serif;font-size:clamp(26px,3.2vw,42px);font-weight:300;line-height:1.15;color:var(--fd);margin-bottom:8px}
.ph em{font-style:italic;color:var(--ab)}
.pb p{font-size:14px;font-weight:300;color:var(--tm);line-height:2.3;letter-spacing:.05em;margin-bottom:20px}
.pb p strong{color:var(--fd);font-weight:400}
/* WORLDS */
.worlds{padding:140px 0;background:var(--bw)}
.wh{font-family:'Cormorant Garamond',serif;font-size:clamp(30px,4.2vw,54px);font-weight:300;line-height:1.1;color:var(--fd)}
.wh em{font-style:italic;color:var(--ab)}
.wg{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:64px}
.wc{background:#fff;border-radius:16px;padding:44px 34px 38px;border:1px solid var(--ln);position:relative;overflow:hidden;transition:transform .4s ease,box-shadow .4s ease}
.wc:hover{transform:translateY(-8px);box-shadow:0 24px 60px rgba(45,74,50,.12)}
.wc::before{content:'';position:absolute;top:0;left:0;right:0;height:4px}
.w1::before{background:linear-gradient(90deg,var(--fd),var(--fm))}
.w2::before{background:linear-gradient(90deg,var(--fm),var(--teal))}
.w3::before{background:linear-gradient(90deg,var(--ms),var(--ab))}
.w4::before{background:linear-gradient(90deg,var(--ab),var(--gl))}
.w5::before{background:linear-gradient(90deg,var(--fl),var(--ms))}
.wn{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.3em;color:var(--tf);margin-bottom:24px}
.wiw{width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;font-size:24px}
.wi1{background:linear-gradient(135deg,var(--fd),var(--fl))}
.wi2{background:linear-gradient(135deg,var(--fm),var(--teal))}
.wi3{background:linear-gradient(135deg,var(--ms),var(--ab))}
.wi4{background:linear-gradient(135deg,var(--ab),var(--gl))}
.wi5{background:linear-gradient(135deg,var(--fl),var(--ms))}
.wna{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:400;color:var(--fd);margin-bottom:6px;line-height:1.2}
.wnj{font-size:10px;letter-spacing:.15em;color:var(--tf);margin-bottom:18px;display:block;font-family:'Space Mono',monospace;text-transform:uppercase}
.wd{font-size:13px;font-weight:300;color:var(--tm);line-height:2;letter-spacing:.04em}
/* LANDSCAPE GALLERY */
.landscapes{padding:0;background:var(--fd);overflow:hidden}
.ls-head{padding:80px 52px 60px;max-width:1200px;margin:0 auto}
.ls-head-h{font-family:'Cormorant Garamond',serif;font-size:clamp(28px,3.8vw,50px);font-weight:300;color:#fff;line-height:1.15}
.ls-head-h em{font-style:italic;color:var(--gll)}
.ls-head-s{font-size:13px;font-weight:200;color:rgba(255,255,255,.55);margin-top:16px;letter-spacing:.06em;line-height:1.9;max-width:560px}
.ls-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:280px 260px;gap:3px}
.ls-panel{position:relative;overflow:hidden;cursor:pointer}
.ls-span2{grid-column:span 2;grid-row:span 1}
.ls-tall{grid-row:span 2}
.ls-bg{position:absolute;inset:0;transition:transform .7s ease}
.ls-panel:hover .ls-bg{transform:scale(1.06)}
/* SVG-based landscape illustrations */
.lbg-fjord{background:linear-gradient(180deg,#0a1825 0%,#0f2035 15%,#1a3550 35%,#1e4060 55%,#2a5575 70%,#1a3550 85%,#0a1825 100%)}
.lbg-finland{background:linear-gradient(180deg,#0d1f12 0%,#122a18 20%,#1a3d22 40%,#0f2318 60%,#1a3d22 75%,#2a5530 90%,#1a3d22 100%)}
.lbg-norikura{background:linear-gradient(180deg,#0a150c 0%,#142010 20%,#1e3018 40%,#253d1c 60%,#1e3018 80%,#142010 100%)}
.lbg-hokkaido{background:linear-gradient(180deg,#e8f4f8 0%,#d0e8f0 20%,#f5f8fa 40%,#e0edf5 60%,#f0f4f7 75%,#dce8f0 90%,#c8dce8 100%)}
.ls-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(5,10,5,.85) 0%,rgba(5,10,5,.2) 55%,transparent 100%)}
.lbg-hokkaido+.ls-overlay{background:linear-gradient(to top,rgba(10,15,20,.85) 0%,rgba(10,15,20,.2) 55%,transparent 100%)}
.ls-content{position:absolute;bottom:0;left:0;right:0;padding:28px 24px;z-index:2}
.ls-tag{font-family:'Space Mono',monospace;font-size:8px;letter-spacing:.3em;color:rgba(255,255,255,.5);text-transform:uppercase;margin-bottom:8px}
.ls-name{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:300;color:#fff;line-height:1.2;margin-bottom:4px}
.ls-name em{font-style:italic;color:var(--gll)}
.ls-desc{font-size:11px;font-weight:200;color:rgba(255,255,255,.55);line-height:1.8;letter-spacing:.04em}
/* METHOD */
.method{padding:160px 0;background:var(--bc);position:relative;overflow:hidden}
.method-synapse-bg{position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.55}
.method .si{position:relative;z-index:1}
.ml{display:grid;grid-template-columns:340px 1fr;gap:100px;align-items:start}
.mst{position:sticky;top:120px}
.mb{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,4.2vw,56px);font-weight:300;line-height:1.1;color:var(--fd);margin-bottom:28px}
.mb em{font-style:italic;color:var(--ab);display:block}
.mi2{font-size:13px;font-weight:300;color:var(--tm);line-height:2.3;letter-spacing:.05em}
.ms{position:relative;padding-left:32px}
.ms::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--fd) 0%,var(--fm) 33%,var(--ms) 60%,var(--ab) 80%,var(--gl) 100%);border-radius:2px}
.mst2{padding:40px 0;border-bottom:1px solid var(--ln);position:relative;transition:opacity .4s;opacity:.5}
.mst2:hover{opacity:1}
.mst2:first-child{padding-top:0}
.mst2::before{content:'';position:absolute;left:-36px;top:50%;width:10px;height:10px;border-radius:50%;transform:translateY(-50%);background:var(--fm);border:2px solid var(--bc)}
.mst2:nth-child(2)::before{background:var(--ms)}.mst2:nth-child(3)::before{background:var(--ab)}.mst2:nth-child(4)::before{background:var(--gl)}
.mst2:hover::before{transform:translateY(-50%) scale(1.4)}
.stag{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.3em;text-transform:uppercase;margin-bottom:12px}
.t1{color:var(--fm)}.t2{color:var(--fl)}.t3{color:var(--ab)}.t4{color:var(--gl)}
.sti{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:400;color:var(--fd);margin-bottom:12px;line-height:1.3}
.sti em{font-style:italic}
.stb{font-size:13px;font-weight:300;color:var(--tm);line-height:2;letter-spacing:.04em}
/* BOOK SECTION */
.book-sec{padding:100px 0;background:var(--bw)}
.book-grid{grid-template-columns:1fr 1.2fr;gap:80px;align-items:center}
.book-visual{position:relative}
.book-cover{width:100%;max-width:320px;aspect-ratio:3/4;background:linear-gradient(145deg,var(--fd) 0%,var(--fm) 35%,var(--ms) 60%,var(--ab) 80%,var(--gl) 100%);border-radius:4px 16px 16px 4px;box-shadow:10px 14px 44px rgba(0,0,0,.3),-4px 0 0 rgba(0,0,0,.2);transform:perspective(800px) rotateY(-6deg);position:relative;overflow:hidden}
.book-cover::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 70% at 35% 30%,rgba(255,255,255,.12) 0%,transparent 60%)}
.book-spine{position:absolute;left:0;top:0;bottom:0;width:18px;background:rgba(0,0,0,.2)}
.book-tw{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px;text-align:center}
.book-title{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:400;color:#fff;line-height:1.3;margin-bottom:10px}
.book-title em{font-style:italic;color:var(--gll)}
.book-sep{width:36px;height:1px;background:rgba(255,255,255,.3);margin:10px auto}
.book-auth{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.25em;color:rgba(255,255,255,.55);text-transform:uppercase}
.book-deco{position:absolute;bottom:24px;right:20px;font-size:40px;opacity:.15}
.book-tag{position:absolute;top:-12px;right:-20px;background:var(--gl);border-radius:10px;padding:10px 18px;text-align:center;box-shadow:0 6px 24px rgba(212,168,67,.35)}
.book-tag-top{font-family:'Space Mono',monospace;font-size:8px;letter-spacing:.2em;text-transform:uppercase;color:var(--fd)}
.book-tag-date{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:400;color:var(--fd);line-height:1.1}
.book-tag-sub{font-family:'Space Mono',monospace;font-size:7px;letter-spacing:.15em;color:var(--fm)}
.book-body{}
.book-h{font-family:'Cormorant Garamond',serif;font-size:clamp(26px,3.2vw,42px);font-weight:300;line-height:1.15;color:var(--fd);margin-bottom:8px}
.book-h em{font-style:italic;color:var(--ab)}
.book-p{font-size:14px;font-weight:300;color:var(--tm);line-height:2.3;letter-spacing:.05em;margin-bottom:20px}
.book-p strong{color:var(--fd);font-weight:400}
.book-days{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:32px 0}
.book-day{background:#fff;border-radius:10px;padding:18px 16px;border:1px solid var(--ln);transition:transform .3s,box-shadow .3s}
.book-day:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(45,74,50,.1)}
.day-num{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:var(--tf);margin-bottom:6px}
.day-title{font-family:'Cormorant Garamond',serif;font-size:15px;font-weight:400;color:var(--fd);line-height:1.3;margin-bottom:4px}
.day-desc{font-size:11px;font-weight:300;color:var(--tm);line-height:1.7;letter-spacing:.04em}
/* SOCIAL IMPACT */
.impact-sec{padding:140px 0;background:var(--fd);position:relative;overflow:hidden}
.impact-sec::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 50% 30%,rgba(212,168,67,.06) 0%,transparent 70%)}
.impact-h{font-family:'Cormorant Garamond',serif;font-size:clamp(28px,4vw,52px);font-weight:300;color:#fff;line-height:1.15}
.impact-h em{font-style:italic;color:var(--gll)}
.impact-sub{font-size:14px;font-weight:200;color:rgba(255,255,255,.55);margin-top:20px;max-width:600px;line-height:2;letter-spacing:.05em}
.impact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:72px}
.impact-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:40px 30px;transition:background .4s,transform .3s}
.impact-card:hover{background:rgba(255,255,255,.09);transform:translateY(-6px)}
.impact-card::before{content:'';display:block;width:100%;height:2px;border-radius:1px;margin-bottom:28px}
.ic-green::before{background:linear-gradient(90deg,var(--ms),var(--sg))}
.ic-gold::before{background:linear-gradient(90deg,var(--ab),var(--gl))}
.ic-teal::before{background:linear-gradient(90deg,var(--teal),#5ab8b8)}
.impact-num{font-family:'Cormorant Garamond',serif;font-size:clamp(44px,5vw,68px);font-weight:300;line-height:1;margin-bottom:8px}
.impact-num.cg{color:var(--sg)}
.impact-num.ca{color:var(--gl)}
.impact-num.ct{color:#5ab8b8}
.impact-unit{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:16px}
.impact-label{font-size:13px;font-weight:300;color:rgba(255,255,255,.65);line-height:1.9;letter-spacing:.04em}
.impact-label strong{color:rgba(255,255,255,.9);font-weight:400}
/* STORY (Life Story) */
.story{padding:140px 0;background:var(--bc)}
.story-h{font-family:'Cormorant Garamond',serif;font-size:clamp(28px,4vw,52px);font-weight:300;line-height:1.1;color:var(--fd)}
.story-h em{font-style:italic;color:var(--ab)}
.story-intro{font-size:14px;font-weight:300;color:var(--tm);max-width:660px;line-height:2.3;letter-spacing:.05em;margin:28px 0 72px}
.story-timeline{position:relative;padding-left:40px}
.story-timeline::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--fd),var(--fm) 30%,var(--ms) 55%,var(--ab) 78%,var(--gl) 100%);border-radius:2px}
.st-item{padding:0 0 56px;position:relative}
.st-item:last-child{padding-bottom:0}
.st-dot{position:absolute;left:-44px;top:6px;width:10px;height:10px;border-radius:50%;border:2px solid var(--bc)}
.sd1{background:var(--fd)}.sd2{background:var(--fm)}.sd3{background:var(--ms)}.sd4{background:var(--ab)}.sd5{background:var(--gl)}
.st-era{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--fm);margin-bottom:8px}
.st-title{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:400;color:var(--fd);margin-bottom:12px;line-height:1.3}
.st-title em{font-style:italic;color:var(--ab)}
.st-body{font-size:13px;font-weight:300;color:var(--tm);line-height:2.2;letter-spacing:.04em}
/* STATS */
.ig{display:grid;grid-template-columns:repeat(3,1fr)}
.ic2{padding:64px 48px;background:var(--bc);border-right:1px solid var(--ln);border-top:3px solid transparent;transition:background .4s}
.ic2:hover{background:#fff}
.ic2-1{border-top-color:var(--fd)}.ic2-2{border-top-color:var(--ms)}.ic2-3{border-top-color:var(--gl)}
.ic2:last-child{border-right:none}
.in{font-family:'Cormorant Garamond',serif;font-size:76px;font-weight:300;line-height:1;margin-bottom:14px}
.in.cf{color:var(--fd)}.in.cm{color:var(--fm)}.in.cg{color:var(--ab)}
.il{font-size:13px;font-weight:300;color:var(--tm);letter-spacing:.07em;line-height:1.9}
/* VOICE */
.voice{padding:140px 0;background:linear-gradient(135deg,var(--fd) 0%,var(--f) 30%,var(--fm) 55%,var(--ms) 72%,var(--ab) 88%,var(--gl) 100%);position:relative;overflow:hidden}
.voice::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 70% at 50% 50%,rgba(255,255,255,.05) 0%,transparent 70%)}
.vi{max-width:860px;margin:0 auto;padding:0 52px;text-align:center;position:relative;z-index:1}
.voq{font-family:'Cormorant Garamond',serif;font-size:96px;font-weight:300;color:rgba(255,255,255,.1);line-height:.8;display:block;text-align:left;margin-bottom:-20px}
.vq{font-family:'Cormorant Garamond',serif;font-size:clamp(22px,3.2vw,44px);font-weight:300;font-style:italic;color:#fff;line-height:1.6;margin-bottom:44px}
.vq em{color:var(--gll);font-style:normal}
.vat{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.35em;color:rgba(255,255,255,.45);text-transform:uppercase}
/* PROFILE */
.profile{padding:160px 0;background:var(--bc)}
.prg{display:grid;grid-template-columns:1fr 1.1fr;gap:100px;align-items:center}
.ppf{position:relative;height:560px;border-radius:24px 24px 100px 24px;overflow:hidden;background:linear-gradient(145deg,var(--fd) 0%,var(--fm) 45%,var(--ab) 75%,var(--gl) 100%);box-shadow:0 40px 80px rgba(45,74,50,.2)}
.ppi{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}
.pm{font-family:'Cormorant Garamond',serif;font-size:88px;font-weight:300;color:rgba(255,255,255,.22);letter-spacing:.05em;line-height:1}
.pml{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.4em;color:rgba(255,255,255,.32);text-transform:uppercase}
.ppf::after{content:'';position:absolute;width:200px;height:200px;border-radius:50%;border:1px solid rgba(255,255,255,.07);top:60px;left:30px}
.pn{font-family:'Cormorant Garamond',serif;font-size:clamp(34px,4vw,54px);font-weight:300;color:var(--fd);line-height:1.1;margin-bottom:8px}
.pr{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.3em;color:var(--fm);text-transform:uppercase;margin-bottom:36px}
.pb2 p{font-size:14px;font-weight:300;color:var(--tm);line-height:2.4;letter-spacing:.05em;margin-bottom:20px}
.pb2 strong{color:var(--fd);font-weight:400}
.ptags{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}
.ptag{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.16em;text-transform:uppercase;padding:8px 16px;border-radius:100px;border:1px solid var(--ln2);color:var(--tm);background:transparent;transition:all .3s;cursor:pointer}
.ptag:hover{background:var(--fd);color:var(--sun);border-color:var(--fd)}
/* SERVICES OVERVIEW */
.srv{padding:70px 0;background:var(--bw)}
.svh{font-family:'Cormorant Garamond',serif;font-size:clamp(28px,4.2vw,54px);font-weight:300;line-height:1.1;color:var(--fd)}
.svh em{font-style:italic;color:var(--ab)}
.scg{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:64px}
.svc{background:#fff;border-radius:20px;overflow:hidden;border:1px solid var(--ln);transition:transform .4s,box-shadow .4s;cursor:pointer;display:flex;flex-direction:column}
.svc:hover{transform:translateY(-10px);box-shadow:0 32px 72px rgba(45,74,50,.14)}
.sct{height:180px;position:relative;display:flex;align-items:flex-end;padding:28px}
.sct1{background:linear-gradient(145deg,var(--fd) 0%,var(--fm) 60%,var(--ms) 100%)}
.sct2{background:linear-gradient(145deg,var(--f) 0%,var(--fl) 55%,var(--sg) 100%)}
.sct3{background:linear-gradient(145deg,var(--fm) 0%,var(--ms) 45%,var(--ab) 100%)}
.sct4{background:linear-gradient(145deg,var(--ab) 0%,var(--gl) 55%,var(--sun) 100%)}
.sct5{background:linear-gradient(145deg,var(--fl) 0%,var(--sg) 45%,var(--lm) 100%)}
.scn{font-family:'Cormorant Garamond',serif;font-size:72px;font-weight:300;position:absolute;top:12px;right:24px;color:rgba(255,255,255,.1);line-height:1;user-select:none}
.scbd{font-family:'Space Mono',monospace;font-size:8px;letter-spacing:.22em;text-transform:uppercase;padding:6px 14px;border-radius:100px;background:rgba(255,255,255,.15);color:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.2)}
.scby{padding:30px 28px 34px;flex:1;display:flex;flex-direction:column}
.scna{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:400;color:var(--fd);margin-bottom:4px;line-height:1.2}
.scna em{font-style:italic;color:var(--ab)}
.scsb{font-family:'Space Mono',monospace;font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--tf);margin-bottom:16px}
.scd{font-size:12px;font-weight:300;color:var(--tm);line-height:2;letter-spacing:.04em;flex:1}
.scct{margin-top:22px;font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--fm);display:flex;align-items:center;gap:8px;transition:gap .3s,color .3s}
.svc:hover .scct{gap:14px;color:var(--ab)}
.scct::after{content:'→';font-size:12px}
/* LINE CTA */
.line-cta{padding:120px 0;background:var(--fd);text-align:center;position:relative;overflow:hidden}
.line-cta::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 50% 50%,rgba(6,199,85,.07) 0%,transparent 70%)}
.lc-inner{position:relative;z-index:1;max-width:640px;margin:0 auto;padding:0 52px}
.lc-icon{font-size:52px;margin-bottom:20px;display:block}
.lc-h{font-family:'Cormorant Garamond',serif;font-size:clamp(28px,4vw,50px);font-weight:300;color:#fff;line-height:1.2;margin-bottom:20px}
.lc-h em{font-style:italic;color:var(--gll)}
.lc-s{font-size:14px;font-weight:200;color:rgba(255,255,255,.65);line-height:2;letter-spacing:.05em;margin-bottom:40px}
.lc-steps{display:flex;justify-content:center;gap:0;margin-bottom:44px;flex-wrap:wrap}
.lc-step{display:flex;flex-direction:column;align-items:center;gap:10px;padding:0 28px;position:relative}
.lc-step+.lc-step::before{content:'→';position:absolute;left:-4px;top:16px;font-size:16px;color:rgba(255,255,255,.3)}
.lc-step-num{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-family:'Space Mono',monospace;font-size:12px;color:rgba(255,255,255,.7)}
.lc-step-text{font-family:'Space Mono',monospace;font-size:8px;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.45);text-align:center;max-width:80px;line-height:1.5}
.lc-note{font-size:11px;color:rgba(255,255,255,.35);letter-spacing:.08em;margin-top:16px}
/* CTA */
.cta{padding:180px 0;background:var(--bc);text-align:center;position:relative;overflow:hidden}
.cta::before{content:'';position:absolute;top:50%;left:50%;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(212,168,67,.07) 0%,rgba(45,74,50,.05) 50%,transparent 70%);transform:translate(-50%,-50%);pointer-events:none}
.ce{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:var(--fm);display:block;margin-bottom:28px}
.ch{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,5vw,68px);font-weight:300;line-height:1.15;color:var(--fd);max-width:680px;margin:0 auto 36px}
.ch em{font-style:italic;color:var(--ab)}
.csb{font-size:14px;font-weight:300;color:var(--tm);max-width:420px;margin:0 auto 52px;line-height:2.2;letter-spacing:.06em}
.cbt{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.cn{margin-top:24px;font-size:11px;font-weight:300;color:var(--tf);letter-spacing:.08em}
/* FOOTER */
footer{background:var(--fd);padding:80px 52px 52px}
.fi{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr 1fr;gap:60px;margin-bottom:56px}
.flo{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:300;letter-spacing:.2em;color:var(--gl);margin-bottom:14px;display:flex;align-items:center;gap:10px}
.fld{width:6px;height:6px;border-radius:50%;background:linear-gradient(135deg,var(--sg),var(--gl))}
.ft{font-size:12px;font-weight:300;color:rgba(255,255,255,.32);letter-spacing:.06em;line-height:2}
.fc h4{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--sg);margin-bottom:20px}
.fc ul{list-style:none}
.fc li{font-size:12px;font-weight:300;color:rgba(255,255,255,.38);letter-spacing:.05em;margin-bottom:10px;cursor:pointer;transition:color .3s}
.fc li:hover{color:var(--gl)}
.fb{max-width:1200px;margin:0 auto;padding-top:28px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;align-items:center}
.fc2{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.15em;color:rgba(255,255,255,.2);text-transform:uppercase}
.fgb{height:3px;background:linear-gradient(90deg,var(--fl) 0%,var(--sg) 30%,var(--lm) 55%,var(--ab) 75%,var(--gl) 100%)}
/* SERVICE DETAIL PAGES */
.sph{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden}
.sphb{position:absolute;inset:0}
.spho{position:absolute;inset:0;background:linear-gradient(160deg,rgba(10,16,10,.85) 0%,rgba(10,16,10,.65) 50%,rgba(10,16,10,.45) 100%)}
.sphc{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:120px 52px 80px;width:100%}
/* scroll-down arrow */
.sph-scroll{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:8px;opacity:.6;animation:sphBob 2.2s ease-in-out infinite}
.sph-scroll span{font-family:'Space Mono',monospace;font-size:8px;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.sph-scroll svg{width:20px;height:20px;opacity:.7}
@keyframes sphBob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(6px)}}
.spe{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.4em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:18px;display:block}
.spt{font-family:'Cormorant Garamond',serif;font-size:clamp(40px,5.5vw,82px);font-weight:300;line-height:.98;letter-spacing:-.02em;color:#fff;margin-bottom:18px}
.spt em{font-style:italic;color:var(--gll)}
.sptg{font-size:14px;font-weight:200;color:rgba(255,255,255,.65);max-width:520px;line-height:2;letter-spacing:.05em}
.spbd{background:var(--bc)}
.sps{padding:90px 0;border-bottom:1px solid var(--ln)}
.sps:last-of-type{border-bottom:none}
.sph2{font-family:'Cormorant Garamond',serif;font-size:clamp(24px,3.2vw,44px);font-weight:300;line-height:1.15;color:var(--fd);margin-bottom:12px}
.sph2 em{font-style:italic;color:var(--ab)}
.spld{font-size:14px;font-weight:300;color:var(--tm);line-height:2.3;letter-spacing:.05em;max-width:620px}
.spcg{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-top:56px}
.spcv{border-radius:20px;overflow:hidden;height:420px;position:relative}
.spcb p{font-size:14px;font-weight:300;color:var(--tm);line-height:2.4;letter-spacing:.05em;margin-bottom:20px}
.spcb strong{color:var(--fd);font-weight:400}
.sptl{margin-top:56px;position:relative;padding-left:40px}
.sptl::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--fd),var(--ab),var(--gl));border-radius:2px}
.spti{padding:0 0 48px 0;position:relative}
.spti:last-child{padding-bottom:0}
.sptid{position:absolute;left:-44px;top:4px;width:10px;height:10px;border-radius:50%;border:2px solid var(--bc)}
.dfd{background:var(--fd)}.dm{background:var(--fm)}.dab{background:var(--ab)}.dgl{background:var(--gl)}
.spday{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--fm);margin-bottom:8px}
.sptit{font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:400;color:var(--fd);margin-bottom:10px}
.spb{font-size:13px;font-weight:300;color:var(--tm);line-height:2.1;letter-spacing:.04em}
.sppr{background:#fff;border-radius:16px;padding:44px;border:1px solid var(--ln);margin-top:44px;position:relative;overflow:hidden}
.sppr::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--fd),var(--gl))}
.sppl{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--tf);margin-bottom:10px}
.sppn{font-family:'Cormorant Garamond',serif;font-size:clamp(38px,4.5vw,64px);font-weight:300;color:var(--fd);line-height:1;margin-bottom:8px}
.sppnt{font-size:13px;font-weight:300;color:var(--tm);letter-spacing:.04em}
.spfg{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:44px}
.spf{background:#fff;border-radius:12px;padding:26px 28px;border:1px solid var(--ln);transition:box-shadow .3s}
.spf:hover{box-shadow:0 8px 32px rgba(45,74,50,.09)}
.spfi{font-size:22px;margin-bottom:12px}
.spft{font-family:'Cormorant Garamond',serif;font-size:17px;font-weight:400;color:var(--fd);margin-bottom:6px}
.spfb{font-size:12px;font-weight:300;color:var(--tm);line-height:1.9;letter-spacing:.04em}
.spfaq{margin-top:44px}
.spfaqi{border-bottom:1px solid var(--ln)}
.spfaqq{font-family:'Cormorant Garamond',serif;font-size:17px;font-weight:400;color:var(--fd);padding:26px 0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;transition:color .3s}
.spfaqq:hover{color:var(--ab)}
.spfaqi2{font-size:20px;transition:transform .4s;flex-shrink:0;color:var(--fm)}
.spfaqi.op .spfaqi2{transform:rotate(45deg);color:var(--ab)}
.spfaqa{font-size:13px;font-weight:300;color:var(--tm);line-height:2.2;letter-spacing:.04em;max-height:0;overflow:hidden;transition:max-height .5s ease,padding .4s}
.spfaqi.op .spfaqa{max-height:300px;padding-bottom:26px}
.sps2{padding:38px 0;border-bottom:1px solid var(--ln)}
.ssn{font-family:'Cormorant Garamond',serif;font-size:52px;font-weight:300;line-height:1;color:var(--lm)}
.ssti{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:400;color:var(--fd);margin-bottom:8px}
.ssti em{font-style:italic;color:var(--ab)}
.ssb{font-size:13px;font-weight:300;color:var(--tm);line-height:2.1;letter-spacing:.04em}
.sig{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:44px}
.sii{background:#fff;border-radius:12px;padding:28px;border:1px solid var(--ln)}
.sil{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--tf);margin-bottom:8px}
.siv{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:400;color:var(--fd);line-height:1.3}
.sis{font-size:12px;font-weight:300;color:var(--tm);margin-top:6px;letter-spacing:.04em;line-height:1.8}
.spcta{padding:100px 0;background:linear-gradient(135deg,var(--fd) 0%,var(--f) 40%,var(--ab) 80%,var(--gl) 100%);text-align:center;position:relative;overflow:hidden}
.spcta::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 60% at 50% 50%,rgba(255,255,255,.05) 0%,transparent 70%)}
.spci{position:relative;z-index:1;max-width:660px;margin:0 auto;padding:0 52px}
.spch{font-family:'Cormorant Garamond',serif;font-size:clamp(28px,4.2vw,56px);font-weight:300;color:#fff;line-height:1.2;margin-bottom:24px}
.spch em{font-style:italic;color:var(--gll)}
.spchs{font-size:14px;font-weight:200;color:rgba(255,255,255,.65);line-height:2.1;margin-bottom:44px;letter-spacing:.05em}
.spcn{margin-top:18px;font-size:11px;color:rgba(255,255,255,.35);letter-spacing:.08em}
/* PLAN CARDS (executive coaching plans) */
.plan-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.plan-card{background:#fff;border-radius:16px;overflow:hidden;border:1px solid var(--ln);transition:transform .3s,box-shadow .3s}
.plan-card:hover{transform:translateY(-6px);box-shadow:0 20px 48px rgba(45,74,50,.1)}
.plan-card.featured{border-color:var(--ab);border-width:2px}
.plan-top{height:10px}
.pt-forest{background:linear-gradient(90deg,var(--fd),var(--fm))}
.pt-gold{background:linear-gradient(90deg,var(--ab),var(--gl))}
.pt-teal{background:linear-gradient(90deg,var(--teal),#4db8b8)}
.plan-body{padding:32px 28px}
.plan-badge{font-family:'Space Mono',monospace;font-size:8px;letter-spacing:.2em;text-transform:uppercase;padding:5px 12px;border-radius:100px;margin-bottom:16px;display:inline-block}
.pb-forest{background:rgba(45,74,50,.1);color:var(--forest3)}
.pb-gold{background:rgba(212,168,67,.15);color:var(--amber)}
.pb-teal{background:rgba(13,110,110,.1);color:var(--teal)}
.plan-name{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:400;color:var(--fd);margin-bottom:8px;line-height:1.2}
.plan-name em{font-style:italic;color:var(--ab)}
.plan-target{font-size:11px;font-weight:300;color:var(--tf);letter-spacing:.08em;margin-bottom:20px;font-family:'Space Mono',monospace;text-transform:uppercase}
.plan-desc{font-size:13px;font-weight:300;color:var(--tm);line-height:2;letter-spacing:.04em;margin-bottom:24px}
.plan-price{padding-top:20px;border-top:1px solid var(--ln)}
.pp-label{font-family:'Space Mono',monospace;font-size:8px;letter-spacing:.25em;text-transform:uppercase;color:var(--tf);margin-bottom:4px}
.pp-num{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:300;color:var(--fd)}
.pp-note{font-size:11px;font-weight:300;color:var(--tm);margin-top:4px}
/* ============================================================
   RESPONSIVE — タブレット (max 960px)
   ============================================================ */
@media(max-width:960px){
  /* カスタムカーソル非表示 */
  body{cursor:auto}
  .cur,.curR{display:none}

  /* NAV */
  nav{padding:16px 20px}
  nav.sc{padding:12px 20px}
  .nls,.nc{display:none}
  .nb{font-size:8px}
  .hmb{display:flex}

  /* UTILS */
  .si{padding:0 20px}
  .phil{padding:80px 0}
  .worlds{padding:80px 0}
  .method{padding:80px 0}
  .book-sec{padding:80px 0}

  /* HERO */
  .hcw{grid-template-columns:1fr;gap:0;padding:100px 20px 60px}
  .hgb{clip-path:polygon(0 0,100% 0,100% 55%,0 55%)}
  .hr{display:none}
  .hsh{left:20px}
  .hh1{font-size:clamp(40px,10vw,70px)}
  .hs{max-width:100%}
  .hbt{flex-direction:column;gap:10px}
  .hbt .bp1,.hbt .bpline{text-align:center;width:100%;display:block;box-sizing:border-box}

  /* PHILOSOPHY */
  .pg{grid-template-columns:1fr;gap:40px}
  .pqb{padding:36px 28px}

  /* WORLDS */
  .wg{grid-template-columns:1fr}

  /* LANDSCAPE */
  .ls-head{padding:52px 20px 40px!important}
  .ls-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .ls-span2,.ls-tall{grid-column:auto;grid-row:auto}

  /* METHOD */
  .ml{grid-template-columns:1fr;gap:40px}
  .mst{position:static}

  /* BOOK */
  .book-grid{grid-template-columns:1fr;gap:40px}
  .book-cover{max-width:240px}
  .bk-plan-grid{grid-template-columns:1fr 1fr;gap:10px}

  /* PROFILE */
  .prg{grid-template-columns:1fr;gap:40px}

  /* IMPACT */
  .impact-cards{grid-template-columns:1fr}
  .ig{grid-template-columns:1fr}
  .ic2{border-right:none;border-bottom:1px solid var(--ln)}

  /* SERVICES */
  .scg{grid-template-columns:1fr!important}

  /* LINE CTA */
  .lc-inner{padding:0 20px}
  .lc-steps{gap:8px}
  .lc-step{padding:0 12px}

  /* VOICE */
  .vi{padding:0 20px}

  /* CTA */
  .spci{padding:0 20px}

  /* FOOTER */
  .fi{grid-template-columns:1fr;gap:32px}
  .fb{flex-direction:column;gap:8px}
  footer{padding:52px 20px 36px}

  /* SERVICE PAGES */
  .sphc{padding:100px 20px 60px}
  .sph2{font-size:clamp(22px,5vw,36px)}
  .sps{padding:56px 0}
  .spcg{grid-template-columns:1fr;gap:32px}
  .spcg .spcv{height:240px}
  .sig{grid-template-columns:1fr;gap:20px}
  .spfg{grid-template-columns:1fr}
  .plan-cards{grid-template-columns:1fr}
  .corp-pgrid{grid-template-columns:1fr}
  .spcta{padding:64px 0}
  .story-timeline{padding-left:28px}

  /* SERVICE VOICE */
  .sv-vg,.sv-vg3{grid-template-columns:1fr}

  /* MEDIA */
  .media-grid{grid-template-columns:1fr}

  /* INLINE GRID overrides (インラインスタイルのgridを上書き) */
  [style*="grid-template-columns:1fr 1fr"],[style*="grid-template-columns:1fr 1.1fr"],[style*="grid-template-columns:1fr 1.2fr"],[style*="grid-template-columns:1fr 1.4fr"],[style*="grid-template-columns:1fr auto"],[style*="grid-template-columns:1fr 1fr 1fr"],[style*="grid-template-columns:repeat(2"],[style*="grid-template-columns:repeat(3"],[style*="grid-template-columns:repeat(4"]{
    grid-template-columns:1fr!important
  }
  [style*="grid-template-columns:340px"]{grid-template-columns:1fr!important}
  [style*="grid-template-columns:64px 1fr"]{grid-template-columns:48px 1fr!important}
  .ssn{font-size:36px!important}
}

/* ============================================================
   RESPONSIVE — スマートフォン (max 640px)
   ============================================================ */
@media(max-width:640px){
  /* NAV */
  nav{padding:14px 16px}
  .nl span{font-size:13px!important}

  /* UTILS */
  .si{padding:0 16px}
  .phil{padding:60px 0}
  .worlds{padding:60px 0}
  .method{padding:60px 0}
  .book-sec{padding:60px 0}
  .sps{padding:44px 0}
  .spcta{padding:52px 0}

  /* HERO */
  .hcw{padding:88px 16px 48px}
  .hh1{font-size:clamp(34px,11vw,52px)}
  .hey{font-size:9px;letter-spacing:.2em}
  .hs{font-size:13px;line-height:2}
  .hsh{display:none}

  /* BUTTONS */
  .bp1,.bpline,.bg1,.bg2{font-size:9px;padding:13px 20px;letter-spacing:.15em;width:100%;display:block;text-align:center;box-sizing:border-box}

  /* SECTIONS */
  .sl{font-size:8px;letter-spacing:.28em}
  .sph2{font-size:clamp(20px,6vw,30px)}
  .spld{font-size:13px}
  .ssb,.spb,.stb{font-size:13px}
  .ssti{font-size:18px}
  .ssn{font-size:30px!important}
  .sptit{font-size:18px}
  .spday{font-size:8px;letter-spacing:.2em}

  /* SERVICE PAGES HEADER */
  .sphc{padding:88px 16px 48px}
  .spt{font-size:clamp(32px,9vw,52px);line-height:1.05}
  .sptg{font-size:13px;line-height:1.9}
  .spe{font-size:8px;letter-spacing:.25em}

  /* INLINE GRID padding overrides */
  [style*="padding:40px 36px"],[style*="padding:44px 40px"]{padding:24px 20px!important}
  [style*="padding:36px 32px"]{padding:24px 20px!important}
  [style*="padding:36px 30px"]{padding:24px 18px!important}
  [style*="padding:32px 28px"]{padding:20px 16px!important}
  [style*="padding:28px 24px"]{padding:18px 16px!important}

  /* GAP overrides */
  [style*="gap:48px"],[style*="gap:52px"],[style*="gap:64px"],[style*="gap:72px"],[style*="gap:80px"],[style*="gap:100px"]{gap:24px!important}
  [style*="gap:32px"],[style*="gap:36px"],[style*="gap:40px"]{gap:16px!important}
  [style*="gap:20px"],[style*="gap:24px"]{gap:12px!important}

  /* FONT SIZE overrides for large inline fonts */
  [style*="font-size:42px"],[style*="font-size:48px"],[style*="font-size:52px"]{font-size:28px!important}
  [style*="font-size:34px"],[style*="font-size:36px"],[style*="font-size:38px"]{font-size:24px!important}
  [style*="font-size:28px"],[style*="font-size:30px"],[style*="font-size:32px"]{font-size:22px!important}
  [style*="font-size:26px"],[style*="font-size:27px"]{font-size:20px!important}
  [style*="font-size:24px"],[style*="font-size:25px"]{font-size:18px!important}
  [style*="font-size:22px"],[style*="font-size:23px"]{font-size:17px!important}

  /* VOICE (service page testimonials) */
  .sv-voice{padding:80px 0;background:var(--bc)}
  .sv-voice-dark{padding:80px 0;background:var(--fd)}
  .sv-vg{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:44px}
  .sv-vg3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:44px}
  .sv-vc{background:#fff;border-radius:14px;padding:28px 24px;border:1px solid var(--ln);position:relative;overflow:hidden;display:flex;flex-direction:column}
  .sv-vc-dark{border-radius:14px;padding:28px 24px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);position:relative;overflow:hidden;display:flex;flex-direction:column}
  .sv-qt{font-family:'Cormorant Garamond',serif;font-size:38px;font-weight:300;color:var(--lm);line-height:1;margin-bottom:12px}
  .sv-qt-gold{font-family:'Cormorant Garamond',serif;font-size:38px;font-weight:300;color:var(--gl);opacity:.5;line-height:1;margin-bottom:12px}
  .sv-label{font-family:'Space Mono',monospace;font-size:7px;letter-spacing:.28em;text-transform:uppercase;color:var(--tf);margin-bottom:10px;display:flex;align-items:center;gap:6px}
  .sv-label-lt{font-family:'Space Mono',monospace;font-size:7px;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:10px;display:flex;align-items:center;gap:6px}
  .sv-txt{font-size:13px;font-weight:300;color:var(--tb);line-height:2.2;letter-spacing:.04em;flex:1;margin-bottom:18px}
  .sv-txt-lt{font-size:13px;font-weight:200;color:rgba(255,255,255,.68);line-height:2.2;letter-spacing:.04em;flex:1;margin-bottom:18px}
  .sv-who{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--tf)}
  .sv-who-lt{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.35)}
  .sv-who-age{font-size:11px;font-weight:300;color:var(--tf);letter-spacing:.04em;margin-top:2px}
  .sv-who-age-lt{font-size:11px;font-weight:200;color:rgba(255,255,255,.3);letter-spacing:.04em;margin-top:2px}
  .sv-bar{position:absolute;top:0;left:0;right:0;height:3px}
  .sv-featured{background:linear-gradient(145deg,var(--fd),var(--fm) 50%,var(--ab) 100%);border-radius:14px;padding:36px 32px;position:relative;overflow:hidden}
  .sv-featured-txt{font-family:'Cormorant Garamond',serif;font-size:clamp(16px,2vw,21px);font-weight:300;font-style:italic;color:#fff;line-height:1.75;letter-spacing:.02em;margin-bottom:20px}
  .sv-featured-txt em{color:var(--gll);font-style:normal}

  /* SERVICE DETAIL grids already collapsed by 960px rule */
  .sppr{padding:28px 20px}
  .sppn{font-size:clamp(32px,8vw,48px)}
  .spfaqq{font-size:15px;padding:20px 0}

  /* PHILOSOPHY */
  .pqb{padding:28px 20px}
  .pq{font-size:clamp(16px,5vw,22px)}

  /* FOOTER */
  footer{padding:40px 16px 28px}
  .fi{gap:28px}
  .fc ul{display:flex;flex-wrap:wrap;gap:12px}
  .fc li{font-size:12px}

  /* CTA */
  .spci{padding:0 16px}
  .spch{font-size:clamp(24px,7vw,36px)}
  .spchs{font-size:13px}
  .cbt{flex-direction:column;gap:12px;align-items:stretch}
  .cbt .bpline,.cbt .bg2{text-align:center}

  /* LINE CTA */
  .lc-inner{padding:0 16px}
  .lc-h{font-size:clamp(22px,7vw,32px)}
  .lc-steps{flex-wrap:wrap;justify-content:center}
  .lc-step{min-width:80px}

  /* PROFILE */
  .ptags{gap:6px}
  .ptag{font-size:8px;padding:5px 10px}

  /* BOOK DAYS */
  .book-days{gap:10px}
  .book-day{padding:16px}
  .day-num{font-size:10px}
  .bk-plan-grid{grid-template-columns:1fr}
  .day-title{font-size:13px}
  .day-desc{font-size:11px}

  /* MAP SESSION step summary */
  [style*="grid-template-columns:repeat(3,1fr)"].rv{grid-template-columns:1fr!important}

  /* MARQUEE */
  .mi{font-size:13px}
  .mw{padding:12px 0}

  /* SCROLL indicator */
  .hsh{display:none}

  /* LANDSCAPE mobile: single column */
  .ls-grid{grid-template-columns:1fr!important;grid-template-rows:auto!important}
  .ls-panel{height:200px!important}

  /* WORLDS single col already handled by 960, ensure padding */
  .wc{padding:28px 22px}

  /* SRV0 10items — already 2col at 960, stays 2col on mobile (fine) */
  /* make them truly single col on very small */
  .sps .si [style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important}

  /* Inline min-width / auto column panels for service pages */
  [style*="min-width:200px"]{min-width:unset!important;width:100%!important}

  /* HERO book visual */
  .hbv{gap:16px}
  .hbk-wrap{width:160px}
}

.sct6{background:linear-gradient(145deg,#0d1a2a 0%,#1a3050 50%,#0d6e6e 100%)}
.sct7{background:linear-gradient(145deg,#1a1408 0%,#2d2010 50%,#6b4a10 100%)}
/* MEDIA SECTION */
.media-sec{padding:120px 0;background:var(--bc)}
.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px}
.media-card{background:#fff;border-radius:14px;overflow:hidden;border:1px solid var(--ln);transition:transform .3s,box-shadow .3s;cursor:pointer}
.media-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(45,74,50,.1)}
.media-thumb{height:130px;background:linear-gradient(135deg,var(--fd),var(--fm) 50%,var(--ms));position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.media-type-badge{position:absolute;top:12px;left:12px;font-family:"Space Mono",monospace;font-size:7px;letter-spacing:.2em;text-transform:uppercase;padding:4px 10px;border-radius:100px;background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.25)}
.media-icon-large{font-size:36px;opacity:.4}
.media-body{padding:20px}
.media-date{font-family:"Space Mono",monospace;font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--tf);margin-bottom:6px}
.media-title{font-family:"Cormorant Garamond",serif;font-size:16px;font-weight:400;color:var(--fd);line-height:1.45;margin-bottom:8px}
.media-source{font-size:11px;font-weight:300;color:var(--tf);letter-spacing:.06em}
.media-placeholder{background:rgba(45,74,50,.04);border:1px dashed rgba(45,74,50,.18);border-radius:14px;padding:36px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}
.media-placeholder-icon{font-size:28px;opacity:.3}
.media-placeholder-text{font-size:12px;font-weight:300;color:var(--tf);line-height:1.8;letter-spacing:.04em}
/* Corporate Training */
.corp-hero-bg{background:linear-gradient(145deg,#0d1a2a 0%,#1a3050 40%,#0d6e6e 70%,#1a6060 100%)}
.corp-program-card{background:#fff;border-radius:16px;padding:36px 30px;border:1px solid var(--ln);position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s}
.corp-program-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(45,74,50,.1)}
.corp-program-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px}
.cp1::before{background:linear-gradient(90deg,#0d6e6e,#5ab8b8)}
.cp2::before{background:linear-gradient(90deg,#1a3050,#3a6080)}
.cp3::before{background:linear-gradient(90deg,#d4a843,#e8bc55)}
.corp-pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}
.corp-audience{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.corp-tag{font-family:"Space Mono",monospace;font-size:7.5px;letter-spacing:.14em;text-transform:uppercase;padding:4px 10px;border-radius:100px;border:1px solid var(--ln2);color:var(--tm);background:transparent}

/* Hero right — Book visual */
.hbv{display:flex;flex-direction:column;align-items:center;gap:32px}
.hbk-wrap{position:relative;width:240px}
.hbk-shadow{position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);width:180px;height:24px;background:radial-gradient(ellipse,rgba(0,0,0,.35) 0%,transparent 70%);border-radius:50%}
.hbk-img{width:100%;border-radius:3px 16px 16px 3px;box-shadow:12px 18px 48px rgba(0,0,0,.35),-4px 0 0 rgba(0,0,0,.18);transform:perspective(900px) rotateY(-6deg) rotateX(2deg);display:block;transition:transform .5s ease}
.hbk-wrap:hover .hbk-img{transform:perspective(900px) rotateY(-2deg) rotateX(0deg)}
.hbk-badge{position:absolute;top:-14px;right:-22px;background:var(--gl);border-radius:10px;padding:10px 16px;text-align:center;box-shadow:0 6px 24px rgba(212,168,67,.4);animation:badgePulse 3s ease-in-out infinite}
@keyframes badgePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
.hbk-badge-top{font-family:"Space Mono",monospace;font-size:7px;letter-spacing:.2em;text-transform:uppercase;color:var(--fd);opacity:.7}
.hbk-badge-date{font-family:"Cormorant Garamond",serif;font-size:18px;font-weight:400;color:var(--fd);line-height:1.1}
.hbk-badge-sub{font-family:"Space Mono",monospace;font-size:6px;letter-spacing:.15em;color:var(--fm)}
.hbk-meta{display:flex;flex-direction:column;gap:10px;width:100%;max-width:280px}
.hbk-tag{display:flex;align-items:center;gap:10px}
.hbk-tag-dot{width:5px;height:5px;border-radius:50%;background:var(--gl);flex-shrink:0}
.hbk-tag-text{font-family:"Space Mono",monospace;font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.hbk-line-cta{margin-top:4px;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:12px 16px;cursor:pointer;transition:background .3s}
.hbk-line-cta:hover{background:rgba(255,255,255,.14)}
.hbk-line-icon{width:24px;height:24px;background:#06c755;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}
.hbk-line-text{font-family:"Space Mono",monospace;font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.7)}
