/* HEDGEHOGS / Hero, selected works and consultation entry points. */
.toss-study { background:#fff; color:#23352b; }
.toss-study .sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.toss-study .nav { background:rgba(255,255,255,.94); padding:17px 4.5%; height:76px; box-shadow:none; }
.toss-study .nav__brand { gap:10px; font-size:20px; }
.toss-study .nav__brand img { border-radius:7px; }
.toss-study .nav__links { gap:32px; }
.toss-study .nav__links a { font-size:14px; }
.toss-study .nav__cta { border-radius:30px; padding:10px 20px; font-size:13px; min-height:44px; }
.toss-study :is(a,button):focus-visible { outline:3px solid #669ab1; outline-offset:5px; }
.vision { position:relative; margin:76px 16px 0; background:#edf2e9; border-radius:36px; }
.vision__pin { position:relative; height:940px; min-height:750px; overflow:hidden; border-radius:36px; background:radial-gradient(ellipse at 50% 88%,#cfddbc 0%,#e9efdf 44%,#f4f6ef 85%); }
.vision__copy { position:relative; z-index:3; text-align:center; padding:49px 20px 0; }
.vision__eyebrow { display:flex; justify-content:center; align-items:center; gap:20px; margin:0; font-size:11px; letter-spacing:.15em; font-weight:600; }
.vision__eyebrow>span { color:#586d5c; font-size:10px; letter-spacing:.17em; padding-left:20px; border-left:1px solid #afbead; }
.vision h1 { display:flex; align-items:center; justify-content:center; margin:20px 0 10px; font:800 clamp(64px,9.8vw,150px)/1.14 var(--font-display); letter-spacing:-.07em; }
.vision h1 em { font-style:normal; color:#3d6745; }
.vision__cross { color:#b69141; font-weight:500; font-size:.6em; padding:0 .27em; }
.vision__lead { font-size:clamp(20px,2.25vw,30px); font-weight:700; letter-spacing:.02em; margin:10px 0; line-height:1.5; }
.vision__lead span { white-space:nowrap; }
.vision__sub { font-size:15px; line-height:1.85; color:#57695c; margin:12px 0 21px; }
.vision__actions { display:flex; gap:28px; align-items:center; justify-content:center; }
.vision__booking-note { margin:10px 0 0; color:#52634f; font-size:14px; line-height:1.7; }
.study-btn { display:inline-flex; align-items:center; justify-content:center; gap:30px; color:#fff; background:#284c34; border-radius:99px; padding:15px 24px; min-height:48px; font-size:14px; font-weight:600; transition:background .3s,transform .3s; }
.study-btn>span { font-size:19px; line-height:1; }
.study-btn:hover { background:#173620; transform:translateY(-2px); }
.study-text-link { padding:12px 0; font-size:14px; font-weight:600; }
.study-text-link>span { margin-left:10px; }
.work-scene { position:absolute; top:510px; height:460px; left:50%; width:1160px; transform:translateX(-50%); perspective:1800px; }
.scene-floor { position:absolute; left:140px; right:140px; height:120px; top:330px; background:radial-gradient(ellipse,#5f78594d,transparent 66%); }
.scene-orbit { position:absolute; top:120px; left:40px; width:1080px; height:420px; border:1px solid #6f8e5d21; border-radius:50%; transform:rotateX(65deg); }
.scene-orbit--two { transform:rotateX(65deg) scale(1.24); }
.scene-ui { position:absolute; top:5px; left:200px; width:760px; height:382px; background:#fcfefb; border:1px solid #fafff9; border-radius:15px; box-shadow:0 30px 65px -20px #455c4347,0 0 0 6px #ffffff4d; transform:rotateX(11deg) rotateY(-8deg) rotateZ(-2deg); transform-origin:50% 65%; overflow:hidden; }
.scene-ui__bar { display:flex; align-items:center; gap:12px; height:52px; padding:0 20px; border-bottom:1px solid #e5eade; background:#ffffff; font-size:12px; }
.mini-mark { display:grid; place-items:center; background:#315e3f; color:white; border-radius:8px; font-size:23px; font-weight:800; width:28px; height:28px; }
.scene-ui__tag { margin-left:auto; font-size:10px; color:#6b7b6c; }
.avatar { width:25px; height:25px; display:grid; place-items:center; border-radius:50%; background:#ecf1e7; font-size:10px; }
.scene-ui__layout { display:grid; grid-template-columns:150px 1fr; height:330px; }
.scene-sidebar { background:#f4f6f0; padding:24px 12px; font-size:10px; display:flex; flex-direction:column; gap:17px; }
.scene-sidebar>b { font-size:8px; letter-spacing:.16em; padding-left:10px; color:#6c7a6b; }
.scene-sidebar>span { padding:0 10px; color:#667262; }
.scene-sidebar .selected { color:#294d31; background:#e2ebd9; padding:8px 10px; border-radius:5px; margin-bottom:-8px; font-weight:600; }
.scene-sidebar>i { font-style:normal; font-size:9px; color:#63755c; line-height:1.8; margin:auto 10px 0; }
.scene-main { padding:25px 25px 20px; }
.scene-main__hello { display:flex; align-items:center; justify-content:space-between; margin:0 0 18px; }
.scene-main__hello>span { font-size:20px; font-weight:700; }
.scene-main__hello>small { font-size:7px; letter-spacing:.14em; color:#6e7d6f; }
.scene-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.scene-metrics>div { background:#ecf2e5; border:1px solid #e3eadc; border-radius:8px; padding:14px 12px; }
.scene-metrics>div:nth-child(2) { background:#f3f0e5; border-color:#e9e6d8; }
.scene-metrics>div:nth-child(3) { background:#eaf0f1; border-color:#dfe9ea; }
.scene-metrics span { font-size:9px; }
.scene-metrics b { display:flex; justify-content:space-between; align-items:center; font-size:17px; margin-top:7px; font-weight:600; }
.scene-metrics b>span { font-size:20px; font-weight:400; }
.scene-table { margin-top:20px; font-size:10px; }
.scene-table>div { display:grid; grid-template-columns:1.7fr 1fr 70px; gap:10px; align-items:center; border-bottom:1px solid #edf0e8; padding:10px 0; }
.scene-table>div:first-child { color:#6e7a6c; font-size:9px; padding-top:0; }
.file-dot { display:inline-block; width:7px; height:9px; border-radius:2px; margin-right:7px; }
.file-dot.green { background:#6d9763; }.file-dot.gold { background:#b9a366; }.file-dot.blue { background:#82a5b0; }
.scene-table .state { color:#46623a; background:#eaf2e3; border-radius:20px; text-align:center; font-size:8px; padding:3px; }
.loose { position:absolute; background:#fefefb; border:1px solid #fff; border-radius:13px; box-shadow:0 15px 36px #3b533526; z-index:2; padding:23px; }
.loose--invoice { width:200px; height:245px; top:30px; left:62px; transform:rotate(-14deg); }
.loose--report { width:208px; height:222px; top:74px; right:24px; transform:rotate(13deg); }
.sheet-kind { display:flex; justify-content:space-between; color:#75816d; font-size:9px; letter-spacing:.16em; }
.sheet-kind i { font-style:normal; }
.loose strong { display:block; font-size:24px; margin:17px 0 22px; }
.sheet-line { display:block; background:#e8eddf; height:4px; border-radius:2px; margin:9px 0; }.sheet-line.short { width:65%; }
.sheet-total { margin-top:24px; display:flex; flex-direction:column; font-size:10px; }.sheet-total>b { font-size:12px; margin-top:4px; }
.sheet-seal { position:absolute; right:21px; bottom:25px; border:1px solid #a8bea0; color:#628354; border-radius:50%; width:35px; height:35px; display:grid; place-items:center; font-size:19px; }
.sheet-bars { height:65px; display:flex; align-items:flex-end; gap:7px; margin-bottom:20px; }
.sheet-bars i { flex:1; background:#bed0b0; border-radius:3px 3px 0 0; height:40%; }.sheet-bars i:nth-child(2n) { height:60%; }.sheet-bars i:nth-child(3n) { height:76%; }.sheet-bars i:last-child { height:100%; background:#638d52; }
.loose--contact { display:flex; align-items:center; gap:14px; left:125px; top:295px; padding:15px 19px; transform:rotate(-6deg); }
.contact-icon { display:grid; place-items:center; font-size:23px; background:#e1ebf0; color:#6e97ab; width:42px; height:42px; border-radius:11px; }
.loose--contact b { display:block; font-size:12px; }.loose--contact div>span { font-size:9px; color:#6f7b6a; }.loose--contact>i { margin-left:18px; font-style:normal; }
.scene-success { position:absolute; z-index:4; bottom:47px; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:10px; white-space:nowrap; border:1px solid #e0e9d9; padding:12px 18px; background:#fff; border-radius:30px; box-shadow:0 8px 20px #294a2221; font-size:12px; }
.scene-success>span { display:grid; place-items:center; width:21px; height:21px; border-radius:50%; background:#e6efdc; color:#43643a; }
.vision__foot { position:absolute; z-index:4; bottom:20px; left:38px; right:38px; display:flex; justify-content:space-between; align-items:center; font-size:9px; letter-spacing:.1em; color:#5e7359; }
.vision__foot>span:last-child { display:flex; align-items:center; gap:15px; }.vision__foot i { font-size:18px; font-style:normal; }.scene-caption { font-size:10px; letter-spacing:.06em; }
/* Only enable pinning when its animation has initialized. */
@media (min-width:900px) and (min-height:700px) and (prefers-reduced-motion:no-preference) {
  .study-motion .vision { height:calc(100svh + 650px); }
  .study-motion .vision__pin { position:sticky; top:76px; height:calc(100svh - 92px); min-height:608px; }
  .study-motion .work-scene { top:49%; transform:translateX(-50%) scale(.93); transform-origin:center top; }
  .study-motion .vision__copy { padding-top:30px; }
  .study-motion .vision h1 { font-size:clamp(78px,8.8vw,136px); margin:14px 0 4px; }
  .study-motion .vision__lead { font-size:26px; margin:4px 0; }
  .study-motion .vision__sub { font-size:14px; margin:8px 0 14px; }
}
.study-intro { max-width:1100px; margin:auto; padding:110px 44px 80px; }
.study-intro>p { font-size:clamp(24px,3.1vw,42px); line-height:1.65; font-weight:700; letter-spacing:-.025em; margin:0; }
.study-intro em { color:#648352; font-style:normal; }
.study-intro__row { margin-top:32px; display:flex; gap:25px; align-items:center; justify-content:space-between; border-top:1px solid #dee5d6; padding-top:24px; font-size:14px; color:#5d6c60; }
.study-intro__row>a { color:#315936; font-weight:600; padding:10px 0; }.study-intro__row>a>span { margin-left:16px; }
.selected-works { padding:60px 16px 80px; scroll-margin-top:95px; }
.selected-works__head { text-align:center; margin:0 auto 64px; }
.selected-works__head h2 { font:700 clamp(40px,5.8vw,78px)/1.24 var(--font-display); letter-spacing:-.04em; margin:24px 0; }.selected-works__head h2 em { font-style:normal; color:#527047; }
.selected-works__head>p:last-child { font-size:16px; color:#657061; }
.showcase { max-width:1440px; margin:0 auto 24px; border-radius:32px; padding:clamp(32px,5vw,70px) clamp(24px,6vw,90px) 28px; overflow:hidden; }
.showcase--loop { background:#172a23; color:#f1f5ed; }
.showcase__head { display:flex; align-items:center; justify-content:space-between; gap:24px; position:relative; z-index:2; }
.case-index { font-size:10px; letter-spacing:.19em; margin:0 0 22px; }
.showcase--loop .case-index { color:#b7c6a9; }
.showcase__head h3 { margin:0; font:700 clamp(30px,3.75vw,52px)/1.4 var(--font-display); letter-spacing:-.025em; }
.showcase__head p:last-child { font-size:15px; line-height:1.9; margin:19px 0 0; color:#c1cfc0; }
.round-link { display:grid; place-items:center; flex-shrink:0; width:66px; height:66px; border:1px solid #779177; border-radius:50%; font-size:29px; transition:transform .3s,background .3s; }.round-link:hover { transform:rotate(10deg); background:#ffffff15; }
.loop-stage { position:relative; padding:62px 0 42px; perspective:1600px; }
.loop-window { border:1px solid #64725c; border-radius:12px; overflow:hidden; background:#142018; box-shadow:0 30px 50px #0003; transform:rotateX(3deg) rotateY(-4deg); }
.loop-window__bar { display:flex; align-items:center; justify-content:space-between; padding:13px 18px; font-size:10px; color:#d4ddce; background:#2b3e30; }
.loop-window__bar>span:first-child { display:flex; gap:5px; width:100px; }.loop-window__bar i { width:5px; height:5px; border-radius:50%; background:#82947a; }.loop-window__bar>b { letter-spacing:.13em; font-size:10px; }.loop-window__bar>span:last-child { font-size:9px; }
.loop-screen { position:relative; aspect-ratio:1440 / 694; overflow:hidden; background:#fff; }.loop-screen img { position:absolute; width:100%; max-width:none; top:-16.7%; height:auto; }
.loop-note { position:absolute; bottom:20px; right:-8px; display:flex; align-items:center; gap:14px; background:#f9fbf5; color:#304932; border:1px solid #dfe9d5; padding:16px 20px; border-radius:14px; box-shadow:0 15px 38px #0004; }
.loop-note__avatar { display:grid; place-items:center; width:38px; height:38px; background:#deead4; border-radius:50%; font-size:15px; }.loop-note small { color:#607559; font-size:10px; }.loop-note p { font-size:13px; margin:5px 0 0; }.loop-note p>b { color:#4d7740; margin-right:10px; font-variant-numeric:tabular-nums; }.loop-note__check { font-size:20px; margin-left:12px; }
.showcase__foot { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid #78936c55; margin-top:28px; padding-top:22px; font-size:12px; color:#c2ceba; }.showcase__foot>a { display:flex; align-items:center; gap:24px; min-height:44px; color:inherit; font-weight:600; }.showcase__foot>a>span { font-size:20px; }
.showcase--bni { background:#eaf0e1; color:#30482f; }.showcase--bni .case-index { color:#586d49; }.showcase--bni .showcase__head p:last-child { color:#536b4e; }.showcase--bni .showcase__foot { color:#4d6548; }.showcase--bni .round-link { border-color:#afbd9e; }
.system-scene { position:relative; margin:65px -5px 40px; }
.system-apps { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; position:relative; z-index:1; }
.system-app { padding:24px 18px 18px; background:#ffffffed; border:1px solid #fff; border-radius:17px; box-shadow:0 15px 28px #58714012; position:relative; }
.app-glyph { display:grid; place-items:center; width:44px; height:44px; border-radius:13px; font-size:28px; margin-bottom:20px; }.app-glyph--green { background:#dce9ce; color:#4d703b; }.app-glyph--blue { background:#dfeaf0; color:#4e7d8d; }.app-glyph--gold { background:#efe6ce; color:#87723c; }.app-glyph--coral { background:#f1e1d8; color:#986849; }
.system-app>b { display:block; font-size:16px; }.system-app>small { font-size:11px; color:#667a5b; }
.app-preview { padding:14px 10px 9px; margin-top:23px; border:1px solid #e7ecdf; border-radius:7px; height:102px; background:#fbfcf8; }.app-preview>span { font-size:8px; display:block; color:#6e7e65; margin-bottom:10px; }.app-preview>i { display:block; height:4px; width:90%; border-radius:2px; background:#e5eadf; margin:8px 0; }.app-preview>i:nth-child(3) { width:65%; }.app-preview>em { display:block; font-size:8px; font-style:normal; color:#4b7540; margin:7px 0; }
.app-preview--slide { background:#36533c; color:white; border-color:#36533c; }.app-preview--slide>span { color:#ccd6c2; font-size:6px; letter-spacing:.08em; }.app-preview--slide>b { font-size:15px; line-height:1.5; }
.people-dots { display:flex; margin:3px 0 15px; }.people-dots>i { display:grid; place-items:center; border:2px solid white; border-radius:50%; background:#dce5d1; width:28px; height:28px; margin-right:-4px; font-size:9px; font-style:normal; }.people-dots>i:nth-child(2) { background:#e8dfcc; }.people-dots>i:nth-child(3) { background:#d9e7e8; }
.system-track { position:absolute; border:1px solid #a4b996; border-top:0; border-radius:0 0 20px 20px; left:12%; right:12%; top:210px; height:90px; }.system-track::after { content:''; position:absolute; height:45px; width:1px; background:#a4b996; left:50%; top:100%; }
.system-hub { position:relative; z-index:2; display:flex; align-items:center; gap:18px; border-radius:15px; background:#35523b; color:#eef3e5; margin:70px auto 0; max-width:330px; padding:20px 25px; box-shadow:0 15px 30px #3c543026; }.hub-orb { font-weight:800; font-size:39px; letter-spacing:-.05em; border-right:1px solid #94a78277; padding-right:18px; line-height:1; }.system-hub b { font-size:13px; }.system-hub div>span { display:block; font-size:7px; letter-spacing:.11em; margin-top:4px; color:#cad7bb; }.hub-pulse { width:6px; height:6px; background:#c7daa0; border-radius:50%; margin-left:auto; }
.study-booking { padding:50px 20px; text-align:center; }.study-booking p { color:#4c6248; }
@media (min-width:1600px) { .vision { max-width:1560px; margin-left:auto; margin-right:auto; } }
@media (min-width:900px) and (max-height:800px) { .study-motion .vision__copy { padding-top:20px; }.study-motion .vision h1 { font-size:96px; }.study-motion .vision__lead { font-size:22px; }.study-motion .vision__sub { font-size:13px; }.study-motion .work-scene { top:50%; transform:translateX(-50%) scale(.76); }.study-motion .vision__eyebrow { font-size:10px; } }
@media (max-width:1000px) { .toss-study .nav__links { gap:17px; }.toss-study .nav__links a { font-size:12px; }.scene-ui { left:200px; }.system-apps { gap:12px; }.system-app { padding:18px 12px; }.system-app>b { font-size:14px; } }
@media (max-width:899px) {
  .vision { margin:76px 10px 0; border-radius:25px; }.vision__pin { border-radius:25px; height:810px; min-height:0; }.vision__copy { padding-top:46px; }.vision h1 { font-size:100px; }.vision__sub { font-size:15px; }.work-scene { top:435px; transform:translateX(-50%) scale(.74); transform-origin:center top; }.vision__foot { left:22px; right:22px; bottom:17px; }.vision__foot>span:first-child { display:none; }.study-intro { padding:80px 30px 55px; }.study-intro__row { flex-direction:column; align-items:flex-start; gap:6px; }.selected-works { padding:45px 10px 45px; }.showcase { padding:40px 28px 20px; }.system-apps { grid-template-columns:repeat(2,1fr); gap:18px; }.system-app { padding:23px; }.system-app>b { font-size:17px; }.system-track { top:280px; height:330px; }.system-app .app-preview { height:98px; }.system-hub { margin-top:45px; }.showcase__foot>span:nth-child(2) { display:none; }
}
@media (max-width:600px) {
  .toss-study .nav { padding:12px 20px; height:68px; }.toss-study .nav__brand { font-size:17px; gap:8px; }.toss-study .nav__brand img { width:22px; height:22px; }.toss-study .nav__cta { display:none; }.toss-study .nav__burger { min-width:44px; height:44px; }.vision { margin-top:68px; margin-left:8px; margin-right:8px; }.vision__pin { height:722px; }.vision__copy { padding:35px 14px 0; }.vision__eyebrow { font-size:10px; letter-spacing:.1em; gap:12px; }.vision__eyebrow>span { padding-left:12px; font-size:7px; letter-spacing:.05em; }.vision h1 { font-size:clamp(57px,16.3vw,94px); margin-top:26px; margin-bottom:18px; }.vision__cross { padding:0 .23em; }.vision__lead { font-size:19px; letter-spacing:0; }.vision__sub { font-size:13px; line-height:1.9; margin:15px 0 23px; }.vision__actions { gap:24px; }.study-btn { font-size:12px; padding:13px 19px; gap:20px; }.study-text-link { font-size:12px; }.work-scene { top:360px; transform:translateX(-50%) scale(.49); }.scene-ui { left:224px; width:710px; transform:rotateX(8deg) rotateY(-6deg) rotateZ(-2deg); }.loose--invoice { left:118px; top:115px; }.loose--report { right:86px; top:12px; }.loose--contact { top:335px; left:165px; }.scene-success { bottom:-80px; }.vision__foot { bottom:19px; left:18px; right:18px; letter-spacing:.02em; font-size:8px; }.vision__foot .scene-caption { font-size:9px; }.vision__foot>span:last-child { gap:10px; }.study-intro { padding:64px 25px 36px; }.study-intro>p { font-size:23px; line-height:1.7; }.study-intro__row { font-size:12px; margin-top:26px; padding-top:18px; }.selected-works__head { padding:0 18px; margin-bottom:35px; }.selected-works__head h2 { font-size:43px; margin:25px 0 18px; }.selected-works__head>p:last-child { font-size:12px; line-height:1.8; }.selected-works { padding:45px 8px 30px; }.selected-works .vision__eyebrow { font-size:9px; }.selected-works .vision__eyebrow>span { font-size:6px; }.showcase { border-radius:24px; padding:34px 22px 15px; margin-bottom:16px; }.case-index { font-size:8px; letter-spacing:.13em; margin-bottom:18px; }.showcase__head { gap:5px; align-items:flex-start; }.showcase__head h3 { font-size:29px; line-height:1.5; }.showcase__head p:last-child { font-size:12px; line-height:1.9; margin-top:16px; }.round-link { width:44px; height:44px; font-size:22px; margin-top:26px; }.loop-stage { margin:0 -10px; padding:35px 0 50px; }.loop-window { transform:none; border-radius:7px; }.loop-window__bar { padding:8px; }.loop-window__bar>span:first-child { width:40px; }.loop-window__bar>span:last-child { font-size:6px; }.loop-window__bar>b { font-size:7px; }.loop-window__bar i { width:3px; height:3px; }.loop-note { bottom:15px; right:-2px; gap:8px; padding:10px 12px; border-radius:8px; }.loop-note__avatar { width:25px; height:25px; font-size:10px; }.loop-note small { font-size:8px; }.loop-note p { font-size:9px; margin-top:2px; }.loop-note p>b { margin-right:5px; }.loop-note__check { font-size:13px; margin-left:2px; }.showcase__foot { font-size:10px; gap:8px; margin-top:4px; padding-top:12px; }.showcase__foot>a { gap:8px; font-size:10px; }.system-scene { margin:35px -3px 20px; }.system-apps { gap:12px; }.system-app { padding:17px 12px 12px; border-radius:12px; }.app-glyph { width:35px; height:35px; font-size:24px; border-radius:10px; margin-bottom:12px; }.system-app>b { font-size:13px; }.system-app>small { font-size:9px; }.app-preview { margin-top:14px; padding:10px 7px; }.app-preview>span { font-size:6px; }.app-preview>em { font-size:6px; }.app-preview--slide>b { font-size:12px; }.system-app .app-preview { height:84px; }.system-track { top:210px; height:270px; }.system-hub { margin-top:40px; max-width:265px; padding:15px 20px; gap:13px; }.system-hub b { font-size:12px; }.hub-orb { font-size:30px; }.system-hub div>span { font-size:6px; }.study-review { bottom:9px; left:10px; padding:5px 12px; gap:12px; font-size:10px; }.study-review>span { font-size:8px; }
}
@media (max-width:600px) { .showcase__head { display:block; }.showcase__head .round-link { position:absolute; right:0; top:-10px; margin:0; } }
@media (prefers-reduced-motion:reduce) { .toss-study *, .toss-study *::before, .toss-study *::after { animation:none !important; transition:none !important; }.toss-study .reveal,.toss-study .line-mask { opacity:1 !important; transform:none !important; clip-path:none !important; } }

/* Compare the existing offers without changing their scope. */
.training-plans { margin:40px 0 64px; }
.training-plans__title { margin:0 0 28px; color:var(--paper-ink); font-size:clamp(26px,3vw,38px); line-height:1.5; letter-spacing:-.03em; }
.training-plans__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.training-plan { min-width:0; padding:32px; border:1px solid var(--line-dark); border-radius:20px; background:#ffffff05; color:var(--paper-ink); }
.training-plan__label { margin:0 0 24px; font-size:14px; line-height:1.7; color:#f4e4be; }
.training-plan h4 { margin:0 0 12px; font-size:26px; line-height:1.5; }
.training-plan__price { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 10px; margin:0; font-size:clamp(32px,3.4vw,46px); line-height:1.3; font-weight:700; font-variant-numeric:tabular-nums; letter-spacing:-.03em; }
.training-plan__price span { font-size:16px; font-weight:500; letter-spacing:0; }
.training-plan__condition { min-height:84px; margin:16px 0 24px; color:var(--paper-soft); font-size:16px; line-height:1.75; }
.training-plan dl { margin:0; }
.training-plan dl>div { border-top:1px solid var(--line-dark); padding:18px 0; }
.training-plan dl>div:last-child { padding-bottom:0; }
.training-plan dt { margin:0 0 8px; color:#f4e4be; font-size:14px; font-weight:600; }
.training-plan dd { margin:0; color:var(--paper-soft); font-size:16px; line-height:1.85; }
.training-plans__guide { max-width:60ch; margin:24px 0 20px; color:var(--paper-soft); font-size:16px; line-height:1.85; }
.consultation-faq__list { max-width:960px; }
.consultation-faq details { border-bottom:1px solid #b9c9b3; }
.consultation-faq details:first-child { border-top:1px solid #b9c9b3; }
.consultation-faq summary { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:64px; padding:24px 0; list-style:none; font-size:18px; line-height:1.65; font-weight:600; cursor:pointer; }
.consultation-faq summary::-webkit-details-marker { display:none; }
.consultation-faq summary::after { content:'+'; flex:none; width:28px; text-align:center; font-size:24px; font-weight:400; color:#527047; }
.consultation-faq details[open]>summary::after { content:'−'; }
.consultation-faq summary:focus-visible { outline:3px solid #527047; outline-offset:4px; border-radius:4px; }
.consultation-faq details>div { max-width:74ch; padding:0 40px 26px 0; }
.consultation-faq details p { margin:0; color:var(--ink-soft); font-size:16px; line-height:1.9; }
.consultation-faq details a { text-decoration:underline; text-underline-offset:4px; }
.case__fig .demo-disclaimer { font-size:14px; line-height:1.75; }
@media (max-width:899px) {
  .training-plans__grid { grid-template-columns:1fr; gap:20px; }
  .training-plan { padding:24px; }
  .training-plan__condition { min-height:0; }
  .consultation-faq summary { font-size:16px; gap:16px; padding:22px 0; }
  .consultation-faq details>div { padding-right:0; }
}

/* One shared 60-minute calendar, with the purpose explained before booking. */
.refer__intro { max-width:56ch; margin:24px 0 0; color:var(--paper-soft); font-size:16px; line-height:1.85; }
.refer__booking { display:flex; align-items:center; flex-wrap:wrap; gap:16px 24px; margin-top:28px; }
.refer__booking p { flex:1 1 250px; margin:0; font-size:15px; line-height:1.8; color:var(--paper-soft); }
.refer__steps strong { color:var(--paper-ink); }
.booking__options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:32px; }
.booking__option { padding:28px; border:1px solid #c7d5c2; border-radius:20px; background:#fcfefb; }
.booking__label { margin:0 0 12px; font-size:14px; font-weight:600; color:#527047; }
.booking__option h3 { display:flex; align-items:center; flex-wrap:wrap; gap:10px 16px; margin:0 0 16px; font-size:23px; line-height:1.5; }
.booking__option h3 span { font-size:14px; padding:4px 12px; border-radius:99px; background:#eaf0e1; white-space:nowrap; }
.booking__option>p:last-child { margin:0; color:#52634f; font-size:16px; line-height:1.85; }
.toss-study .booking__context { margin-top:24px; font-size:15px; line-height:1.85; }
.study-intro>.study-intro__support { max-width:60ch; margin:24px auto 0; font-size:16px; line-height:1.85; color:#52634f; }
.case-story { display:grid; grid-template-columns:.9fr 1fr 1.6fr; gap:28px; margin:32px 0 0; padding-top:24px; border-top:1px solid #78936c55; }
.case-story>div { min-width:0; }
.case-story dt { margin:0 0 8px; font-size:13px; color:#b6c9ac; font-weight:600; }
.case-story dd { margin:0; font-size:16px; line-height:1.8; color:#e3eadf; }
.showcase--bni .case-story dt { color:#527047; }
.showcase--bni .case-story dd { color:#30482f; }
.loop-screen { position:relative; }
.demo-play { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); align-items:center; gap:12px; min-height:48px; padding:14px 22px; border:1px solid #c7d5c2; border-radius:99px; background:#fcfefb; color:#284c34; box-shadow:0 4px 24px #10221840; font:600 16px/1.4 var(--font-body); white-space:nowrap; cursor:pointer; }
.demo-play:not([hidden]) { display:inline-flex; }
.demo-play:hover { background:#eaf0e1; }
.demo-player { display:block; width:100%; height:auto; aspect-ratio:16/9; border:0; background:#102218; }
.showcase--playing .loop-note { display:none; }
.showcase--playing .loop-window { transform:none !important; }
@media (max-width:899px) {
  .case-story { grid-template-columns:1fr; gap:18px; margin-top:24px; }
  .case-story dt { font-size:14px; margin-bottom:4px; }
}
@media (min-width:900px) {
  .toss-study .work-scene { top:550px; }
  .study-motion .toss-study .work-scene { top:max(54%,390px); }
}
@media (max-width:600px) {
  .vision__pin { height:850px; }
  .vision__sub { font-size:16px; line-height:1.8; }
  .vision__actions { gap:16px; flex-wrap:wrap; }
  .study-btn { font-size:15px; padding:12px 18px; gap:16px; }
  .study-text-link { display:inline-flex; align-items:center; min-height:44px; font-size:15px; }
  .vision__booking-note { font-size:14px; }
  .work-scene { top:470px; }
  .study-intro__row { font-size:15px; line-height:1.8; gap:12px; }
  .study-intro__row a { display:inline-flex; align-items:center; min-height:44px; }
  .selected-works__head>p:last-child, .showcase__head p:last-child { font-size:16px; line-height:1.8; }
  .showcase__foot { flex-wrap:wrap; font-size:14px; line-height:1.7; }
  .showcase__foot>a { font-size:14px; }
  .refer__do, .refer__price, .refer__steps p, .refer__ask-a { font-size:16px; }
  .refer__flow-h { font-size:16px; line-height:1.8; }
  .booking__options { grid-template-columns:1fr; gap:16px; }
  .booking__option { padding:22px; }
  .booking__option h3 { font-size:22px; }
  .toss-study .booking__alt { font-size:15px; overflow-wrap:anywhere; }
}

/* Keep the explanatory caption outside the animated illustration. */
.vision-caption { margin:16px 24px 0; color:#52634f; font-size:14px; line-height:1.8; text-align:center; }
.vision__foot>span:last-child { margin-left:auto; }
