/* Eijou — 種袋と季節輪 */
:root{
  --kt-soil:#3D2B1F;
  --kt-leaf:#2D6A4F;
  --kt-pollen:#E9C46A;
  --kt-blossom:#E07A5F;
  --kt-fog:#EFE7D9;
  --kt-moss:#081C15;
  --kt-cream:#FBF6EC;
  --kt-ink:#1A140F;
  --kt-muted:#6B5A4A;
  --kt-paper:#FFF9EE;
  --kt-glass:rgba(255,255,255,.38);
  --kt-nav-h:74px;
  --kt-wrap:1160px;
  --kt-ease:cubic-bezier(.22,1,.36,1);
  --kt-display:"Fraunces","Zen Maru Gothic",serif;
  --kt-jp:"Zen Maru Gothic","Fraunces",sans-serif;
  --kt-torn:polygon(0% 2.2%,1.6% 0%,4.2% 2.8%,7% .4%,10.5% 2.4%,14% 0%,18% 2.6%,22% .6%,26.5% 2.2%,31% 0%,35.5% 2.8%,40% .4%,45% 2.4%,50% 0%,55% 2.6%,60% .5%,65% 2.2%,70% 0%,75% 2.8%,80% .4%,85% 2.4%,90% 0%,94.5% 2.6%,98% .5%,100% 2.2%,100% 97.6%,98.2% 100%,95.5% 97.2%,92% 99.6%,88% 97.4%,84% 100%,79.5% 97.6%,75% 99.4%,70.5% 97.2%,66% 100%,61% 97.4%,56% 99.6%,51% 97.2%,46% 100%,41% 97.6%,36% 99.4%,31% 97.2%,26% 100%,21.5% 97.4%,17% 99.6%,12% 97.2%,7.5% 100%,3.5% 97.6%,1.2% 99.4%,0% 97.6%);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html,body{margin:0;padding:0;overflow-x:hidden;max-width:100%}
html,body,.kt{scrollbar-width:none;-ms-overflow-style:none}
html::-webkit-scrollbar,body::-webkit-scrollbar,*::-webkit-scrollbar{display:none;width:0;height:0}
body.kt{
  font-family:var(--kt-jp);
  color:var(--kt-ink);
  background:
    radial-gradient(1200px 500px at 8% -10%,rgba(233,196,106,.18),transparent 55%),
    radial-gradient(900px 420px at 100% 0%,rgba(224,122,95,.1),transparent 50%),
    var(--kt-cream);
  line-height:1.75;
  min-height:100svh;
}
img,svg,video,iframe{max-width:100%;display:block}
img.kt-cover,.kt-frame img,.kt-hero__media img,.kt-cta__bg img,.kt-season__bg img{width:100%;height:100%;object-fit:cover;object-position:center}
button,a,input,textarea,select{font:inherit}
a{color:var(--kt-leaf);text-decoration:none}
a:hover{color:var(--kt-blossom)}
address{font-style:normal}
h1,h2,h3,h4{font-family:var(--kt-display);font-weight:700;line-height:1.28;margin:0 0 .55rem;letter-spacing:.01em}
p{margin:0 0 1rem}
ul,ol{margin:0;padding:0;list-style:none}

.kt-skip{position:absolute;left:-999px;top:0;z-index:240;background:var(--kt-leaf);color:var(--kt-cream);padding:.75rem 1rem}
.kt-skip:focus{left:1rem;top:1rem}
.kt-wrap{width:min(100% - 2.2rem,var(--kt-wrap));margin-inline:auto}
.kt-display{font-family:var(--kt-display);font-style:italic;font-size:clamp(1.7rem,4.1vw,3.05rem);font-weight:700;color:var(--kt-soil)}
.kt-k{
  display:inline-block;font-family:var(--kt-display);font-style:italic;font-size:.78rem;
  letter-spacing:.2em;text-transform:uppercase;color:var(--kt-blossom);margin-bottom:.55rem;font-weight:500;
}
.kt-center{text-align:center;margin-bottom:2.1rem}
.kt-center--left{text-align:left}
.kt-center--light .kt-display,.kt-center--light .kt-k,.kt-center--light p,.kt-center--light strong{color:var(--kt-cream)}
.kt-center--light .kt-k{color:var(--kt-pollen)}
.kt-meta{font-size:.86rem;color:var(--kt-muted);letter-spacing:.03em}
.kt-price{font-family:var(--kt-display);font-style:italic;font-size:1.7rem;color:var(--kt-leaf);font-weight:700;margin:.2rem 0}
.kt-tag{
  display:inline-block;background:var(--kt-pollen);color:var(--kt-soil);
  border-radius:2px;padding:.18rem .65rem;font-size:.72rem;font-weight:700;letter-spacing:.08em;
}
.kt-label{
  display:inline-block;font-family:var(--kt-display);font-style:italic;font-size:.82rem;
  color:var(--kt-soil);border:1px dashed var(--kt-soil);padding:.2rem .7rem;transform:rotate(-1.4deg);
  background:rgba(251,246,236,.85);margin:.4rem 0;
}

/* Vine */
.kt-vine{position:fixed;left:6px;top:0;width:22px;height:100svh;pointer-events:none;z-index:50;opacity:.55}
.kt-vine svg{height:100%;width:22px}

/* Buttons */
.kt-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
  min-height:48px;padding:.85rem 1.45rem;border:0;border-radius:999px;cursor:pointer;
  font-weight:700;letter-spacing:.04em;transition:transform .25s var(--kt-ease),box-shadow .25s,background .2s,color .2s;
}
.kt-btn--terra{background:var(--kt-blossom);color:#fff;box-shadow:0 8px 0 #b85a42}
.kt-btn--terra:hover{transform:translateY(-3px);animation:ktBounce .5s var(--kt-ease)}
.kt-btn--leaf{background:var(--kt-leaf);color:var(--kt-cream);box-shadow:0 8px 0 #1b4634}
.kt-btn--leaf:hover{transform:translateY(-3px);animation:ktBounce .5s var(--kt-ease);color:var(--kt-cream)}
@keyframes ktBounce{0%,100%{transform:translateY(-3px)}40%{transform:translateY(-8px)}70%{transform:translateY(-1px)}}

/* Nav */
.kt-nav{
  position:fixed;inset:0 0 auto 0;z-index:120;display:flex;align-items:center;gap:1rem;
  min-height:var(--kt-nav-h);padding:.55rem 1.3rem;
  padding-top:calc(.55rem + env(safe-area-inset-top,0px));
  background:linear-gradient(180deg,rgba(8,28,21,.72),rgba(8,28,21,.28));
  color:var(--kt-cream);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  transition:background .3s,box-shadow .3s;
}
.kt-nav.is-solid{background:rgba(8,28,21,.94);box-shadow:0 8px 28px rgba(8,28,21,.28)}
.kt-nav__logo{display:flex;align-items:center;gap:.55rem;color:var(--kt-cream);min-width:0}
.kt-nav__logo:hover{color:var(--kt-pollen)}
.kt-nav__mark{flex-shrink:0;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--kt-cream)}
.kt-nav__word{font-family:var(--kt-display);font-style:italic;font-size:1.35rem;font-weight:700;letter-spacing:.02em}
.kt-nav__links{display:flex;gap:1.15rem;margin-left:auto}
.kt-nav__links a{color:var(--kt-cream);font-weight:500;position:relative;padding:.2rem 0}
.kt-nav__links a::after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:2px;background:var(--kt-pollen);transition:width .25s}
.kt-nav__links a:hover::after,.kt-nav__links a.is-on::after{width:100%}
.kt-nav__cta{margin-left:.4rem;flex-shrink:0}
.kt-burger{
  display:none;width:44px;height:44px;margin-left:auto;flex-shrink:0;border:0;border-radius:12px;
  background:rgba(233,196,106,.22);align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;z-index:122;
}
.kt-burger i{display:block;width:18px;height:2px;background:var(--kt-cream);border-radius:2px;transition:transform .28s var(--kt-ease),opacity .2s}
.kt-nav.is-open .kt-burger i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.kt-nav.is-open .kt-burger i:nth-child(2){opacity:0}
.kt-nav.is-open .kt-burger i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.kt-drawer-backdrop{
  position:fixed;inset:0;z-index:110;background:rgba(8,28,21,.55);opacity:0;transition:opacity .35s;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:none;
}
.kt-drawer-backdrop.is-open{opacity:1;pointer-events:auto}
.kt-drawer{
  position:fixed;inset:0;z-index:115;display:flex;flex-direction:column;
  background:
    radial-gradient(circle at 80% 10%,rgba(233,196,106,.22),transparent 40%),
    linear-gradient(165deg,#081C15 0%,#12382a 55%,#1b4634 100%);
  color:var(--kt-cream);padding:5.4rem 1.4rem 1.6rem;transform:translateX(100%);
  transition:transform .42s var(--kt-ease);
}
.kt-drawer.is-open{transform:none}
.kt-drawer__pollen{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.kt-drawer__pollen i{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--kt-pollen);opacity:.45;animation:ktPollen 14s linear infinite}
.kt-drawer__pollen i:nth-child(1){left:12%;top:20%;animation-delay:-2s}
.kt-drawer__pollen i:nth-child(2){left:70%;top:18%;width:6px;height:6px;animation-delay:-6s}
.kt-drawer__pollen i:nth-child(3){left:40%;top:55%;animation-delay:-4s}
.kt-drawer__pollen i:nth-child(4){left:85%;top:70%;width:5px;height:5px}
.kt-drawer__pollen i:nth-child(5){left:22%;top:78%}
.kt-drawer__pollen i:nth-child(6){left:58%;top:38%;width:7px;height:7px;animation-delay:-8s}
.kt-drawer__head{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1.4rem}
.kt-drawer__head strong{font-family:var(--kt-display);font-style:italic;font-size:1.6rem}
.kt-drawer__close{
  margin-left:auto;width:44px;height:44px;border:0;border-radius:12px;background:rgba(251,246,236,.12);
  color:var(--kt-cream);font-size:1.6rem;cursor:pointer;
}
.kt-drawer__nav{display:flex;flex-direction:column;gap:.35rem}
.kt-drawer__nav a{
  color:var(--kt-cream);font-family:var(--kt-display);font-style:italic;font-size:1.55rem;
  padding:.55rem .2rem;border-bottom:1px dashed rgba(251,246,236,.18);
}
.kt-drawer__cta{
  margin-top:.8rem;background:var(--kt-blossom);color:#fff!important;border:0!important;border-radius:999px;
  text-align:center;padding:.9rem 1rem!important;box-shadow:0 8px 0 #b85a42;
}
.kt-drawer__phone{margin-top:1.2rem;color:var(--kt-pollen);font-weight:700;font-size:1.15rem}
.kt-drawer__meta{margin-top:.6rem;opacity:.8;font-size:.9rem}
body.is-nav-open{overflow:hidden}

/* Frames */
.kt-frame{
  position:relative;overflow:hidden;min-height:280px;aspect-ratio:4/3;background:#d9cbb6;
}
.kt-frame--tall{aspect-ratio:3/4;min-height:320px}
.kt-frame--slim{aspect-ratio:16/10;min-height:200px}
.kt-frame--wide{aspect-ratio:21/8;min-height:280px;margin-top:1.4rem}
.kt-frame--round{width:88px;height:88px;min-height:88px;aspect-ratio:1;border-radius:50%;flex-shrink:0}
.kt-frame img{position:absolute;inset:0}

.kt-press{
  background:var(--kt-fog);padding:1.05rem 1.05rem 1.35rem;box-shadow:0 16px 40px rgba(61,43,31,.14);
  transform:rotate(var(--tilt,-1.4deg));border:1px solid rgba(61,43,31,.08);
}
.kt-press--light{background:rgba(251,246,236,.9)}
.kt-press .kt-frame{min-height:280px}

/* Sections */
.kt-sec{padding:4.4rem 0;position:relative}
.kt-sec--cream{background:var(--kt-cream)}
.kt-sec--fog{background:linear-gradient(180deg,var(--kt-fog),#e7dcc8)}
.kt-sec--soil{background:var(--kt-soil);color:var(--kt-cream)}
.kt-sec--soil .kt-display,.kt-sec--soil h3,.kt-sec--soil p,.kt-sec--soil .kt-meta{color:var(--kt-cream)}
.kt-sec--leaf{background:linear-gradient(160deg,var(--kt-leaf),#1b4634);color:var(--kt-cream)}
.kt-sec--leaf .kt-display,.kt-sec--leaf h3,.kt-sec--leaf p{color:var(--kt-cream)}

.kt-split{display:grid;grid-template-columns:1.05fr 1fr;gap:2.4rem;align-items:center}
.kt-split--flip{grid-template-columns:1fr 1.05fr}
.kt-split--flip > :first-child{order:2}
.kt-split--wide{grid-template-columns:1.2fr .9fr}
.kt-split__text--light,.kt-split__text--light .kt-display,.kt-split__text--light p,.kt-split__text--light h3{color:var(--kt-cream)}
.kt-ticks{display:grid;gap:.55rem;margin:1rem 0 1.4rem}
.kt-ticks li{padding-left:1.4rem;position:relative}
.kt-ticks li::before{content:"";position:absolute;left:0;top:.45rem;width:10px;height:10px;border-radius:50%;background:var(--kt-pollen);box-shadow:0 0 0 3px rgba(233,196,106,.25)}

.kt-steps{display:grid;gap:1rem;margin-top:1rem}
.kt-steps li{display:grid;grid-template-columns:auto 1fr;gap:.85rem;align-items:start}
.kt-steps b{font-family:var(--kt-display);font-style:italic;font-size:1.4rem;color:var(--kt-pollen)}

/* Hero */
.kt-hero{position:relative;min-height:100svh;display:grid;align-items:end;overflow:hidden;color:var(--kt-cream)}
.kt-hero--page{min-height:72svh}
.kt-hero__media{position:absolute;inset:0}
.kt-hero__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,28,21,.25) 0%,rgba(8,28,21,.55) 55%,rgba(61,43,31,.78) 100%)}
.kt-hero__copy{position:relative;z-index:2;padding:8rem 6vw 3.4rem;max-width:820px}
.kt-hero__brand{font-family:var(--kt-display);font-style:italic;font-size:clamp(2.6rem,10vw,5.4rem);line-height:.95;margin:0 0 .6rem;letter-spacing:-.02em}
.kt-letter{display:inline-block;animation:ktLetter .7s var(--kt-ease) both;animation-delay:calc(var(--i)* .055s)}
@keyframes ktLetter{from{opacity:0;transform:translateY(28px) rotate(-8deg)}to{opacity:1;transform:none}}
.kt-hero h1{font-size:clamp(1.55rem,3.6vw,2.35rem);font-style:italic;color:var(--kt-cream);max-width:16ch}
.kt-hero__lead{font-size:1.05rem;max-width:42ch;color:rgba(251,246,236,.92)}
.kt-hero__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.1rem}
.kt-badge{
  display:inline-flex;align-items:center;gap:.4rem;background:var(--kt-pollen);color:var(--kt-soil);
  border-radius:999px;padding:.35rem .9rem;font-weight:700;font-size:.82rem;letter-spacing:.06em;margin-bottom:.8rem;
}
.kt-kenburns img{animation:ktKen 22s ease-in-out infinite alternate;transform-origin:center}
@keyframes ktKen{from{transform:scale(1) translate(0,0)}to{transform:scale(1.14) translate(-2.2%,-1.4%)}}

.kt-pollen,.kt-scatter{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}
.kt-pollen i{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--kt-pollen);opacity:.7;animation:ktPollen 16s linear infinite}
.kt-pollen i:nth-child(1){left:8%;top:70%;animation-duration:18s}
.kt-pollen i:nth-child(2){left:22%;top:40%;width:6px;height:6px;animation-delay:-3s}
.kt-pollen i:nth-child(3){left:48%;top:75%;animation-delay:-7s;width:8px;height:8px}
.kt-pollen i:nth-child(4){left:68%;top:30%;animation-delay:-2s}
.kt-pollen i:nth-child(5){left:82%;top:62%;width:5px;height:5px;animation-delay:-9s}
.kt-pollen i:nth-child(6){left:35%;top:18%;animation-delay:-5s}
.kt-pollen i:nth-child(7){left:90%;top:80%;animation-delay:-11s}
.kt-pollen i:nth-child(8){left:12%;top:12%;width:7px;height:7px}
@keyframes ktPollen{0%{transform:translateY(20px) rotate(0)}50%{transform:translateY(-80px) translateX(18px) rotate(120deg)}100%{transform:translateY(-180px) translateX(-10px) rotate(260deg);opacity:0}}
.kt-scatter i{position:absolute;width:28px;height:14px;background:var(--kt-leaf);border-radius:0 70% 40% 70%;opacity:.35;animation:ktLeaf 12s ease-in-out infinite}
.kt-scatter i:nth-child(1){left:10%;top:30%;animation-delay:-1s}
.kt-scatter i:nth-child(2){left:78%;top:22%;background:var(--kt-blossom);animation-delay:-4s}
.kt-scatter i:nth-child(3){left:60%;top:70%;animation-delay:-6s}
.kt-scatter i:nth-child(4){left:28%;top:78%;background:var(--kt-pollen);animation-delay:-2s}
.kt-scatter i:nth-child(5){left:88%;top:48%;animation-delay:-8s}
.kt-scatter i:nth-child(6){left:42%;top:14%;animation-delay:-3s}
@keyframes ktLeaf{0%,100%{transform:translateY(0) rotate(-12deg)}50%{transform:translateY(18px) rotate(16deg)}}

/* Season wheel */
.kt-season{padding:3.6rem 0;background:var(--kt-cream);position:relative;overflow:hidden;isolation:isolate}
.kt-season__bg{position:absolute;inset:0;z-index:0}
.kt-season__veil{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(251,246,236,.78) 0%,rgba(239,231,217,.72) 45%,rgba(251,246,236,.86) 100%);
}
.kt-season .kt-wrap{position:relative;z-index:2}
.kt-wheel{
  --size:min(560px,92vw);
  width:var(--size);height:var(--size);margin:0 auto;border-radius:50%;
  display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;position:relative;
  overflow:hidden;border:10px solid var(--kt-soil);box-shadow:0 20px 50px rgba(61,43,31,.18);
  background:var(--kt-soil);
}
.kt-wheel__hub{
  position:absolute;inset:50%;width:110px;height:110px;margin:-55px 0 0 -55px;z-index:2;
  border-radius:50%;background:var(--kt-cream);color:var(--kt-soil);display:grid;place-content:center;text-align:center;
  border:6px solid var(--kt-pollen);font-family:var(--kt-display);font-style:italic;box-shadow:0 8px 24px rgba(0,0,0,.15);
}
.kt-wheel__hub span{font-size:1.6rem;line-height:1}
.kt-wheel__hub small{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase}
.kt-wheel__seg{
  padding:1.5rem 1.15rem;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;min-height:0;
  background:color-mix(in srgb, var(--hue) 82%, #081C15);position:relative;overflow:hidden;
}
.kt-wheel__photo{position:absolute;inset:0;z-index:0;pointer-events:none}
.kt-wheel__photo img{width:100%;height:100%;object-fit:cover}
.kt-wheel__seg::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:color-mix(in srgb, var(--hue) 70%, #081C15);opacity:.78;
}
.kt-wheel__seg > *:not(.kt-wheel__photo){position:relative;z-index:2}
.kt-wheel__seg:nth-child(2){align-items:flex-start;justify-content:flex-start;text-align:left;padding-top:1.3rem}
.kt-wheel__seg:nth-child(3){align-items:flex-end;justify-content:flex-start;text-align:right;padding-top:1.3rem}
.kt-wheel__seg:nth-child(4){align-items:flex-start}
.kt-wheel__seg:nth-child(5){align-items:flex-end;text-align:right}
.kt-wheel__seg.is-now{box-shadow:inset 0 0 0 4px var(--kt-pollen)}
.kt-wheel__jp{font-family:var(--kt-display);font-style:italic;font-size:1.7rem;line-height:1}
.kt-wheel__en{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;opacity:.8}
.kt-wheel__work{font-weight:700;margin:.25rem 0}
.kt-wheel__seg p{font-size:.82rem;margin:0;opacity:.92}
.kt-wheel.is-spin .kt-wheel__seg{animation:ktPop .7s var(--kt-ease) both;animation-delay:calc(var(--i)* .12s)}
@keyframes ktPop{from{opacity:0;transform:scale(.86)}to{opacity:1;transform:none}}
.kt-wheel--mini{width:auto;height:auto;border:0;border-radius:0;display:flex;gap:.6rem;background:transparent;box-shadow:none;overflow:visible;margin:1rem 0 0}
.kt-wheel__chip{
  width:64px;height:64px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;
  background:var(--hue);border:3px solid transparent;
}
.kt-wheel__chip.is-now{border-color:var(--kt-pollen);transform:scale(1.08)}
.kt-founded{text-align:center;max-width:640px;margin:0 auto}
.kt-founded__year{font-family:var(--kt-display);font-style:italic;font-size:clamp(3.4rem,10vw,6rem);color:var(--kt-leaf);line-height:.9}

/* Packets / cards */
.kt-packets,.kt-cards{display:grid;gap:1.25rem}
.kt-packets{grid-template-columns:repeat(3,1fr)}
.kt-cards--3{grid-template-columns:repeat(3,1fr)}
.kt-cards--4{grid-template-columns:repeat(4,1fr)}
.kt-cards--2{grid-template-columns:repeat(2,1fr)}
.kt-packet{
  background:var(--kt-paper);color:var(--kt-ink);padding:1rem 1rem 1.25rem;
  clip-path:var(--kt-torn);filter:drop-shadow(0 14px 18px rgba(61,43,31,.16));
}
.kt-packet .kt-frame{min-height:200px;aspect-ratio:16/11;margin-bottom:.75rem}
.kt-packet h3,.kt-packet p,.kt-packet .kt-meta,.kt-packet .kt-price{color:var(--kt-ink)}
.kt-packet--dark{background:#2a1d14}
.kt-packet--dark h3,.kt-packet--dark p{color:var(--kt-cream)}
.kt-packet__stamp{
  display:inline-block;font-family:var(--kt-display);font-style:italic;font-size:.78rem;
  border:1px dashed var(--kt-soil);padding:.15rem .55rem;transform:rotate(-2deg);margin-bottom:.35rem;
}
.kt-card{background:transparent}
.kt-card .kt-frame{margin-bottom:.7rem}
.kt-card--overlay{position:relative;overflow:hidden}
.kt-card--overlay .kt-frame{min-height:340px}
.kt-card__on{
  position:absolute;inset:auto 0 0;padding:1.1rem 1.05rem 1.2rem;
  background:linear-gradient(180deg,transparent,rgba(8,28,21,.88));color:var(--kt-cream);
}
.kt-card__on h3,.kt-card__on p{color:var(--kt-cream);margin:0 0 .35rem}
.kt-card--topic .kt-price{margin:.4rem 0 0}

.kt-glass{
  display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:8px;
  background:linear-gradient(135deg,rgba(255,255,255,.55),rgba(45,106,79,.18));
  border:3px solid rgba(255,255,255,.55);box-shadow:inset 0 0 40px rgba(255,255,255,.22),0 16px 40px rgba(61,43,31,.12);
}
.kt-glass figure{margin:0;position:relative}
.kt-glass .kt-frame{min-height:280px;aspect-ratio:1}
.kt-glass figcaption{position:absolute;left:10px;bottom:10px;z-index:1}
.kt-glass--split{min-height:480px}

.kt-mosaic{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:.7rem}
.kt-mosaic .kt-frame{min-height:220px;position:relative}
.kt-mosaic__hero{grid-row:1 / span 2;min-height:460px}
.kt-mosaic figcaption{
  position:absolute;left:10px;bottom:10px;color:var(--kt-cream);font-family:var(--kt-display);font-style:italic;
  background:rgba(8,28,21,.45);padding:.15rem .55rem;
}

.kt-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;counter-reset:none}
.kt-timeline li{background:var(--kt-paper);padding:.9rem;clip-path:var(--kt-torn);filter:drop-shadow(0 10px 16px rgba(61,43,31,.12))}
.kt-timeline .kt-frame{min-height:180px;aspect-ratio:16/11;margin-bottom:.7rem}
.kt-timeline b{font-family:var(--kt-display);font-style:italic;font-size:1.5rem;color:var(--kt-blossom)}
.kt-sec--soil .kt-timeline li{background:#2a1d14}
.kt-sec--soil .kt-timeline h3,.kt-sec--soil .kt-timeline p,.kt-sec--soil .kt-timeline b{color:var(--kt-cream)}

.kt-cal{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.kt-cal__cell{background:color-mix(in srgb, var(--hue) 35%, var(--kt-cream));padding:1.1rem;border-top:6px solid var(--hue)}
.kt-cal__cell.is-now{outline:3px solid var(--kt-pollen);outline-offset:2px}
.kt-cal__jp{font-family:var(--kt-display);font-style:italic;font-size:1.8rem;color:var(--kt-soil)}
.kt-cal .kt-frame{margin-top:.7rem}
.kt-sec--soil .kt-cal__cell,.kt-sec--leaf .kt-cal__cell{background:rgba(251,246,236,.1);color:var(--kt-cream)}
.kt-sec--soil .kt-cal__jp,.kt-sec--leaf .kt-cal__jp,.kt-sec--soil .kt-cal h3,.kt-sec--leaf .kt-cal h3{color:var(--kt-cream)}

.kt-plots{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin:1rem 0 1.3rem}
.kt-plots__item{background:rgba(251,246,236,.7);padding:.7rem .8rem;border-left:4px solid var(--kt-pollen)}
.kt-plots__item b{display:block;font-family:var(--kt-display);font-style:italic;font-size:1.2rem}
.kt-plots__item em{font-style:normal;color:var(--kt-leaf);font-weight:700}
.kt-split__text--light .kt-plots__item{background:rgba(8,28,21,.28);color:var(--kt-cream)}
.kt-split__text--light .kt-plots__item em{color:var(--kt-pollen)}

.kt-voices{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.kt-voice{background:var(--kt-paper);padding:1.2rem;clip-path:var(--kt-torn);filter:drop-shadow(0 10px 16px rgba(61,43,31,.12))}
.kt-voice .kt-frame{margin-bottom:.7rem}
.kt-voice cite{font-style:italic;font-family:var(--kt-display);color:var(--kt-leaf)}

.kt-team{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.kt-team .kt-frame{margin-bottom:.7rem}

.kt-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-bottom:1.6rem}
.kt-post{display:grid;gap:.6rem}
.kt-post .kt-frame{min-height:200px}

.kt-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;text-align:center;margin-bottom:.4rem}
.kt-stats b{display:block;font-family:var(--kt-display);font-style:italic;font-size:clamp(1.8rem,4vw,2.8rem);color:var(--kt-pollen)}
.kt-stats span{color:var(--kt-cream)}
.kt-sec--cream .kt-stats b{color:var(--kt-leaf)}
.kt-sec--cream .kt-stats span{color:var(--kt-muted)}

.kt-faq{display:grid;gap:.55rem}
.kt-faq--wide{max-width:820px;margin:0 auto}
.kt-faq details{background:rgba(251,246,236,.7);padding:.85rem 1rem;border-left:4px solid var(--kt-leaf)}
.kt-faq summary{cursor:pointer;font-weight:700;font-family:var(--kt-display);font-style:italic}
.kt-faq p{margin:.55rem 0 0}
.kt-sec--soil .kt-faq details,.kt-sec--leaf .kt-faq details{background:rgba(8,28,21,.25)}

.kt-quoteblock{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center}
.kt-quoteblock blockquote{margin:0}
.kt-quoteblock p{font-family:var(--kt-display);font-style:italic;font-size:clamp(1.6rem,3.4vw,2.4rem);color:var(--kt-soil);line-height:1.35}
.kt-quoteblock cite{color:var(--kt-blossom)}

.kt-formwrap{max-width:1080px}
.kt-formgrid{display:grid;grid-template-columns:.85fr 1.15fr;gap:2rem;align-items:start}
.kt-form{display:grid;gap:.85rem}
.kt-form label{display:grid;gap:.35rem;font-weight:700}
.kt-form input,.kt-form textarea{
  width:100%;border:1.5px solid #cbbba6;background:var(--kt-paper);padding:.75rem .85rem;border-radius:8px;color:var(--kt-ink);
}
.kt-form input:focus,.kt-form textarea:focus{outline:2px solid var(--kt-leaf);border-color:var(--kt-leaf)}
.kt-form .err,.kt-form__err{color:#b42318;font-size:.88rem;font-weight:700}
.kt-form--ok{text-align:center}
.kt-form--ok .kt-frame{margin-bottom:1.2rem}
.kt-map{min-height:320px;aspect-ratio:16/10;border:8px solid var(--kt-fog);box-shadow:0 12px 30px rgba(61,43,31,.12)}
.kt-map iframe{width:100%;height:100%;min-height:320px;border:0}

.kt-cta{position:relative;min-height:520px;display:grid;place-items:center;overflow:hidden;color:var(--kt-cream);text-align:center}
.kt-cta__bg{position:absolute;inset:0}
.kt-cta__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,28,21,.35),rgba(61,43,31,.78))}
.kt-cta__in{position:relative;z-index:2;padding:4rem 1.4rem;max-width:640px}
.kt-cta__in .kt-display{color:var(--kt-cream)}

.kt-foot{background:var(--kt-moss);color:var(--kt-fog);padding:3.4rem 0 1.4rem;position:relative}
.kt-foot__vine{height:10px;background:repeating-linear-gradient(90deg,var(--kt-leaf) 0 18px,var(--kt-pollen) 18px 22px,transparent 22px 40px);margin-top:-3.4rem;margin-bottom:2.2rem}
.kt-foot__grid{display:grid;grid-template-columns:1.3fr 1fr 1.2fr .8fr;gap:1.6rem}
.kt-foot__brand{font-family:var(--kt-display);font-style:italic;font-size:1.8rem;color:var(--kt-cream)}
.kt-foot a{color:var(--kt-pollen)}
.kt-foot a:hover{color:var(--kt-blossom)}
.kt-foot h3{color:var(--kt-cream);font-size:1rem;letter-spacing:.12em;text-transform:uppercase}
.kt-foot ul{display:grid;gap:.35rem}
.kt-foot__tag{opacity:.8;font-family:var(--kt-display);font-style:italic}
.kt-foot__copy{text-align:center;margin:2rem 0 0;opacity:.65;font-size:.85rem}

/* IO */
.js [data-kt]{opacity:0;transform:translateY(28px);transition:opacity .7s var(--kt-ease),transform .7s var(--kt-ease);transition-delay:calc(var(--d,0)* .08s)}
.js [data-kt].in{opacity:1;transform:none}
.js [data-kt] img,.js [data-kt] .kt-cover{transform:scale(1.08);transition:transform 1.15s var(--kt-ease)}
.js [data-kt].in img,.js [data-kt].in .kt-cover{transform:scale(1)}
.js .kt-wheel__photo img,.js .kt-wheel__photo .kt-cover{transform:none}

@media (max-width:1100px){
  .kt-packets,.kt-cards--3,.kt-cards--4,.kt-timeline,.kt-cal,.kt-voices,.kt-team,.kt-posts,.kt-stats,.kt-plots{grid-template-columns:repeat(2,1fr)}
  .kt-split,.kt-split--flip,.kt-split--wide,.kt-quoteblock,.kt-formgrid{grid-template-columns:1fr}
  .kt-split--flip > :first-child{order:0}
  .kt-mosaic{grid-template-columns:1fr 1fr}
  .kt-mosaic__hero{grid-column:1 / -1;grid-row:auto;min-height:320px}
  .kt-foot__grid{grid-template-columns:1fr 1fr}
  .kt-wheel{--size:min(480px,88vw)}
}

@media (min-width:768px){
  .kt-burger,.kt-drawer,.kt-drawer-backdrop{display:none !important}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js [data-kt],.js [data-kt] img,.kt-letter,.kt-hero__copy,.kt-kenburns img{opacity:1!important;transform:none!important;filter:none!important}
}

/* Eijou — home density + image shells */
.kt-frame,
.kt-hero__media,
.kt-cta__bg,
.kt-card .kt-frame,
.kt-packet .kt-frame {
  background: linear-gradient(145deg, rgba(45, 106, 79, 0.12) 0%, rgba(233, 196, 106, 0.18) 100%);
}
.kt-frame img,
.kt-cover { min-height: 100%; }
.kt-sec { padding-block: clamp(3rem, 7vw, 5rem); }
.kt-season { min-height: auto; padding-block: clamp(3rem, 7vw, 5rem); }
.kt-cta { min-height: min(68vh, 520px); }
