:root{--ink:#10283a;--navy:#17384d;--paper:#f5f2e9;--white:#fff;--muted:#5d6d75;--line:rgba(16,40,58,.16);--blue:#78bde5;--green:#7bc995;--coral:#ef8d7d;--gold:#e7b85e;--shadow:0 18px 45px rgba(21,47,63,.12);--radius:22px;--max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.8}a{color:inherit}img{max-width:100%}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.7rem 1rem;z-index:99}.site-header{position:sticky;top:0;z-index:20;background:rgba(245,242,233,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.nav{max-width:var(--max);margin:auto;min-height:72px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{text-decoration:none;font-weight:800;letter-spacing:.04em}.brand small{display:block;font-size:.65rem;color:var(--muted);font-weight:500}.nav-links{display:flex;align-items:center;gap:22px}.nav-links a{text-decoration:none;font-size:.9rem;font-weight:700}.nav-links a:hover,.nav-links a[aria-current=page]{color:#2479a7}.menu{display:none;border:1px solid var(--line);border-radius:999px;background:#fff;padding:.55rem .9rem;font:inherit;font-weight:700}.hero{position:relative;overflow:hidden;padding:92px 24px 76px;border-bottom:1px solid var(--line)}.hero-inner{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:64px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:800;color:#357796}.hero h1{font-size:clamp(2.5rem,6vw,5.6rem);line-height:1.1;letter-spacing:-.04em;margin:.2em 0}.hero p{font-size:clamp(1rem,1.8vw,1.25rem);max-width:690px;color:#435760}.orbital{min-height:350px;position:relative}.orb{position:absolute;border-radius:50%;box-shadow:inset -18px -20px 35px rgba(0,0,0,.12),0 20px 40px rgba(23,56,77,.16)}.orb.a{width:190px;height:190px;background:var(--blue);left:12%;top:22%}.orb.b{width:110px;height:110px;background:var(--coral);right:7%;top:5%}.orb.c{width:74px;height:74px;background:var(--gold);right:19%;bottom:4%}.orb.d{width:42px;height:42px;background:var(--green);left:4%;bottom:5%}.orbit{position:absolute;border:1px solid rgba(16,40,58,.25);border-radius:50%;width:330px;height:190px;left:2%;top:22%;transform:rotate(-17deg)}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;text-decoration:none;border-radius:999px;padding:.85rem 1.3rem;background:var(--navy);color:white;font-weight:800;border:1px solid var(--navy);transition:.2s}.button:hover{transform:translateY(-2px);box-shadow:0 9px 24px rgba(16,40,58,.2)}.button.light{background:transparent;color:var(--ink)}.button-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.section{padding:82px 24px}.section.alt{background:#fff}.wrap{max-width:var(--max);margin:auto}.section-head{display:grid;grid-template-columns:.55fr 1fr;gap:50px;margin-bottom:38px}.section h2{font-size:clamp(1.8rem,3.2vw,3rem);line-height:1.25;margin:0}.section-head p{margin:0;color:var(--muted);font-size:1.07rem}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card{display:block;background:rgba(255,255,255,.78);border:1px solid var(--line);border-radius:var(--radius);padding:28px;text-decoration:none;box-shadow:0 4px 18px rgba(23,56,77,.04)}.card h3{margin:.4rem 0;font-size:1.25rem}.card p{margin:.3rem 0;color:var(--muted)}.card .num{font-size:.75rem;font-weight:900;letter-spacing:.12em;color:#3b7b9d}.card.link:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.tone-green{border-top:7px solid var(--green)}.tone-blue{border-top:7px solid var(--blue)}.tone-coral{border-top:7px solid var(--coral)}.tone-gold{border-top:7px solid var(--gold)}.feature{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:center}.lab-panel{min-height:330px;border-radius:28px;background:var(--navy);color:#fff;padding:42px;position:relative;overflow:hidden}.lab-panel .mini-orb{position:absolute;border-radius:50%;opacity:.92}.lab-panel .one{width:100px;height:100px;background:var(--blue);right:14%;top:18%}.lab-panel .two{width:64px;height:64px;background:var(--coral);right:46%;bottom:14%}.lab-panel .three{width:42px;height:42px;background:var(--gold);right:10%;bottom:11%}.lab-panel h2{max-width:500px;position:relative;z-index:2}.kicker{font-size:.8rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#65a6c8}.list{padding:0;list-style:none}.list li{padding:.75rem 0;border-bottom:1px solid var(--line)}.steps{counter-reset:steps;display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.step{counter-increment:steps;padding:22px 18px;border:1px solid var(--line);border-radius:18px;background:#fff}.step:before{content:"0" counter(steps);font-size:.75rem;font-weight:900;color:#4683a3}.metric{font-size:1.8rem;font-weight:900;line-height:1.3}.quote{font-size:clamp(1.4rem,3vw,2.3rem);line-height:1.5;font-weight:800;max-width:850px}.gallery{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.work-card{min-height:240px;border-radius:24px;padding:30px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;text-decoration:none;position:relative;overflow:hidden;background:linear-gradient(145deg,#183d52,#367896)}.work-card:before{content:"";position:absolute;width:160px;height:160px;border-radius:50%;background:rgba(255,255,255,.13);right:-30px;top:-35px}.work-card:nth-child(2){background:linear-gradient(145deg,#7d493b,#d58265)}.work-card:nth-child(3){background:linear-gradient(145deg,#604d24,#d0a442)}.work-card h3,.work-card p{position:relative;margin:.2rem 0}.profile{display:grid;grid-template-columns:.75fr 1.25fr;gap:42px}.portrait{min-height:380px;border-radius:28px;background:linear-gradient(160deg,#214a63,#8ec3d8);position:relative;overflow:hidden}.portrait:after{content:"大西\A秀和";white-space:pre;position:absolute;left:30px;bottom:25px;font-weight:900;font-size:3rem;line-height:.9;color:#fff}.timeline{border-left:2px solid var(--line);padding-left:26px}.timeline p{margin:.2rem 0 1.5rem}.cta{background:var(--navy);color:#fff;border-radius:28px;padding:48px;display:flex;align-items:center;justify-content:space-between;gap:30px}.cta h2{margin:0}.cta p{color:#d5e2e8}.cta .button{background:#fff;color:var(--navy);border-color:#fff;white-space:nowrap}.faq details{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px 20px;margin:10px 0}.faq summary{font-weight:800;cursor:pointer}.site-footer{padding:55px 24px;background:#0c2433;color:#d6e1e5}.footer-inner{max-width:var(--max);margin:auto;display:flex;justify-content:space-between;gap:30px}.footer-links{display:flex;flex-wrap:wrap;gap:16px}.footer-links a{text-decoration:none}.small{font-size:.85rem;color:#81909a}.tag{display:inline-block;padding:.35rem .75rem;border-radius:999px;background:#e5edf0;font-size:.78rem;font-weight:800;margin:.2rem}.center{text-align:center}.page-hero{padding-top:72px}.page-hero h1{font-size:clamp(2.5rem,5vw,4.7rem)}
#archive{scroll-margin-top:72px}
@media(max-width:820px){.menu{display:block}.nav-links{display:none;position:absolute;top:72px;left:0;right:0;background:var(--paper);padding:18px 24px 25px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.nav-links.open{display:flex}.hero{padding-top:62px}.hero-inner,.section-head,.feature,.profile{grid-template-columns:1fr}.orbital{min-height:260px}.grid-3,.grid-4{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr}.cta,.footer-inner{align-items:flex-start;flex-direction:column}.section{padding:62px 20px}}
@media(max-width:520px){.nav{padding:0 18px}.grid-3,.grid-4,.steps{grid-template-columns:1fr}.hero{padding-left:20px;padding-right:20px}.orbital{min-height:225px}.orb.a{width:145px;height:145px}.orbit{width:255px;height:145px}.section{padding:52px 18px}.card{padding:23px}.cta{padding:30px}.lab-panel{padding:30px;min-height:300px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.card{transition:none}}

/* Supplied brand and profile assets */
.brand{display:grid;grid-template-columns:46px auto;grid-template-rows:auto auto;column-gap:11px;align-items:center;line-height:1.15}
.brand::before{content:"";grid-row:1/3;width:46px;height:46px;border-radius:12px;background:url("assets/zappa-torte-logo.jpg") center/cover no-repeat;box-shadow:0 4px 12px rgba(16,40,58,.16)}
.brand small{grid-column:2}
.portrait.has-photo{display:grid;place-items:center;background:radial-gradient(circle at 50% 42%,#f8f4e9 0 27%,transparent 28%),linear-gradient(160deg,#214a63,#8ec3d8)}
.portrait.has-photo::after{display:none}
.portrait.has-photo img{width:min(58%,230px);aspect-ratio:1;border-radius:50%;object-fit:cover;border:7px solid rgba(255,255,255,.9);box-shadow:0 18px 36px rgba(12,36,51,.25)}
.product-guide{display:block;margin:0;border-radius:28px;overflow:hidden;background:#eae7df;border:1px solid var(--line);box-shadow:var(--shadow)}
.product-guide img{display:block;width:100%;height:auto}
.product-guide figcaption{padding:12px 18px;font-size:.85rem;color:var(--muted);background:#fff}
.guide-wide{max-width:980px;margin:38px auto 0}
@media(max-width:520px){.brand{grid-template-columns:40px auto;font-size:.93rem}.brand::before{width:40px;height:40px;border-radius:10px}.portrait.has-photo{min-height:280px}.portrait.has-photo img{width:150px}.product-guide{border-radius:18px}.product-guide figcaption{font-size:.78rem}}

/* Contact: email fallback with optional LIENS integration */
.contact-hero .orbital{min-height:290px}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:start}.integration-slot{margin-top:22px;padding:22px;border:1px dashed rgba(16,40,58,.35);border-radius:18px;background:rgba(255,255,255,.55);display:flex;gap:14px;align-items:flex-start}.integration-slot p{margin:.2rem 0 0;color:var(--muted)}.status-dot{width:13px;height:13px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 6px rgba(231,184,94,.2);margin:8px 3px 0}.direct-mail{margin-top:28px;padding:22px;border-radius:18px;background:var(--navy);color:#fff;display:grid;gap:3px}.direct-mail .num{font-size:.72rem;letter-spacing:.12em;color:#9ec6da;font-weight:900}.direct-mail strong{font-size:1.2rem}.direct-mail a{overflow-wrap:anywhere}.contact-form{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px;box-shadow:var(--shadow)}.contact-form h3{font-size:1.5rem;margin:0 0 8px}.contact-form label{display:grid;gap:7px;font-weight:800;margin-top:18px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font:inherit;color:var(--ink);background:#f4f5f2}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:3px solid rgba(120,189,229,.35);border-color:#357796}.contact-form textarea{resize:vertical}.contact-form .check-row{display:flex;grid-template-columns:auto 1fr;align-items:flex-start;font-weight:500}.contact-form .check-row input{width:auto;margin-top:.55rem}.form-notice{padding:12px 14px;border-left:5px solid var(--gold);background:#fff7df;color:#5b4b20;border-radius:8px}.form-submit{margin-top:24px}.form-helper{font-size:.82rem;color:var(--muted);margin:.7rem 0 0}.contact-choices .card{min-height:190px}
@media(max-width:820px){.contact-layout{grid-template-columns:1fr}.contact-choices{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.contact-choices{grid-template-columns:1fr}.contact-form{padding:23px}}

/* Policy */
.policy-index{display:flex;flex-wrap:wrap;gap:10px}.policy-index a{padding:.65rem 1rem;border:1px solid var(--line);border-radius:999px;text-decoration:none;background:var(--paper);font-weight:800}.policy-index a:hover{background:#e4eef2}.policy-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.policy-contact{margin-top:24px;padding:18px 22px;background:#e6f1f5;border-radius:14px}.policy-contact a{overflow-wrap:anywhere}.policy-updated{text-align:right;color:var(--muted);font-size:.85rem;margin-top:28px}
@media(max-width:700px){.policy-grid{grid-template-columns:1fr}}

/* Puzzle portfolio */
.portfolio-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.portfolio-feature{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 28px rgba(23,56,77,.08)}.portfolio-image,.portfolio-visual{height:230px;background:#dbe6e9;overflow:hidden}.portfolio-image{display:block}.portfolio-image img{width:100%;height:100%;object-fit:cover}.portfolio-image.portrait-work img{object-position:center 24%}.portfolio-image.poster-work{background:#08a8dd}.portfolio-image.poster-work img{object-fit:contain}.text-visual{display:grid;place-items:center;background:radial-gradient(circle at 28% 28%,rgba(255,255,255,.35),transparent 30%),linear-gradient(145deg,#16374b,#d87562);color:#fff}.text-visual span{font-weight:900;font-size:clamp(3.5rem,7vw,6rem);letter-spacing:-.08em;transform:rotate(-4deg)}.portfolio-copy{padding:25px;display:flex;flex-direction:column;flex:1}.portfolio-copy h3{font-size:1.5rem;line-height:1.3;margin:.2rem 0 .7rem}.portfolio-copy h3 small{font-size:.75em}.portfolio-copy>p:not(.work-meta):not(.work-hashtag){color:var(--muted)}.work-meta{margin:0 0 .3rem;color:#357796;font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.work-facts{margin:auto 0 0;padding-top:16px}.work-facts div{display:grid;grid-template-columns:4.5rem 1fr;gap:10px;padding:.38rem 0;border-top:1px solid var(--line)}.work-facts dt{font-size:.78rem;font-weight:900;color:var(--muted)}.work-facts dd{margin:0;font-size:.87rem;font-weight:700}.work-hashtag{font-size:.82rem;font-weight:900;color:#357796;margin:.7rem 0 0}.text-link{display:inline-block;margin-top:15px;color:#236e96;font-weight:800}.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.archive-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;border-top-width:6px}.archive-card h3{font-size:1.25rem;line-height:1.35;margin:.3rem 0 .7rem}.archive-card>p:not(.work-meta){color:var(--muted)}.compact-facts{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0 0;padding:0;list-style:none}.compact-facts li{padding:.25rem .65rem;border-radius:999px;background:#edf2f3;font-size:.75rem;font-weight:800}.source-note{margin-top:24px;padding:16px 20px;border-left:5px solid var(--blue);background:#fff;border-radius:10px}.source-note p{margin:0;color:var(--muted);font-size:.85rem}.works-shelf{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.shelf-card{min-height:230px;border-radius:20px;padding:24px;text-decoration:none;background:linear-gradient(145deg,#16374b,#d87562);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;position:relative}.shelf-card strong,.shelf-card small,.shelf-card .shelf-year{display:block;position:relative}.shelf-card strong{font-size:1.35rem}.shelf-card small{color:rgba(255,255,255,.8)}.shelf-year{font-size:.75rem;font-weight:900;letter-spacing:.12em}.shelf-card.with-image{padding:0;background:#17384d}.shelf-card.with-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.58;transition:.25s}.shelf-card.with-image.poster-shelf img{object-position:center 22%}.shelf-card.with-image>span{position:relative;padding:24px;background:linear-gradient(transparent,rgba(8,26,38,.92))}.shelf-card:hover img{transform:scale(1.03)}
@media(max-width:920px){.portfolio-feature-grid,.archive-grid,.works-shelf{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.portfolio-feature-grid,.archive-grid,.works-shelf{grid-template-columns:1fr}.portfolio-image,.portfolio-visual{height:220px}}

/* AI case studies */
.ai-price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ai-price-card{display:flex;flex-direction:column;min-width:0;padding:26px;border:1px solid var(--line);border-top-width:7px;border-radius:var(--radius);background:#fff}.ai-price-card h3{font-size:1.3rem;line-height:1.4;margin:.35rem 0 .75rem}.ai-price-card>p:not(.ai-price):not(.ai-price-audience){margin:0;color:var(--muted)}.ai-price-audience{margin:0;font-size:.82rem;font-weight:800;color:#357796}.ai-price{margin:auto 0 0;padding:24px 0 18px;display:flex;flex-direction:column;line-height:1.35}.ai-price strong{font-size:clamp(1.45rem,2vw,1.85rem);white-space:nowrap}.ai-price span{font-size:.87rem;color:var(--muted);margin-top:6px}.ai-price-card>a{font-weight:800;color:#236e96;text-underline-offset:3px}.ai-price-note{max-width:850px;margin:22px 0 0;color:#435760;font-size:.94rem}.ai-pricing{scroll-margin-top:72px}
@media(max-width:900px){.ai-price-grid{grid-template-columns:1fr}.ai-price-card{padding:24px}.ai-price{margin-top:0}}
.case-index{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.case-link{display:block;min-height:220px;padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);text-decoration:none;transition:.2s}.case-link:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.case-link>span{font-size:.74rem;font-weight:900;letter-spacing:.14em;color:#357796}.case-link h3{font-size:1.35rem;line-height:1.35;margin:1.1rem 0 .5rem}.case-link p{margin:0;color:var(--muted)}.case-study{scroll-margin-top:70px}.case-label{margin:0 0 12px;color:#357796;font-size:.78rem;font-weight:900;letter-spacing:.15em}.case-study h2{max-width:950px}.case-study h2 small{display:block;margin-top:10px;font-size:.48em;line-height:1.5;color:var(--muted);letter-spacing:0}.case-lead{max-width:900px;margin:28px 0 44px;font-size:1.16rem;color:#435760}.case-columns{display:grid;grid-template-columns:1fr 1fr;gap:46px}.case-columns h3{font-size:1.25rem;margin:0 0 12px}.case-columns p{color:var(--muted)}.case-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.case-list li{position:relative;padding:10px 0 10px 24px;border-bottom:1px solid var(--line)}.case-list li::before{content:"";position:absolute;left:2px;top:1.15rem;width:10px;height:10px;border-radius:50%;background:var(--blue)}#case-tetrazappo .case-list li::before{background:var(--green)}#case-puzzle .case-list li::before{background:var(--coral)}.case-role{display:grid;grid-template-columns:8rem 1fr;gap:8px 18px;margin-top:42px;padding:25px 28px;border-radius:18px;background:var(--navy);color:#fff}.case-role strong{color:#9ec6da}.case-role span{color:#eef5f7}.case-conclusion{margin:26px 0 0;padding:20px 24px;border-left:6px solid var(--gold);background:rgba(231,184,94,.12);font-weight:700}
@media(max-width:820px){.case-index,.case-columns{grid-template-columns:1fr}.case-link{min-height:auto}.case-columns{gap:28px}}
@media(max-width:520px){.case-role{grid-template-columns:1fr;gap:3px}.case-role span+strong{margin-top:12px}.case-lead{font-size:1.05rem;margin-bottom:32px}}

/* Commerce disclosure */
.price-tax{display:inline-block;margin:.25rem 0 0!important;padding:.12rem .55rem;border-radius:999px;background:#e5edf0;color:var(--ink)!important;font-size:.74rem;font-weight:900}.legal-hero .orbital{min-height:290px}.legal-wrap{max-width:900px}.legal-list{margin:0;border-top:1px solid var(--line)}.legal-list>div{display:grid;grid-template-columns:13rem 1fr;gap:30px;padding:25px 0;border-bottom:1px solid var(--line)}.legal-list dt{font-weight:900}.legal-list dd{margin:0;color:#435760}.legal-list a{overflow-wrap:anywhere}.legal-revision{text-align:right;color:var(--muted);font-size:.85rem;margin-top:28px}
@media(max-width:700px){.legal-list>div{grid-template-columns:1fr;gap:5px;padding:21px 0}}

/* 2026-09-23: small questions and AI entrances */
.question-section{padding:64px 24px;background:linear-gradient(90deg,rgba(123,201,149,.13),rgba(120,189,229,.13));border-bottom:1px solid var(--line)}
.question-wrap{max-width:820px;text-align:center}.question-wrap h2{margin:.25rem 0 .65rem}.question-wrap p:last-child{color:var(--muted);font-size:1.05rem}.session-bridge{max-width:820px}.session-bridge p:not(.eyebrow){max-width:720px;color:var(--muted);font-size:1.05rem}.puzzle-note{max-width:var(--max);margin:32px auto 0;text-align:center;color:#435760;font-weight:800;line-height:1.8}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.ai-branches .card{min-height:220px}.relation-summary{max-width:760px;margin:30px auto 0;text-align:center;font-weight:700;color:#435760}.weekday-note{max-width:720px;margin:28px auto 0;text-align:center;color:var(--muted)}
@media(max-width:700px){.grid-2{grid-template-columns:1fr}.question-section{padding:52px 18px}.puzzle-note{padding:0 18px}}

/* TOP page only: 2026-09-23 converged rough implementation */
.top-page{overflow:hidden}.top-hero{position:relative;padding:88px 24px 66px;background:linear-gradient(116deg,#f9f7f0 0%,#f9f7f0 48%,#eef6f5 100%);border-bottom:1px solid var(--line)}.top-hero::after{content:"";position:absolute;right:-7vw;bottom:-8vw;width:30vw;height:30vw;border-radius:50%;background:rgba(120,189,229,.09);pointer-events:none}.top-hero-inner{position:relative;z-index:1;max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:42px}.top-hero-copy h1{max-width:750px;margin:.14em 0 .36em;font-size:clamp(2.9rem,5.5vw,5.25rem);line-height:1.14;letter-spacing:-.055em}.top-hero-question{margin:0;font-size:clamp(1.3rem,2.25vw,1.85rem);font-weight:800;letter-spacing:.02em}.top-hero-support{margin:14px 0 0;color:#53656d;font-size:1.02rem;line-height:1.95}.top-hero-copy .button-row{margin-top:31px}.top-orbital{position:relative;min-height:395px}.top-orb{position:absolute;border-radius:50%;box-shadow:inset -18px -20px 35px rgba(0,0,0,.1),0 20px 38px rgba(23,56,77,.12)}.top-orb-blue{width:178px;height:178px;left:24%;top:30%;background:var(--blue)}.top-orb-green{width:78px;height:78px;right:16%;top:8%;background:var(--green)}.top-orb-coral{width:103px;height:103px;right:8%;bottom:18%;background:var(--coral)}.top-orb-gold{width:54px;height:54px;left:10%;bottom:12%;background:var(--gold)}.top-orbit{position:absolute;border:1px solid rgba(16,40,58,.24);border-radius:50%;pointer-events:none}.top-orbit-one{width:382px;height:208px;left:7%;top:25%;transform:rotate(-17deg)}.top-orbit-two{width:290px;height:154px;left:24%;top:37%;transform:rotate(52deg);border-color:rgba(16,40,58,.12)}.top-thought{position:absolute;display:block;padding:.45rem .75rem;border:1px solid rgba(16,40,58,.3);border-radius:999px;background:rgba(255,255,255,.75);font-size:.77rem;font-weight:800;color:#264354;box-shadow:0 4px 14px rgba(23,56,77,.06);transform:rotate(-4deg)}.top-thought-one{left:7%;top:13%}.top-thought-two{right:1%;top:35%;transform:rotate(6deg)}.top-thought-three{right:17%;bottom:3%;transform:rotate(-8deg)}.top-intro{padding:74px 24px;background:#fff}.top-intro-inner{max-width:var(--max);margin:auto;display:grid;grid-template-columns:.58fr 1.42fr;gap:52px;align-items:start}.top-intro h2{margin:0;font-size:clamp(2rem,3.4vw,3.2rem);line-height:1.3;letter-spacing:-.035em}.top-intro h2+p{max-width:680px;margin:18px 0 0;color:var(--muted);font-size:1.05rem}.top-choose{padding:82px 24px 92px;background:linear-gradient(180deg,#fbfaf6 0%,#f3f6f0 100%);border-top:1px solid rgba(16,40,58,.08)}.top-section-title{max-width:720px;margin:0 auto 34px;text-align:center}.top-section-title h2{margin:.25rem 0 .45rem;font-size:clamp(2rem,3.7vw,3.35rem);line-height:1.25;letter-spacing:-.04em}.top-section-title>p:last-child{margin:0;color:var(--muted)}.top-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.top-choice{display:flex;flex-direction:column;min-height:305px;padding:28px;border:1px solid rgba(16,40,58,.1);border-radius:18px;color:var(--ink);text-decoration:none;box-shadow:0 8px 28px rgba(23,56,77,.05);transition:transform .2s,box-shadow .2s}.top-choice:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.top-choice-coaching{background:linear-gradient(145deg,#edf9f2,#dff3e7)}.top-choice-ai{background:linear-gradient(145deg,#edf8fc,#dceef8)}.top-choice-puzzle{background:linear-gradient(145deg,#fff4ed,#fae7dd)}.top-choice .num{display:block;font-size:.72rem;font-weight:900;letter-spacing:.12em;color:#386a85}.top-choice h3{margin:18px 0 12px;font-size:clamp(1.35rem,2.1vw,1.72rem);line-height:1.38;letter-spacing:-.025em}.top-choice p{margin:0;color:#46606b;font-size:.91rem;line-height:1.8}.top-choice-link{align-self:flex-end;margin-top:auto;padding-top:22px;font-size:.82rem;font-weight:900}.top-tetrazappo{padding:92px 24px;background:#fff}.top-tetrazappo-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}.top-guide{display:block;color:inherit;text-decoration:none}.top-guide figure{margin:0;overflow:hidden;border:1px solid rgba(16,40,58,.12);border-radius:24px;background:#f1efe8;box-shadow:0 13px 30px rgba(23,56,77,.1)}.top-guide img{display:block;width:100%;height:auto}.top-guide figcaption{padding:11px 16px;background:#fff;color:var(--muted);font-size:.8rem}.top-tetrazappo-copy h2{margin:.2rem 0 .6rem;font-size:clamp(2rem,3.4vw,3.15rem);line-height:1.3;letter-spacing:-.04em}.top-tetrazappo-copy>p:not(.eyebrow){margin:0;color:var(--muted);line-height:1.95}.top-tetrazappo-note{display:grid;gap:5px;margin-top:23px;padding:17px 19px;border-left:5px solid var(--blue);border-radius:0 12px 12px 0;background:#eaf6fc}.top-tetrazappo-note strong{font-size:.9rem}.top-tetrazappo-note span{font-size:.82rem;color:#45606c}.top-next{padding:0 24px 86px;background:#fff}.top-next-box{display:flex;align-items:center;justify-content:space-between;gap:34px;padding:42px 48px;border-radius:24px;background:var(--navy);color:#fff}.top-next-box .eyebrow{color:#9bc8dc}.top-next-box h2{margin:.2rem 0 .3rem;font-size:clamp(1.75rem,3vw,2.65rem);line-height:1.35;letter-spacing:-.035em}.top-next-box p{margin:0;color:#d3e0e5}.top-next-box .button{flex:none;background:#fff;color:var(--navy);border-color:#fff;white-space:nowrap}
@media(max-width:820px){.top-hero{padding:66px 20px 52px}.top-hero-inner,.top-intro-inner,.top-tetrazappo-grid{grid-template-columns:1fr}.top-hero-inner{gap:16px}.top-orbital{min-height:285px;max-width:500px;margin:auto;width:100%}.top-intro{padding:58px 20px}.top-intro-inner{gap:15px}.top-choose{padding:62px 20px}.top-choice-grid{grid-template-columns:1fr}.top-choice{min-height:0;padding:26px}.top-choice-link{margin-top:14px;padding-top:0}.top-tetrazappo{padding:62px 20px}.top-tetrazappo-grid{gap:30px}.top-next{padding:0 20px 62px}.top-next-box{align-items:flex-start;flex-direction:column;padding:36px}.top-next-box .button{width:auto}}
@media(max-width:520px){.top-hero{padding-left:18px;padding-right:18px}.top-hero-copy h1{font-size:clamp(2.5rem,11vw,3.35rem)}.top-hero-question{font-size:1.22rem}.top-orbital{min-height:242px}.top-orb-blue{width:133px;height:133px;left:24%;top:31%}.top-orb-green{width:58px;height:58px;right:16%;top:8%}.top-orb-coral{width:76px;height:76px;right:5%;bottom:17%}.top-orb-gold{width:42px;height:42px}.top-orbit-one{width:270px;height:147px;left:5%;top:26%}.top-orbit-two{width:210px;height:112px}.top-thought{font-size:.67rem;padding:.34rem .56rem}.top-intro,.top-choose,.top-tetrazappo{padding-left:18px;padding-right:18px}.top-section-title{text-align:left}.top-next{padding-left:18px;padding-right:18px}.top-next-box{padding:30px}.top-next-box .button{width:100%}}

/* TOP rough: maker section between tetrazappo and the closing entrance. */
.top-maker{padding:0 24px 84px;background:#f8f6ef}.top-maker-grid{display:grid;grid-template-columns:minmax(270px,.82fr) minmax(0,1.18fr);gap:54px;align-items:center;padding:52px 0}.top-maker-photo{position:relative;min-height:325px;border-radius:22px;overflow:hidden;background:linear-gradient(160deg,#1b4c66,#78bde5);box-shadow:0 13px 30px rgba(23,56,77,.12)}.top-maker-photo::after{content:"見方が変わると、\A 問題の形も変わる。";white-space:pre;position:absolute;left:24px;bottom:20px;color:#fff;font-size:1rem;font-weight:800;line-height:1.5;text-shadow:0 2px 11px rgba(12,36,51,.5)}.top-maker-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 28%;opacity:.88}.top-maker-copy h2{margin:.2rem 0 .3rem;font-size:clamp(1.9rem,3.1vw,2.85rem);line-height:1.32;letter-spacing:-.035em}.top-maker-copy>p:not(.eyebrow):not(.top-maker-name){max-width:650px;margin:.5rem 0 0;color:var(--muted);line-height:1.95}.top-maker-name{margin:.35rem 0;font-size:1.08rem;font-weight:800}.top-maker-note{display:block;max-width:400px;margin:22px 0;padding:15px 18px;border-radius:10px;background:#e9f5fb;color:#26495c;font-weight:800;line-height:1.65}.top-maker-copy .button{margin-top:2px}
@media(max-width:820px){.top-maker{padding:0 20px 62px}.top-maker-grid{grid-template-columns:1fr;gap:28px;padding:42px 0}.top-maker-photo{min-height:300px;max-width:500px}.top-maker-copy .button{width:auto}}
@media(max-width:520px){.top-maker{padding-left:18px;padding-right:18px}.top-maker-grid{padding:34px 0}.top-maker-photo{min-height:270px}.top-maker-copy .button{width:100%}}

/* TOP: the next place to meet Zappa Torte. Add future plans as top-event articles. */
.top-now{padding:58px 24px 62px;background:#17384d;color:#fff}
.top-now-inner{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:55px;align-items:center}
.top-now .eyebrow{color:#aad3e8}
.top-now h1{font-size:clamp(2.25rem,4.5vw,4rem);line-height:1.25;letter-spacing:-.04em;margin:.2em 0 .4em}
.top-now-heading>p:last-child{color:#d5e2e8;margin:0}
.top-events{display:grid;gap:14px}
.top-event{padding:29px 34px;background:#fff;color:var(--ink);border-radius:22px;border-left:8px solid var(--gold)}
.top-event-date{display:flex;flex-wrap:wrap;gap:10px;align-items:center;color:#357796;font-size:.88rem;font-weight:800;margin:0}
.top-event-date time{font-size:1.2rem;color:var(--ink)}
.top-event-date span{padding:.15rem .6rem;border-radius:999px;background:#eaf4f6}
.top-event h2{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.3;margin:.5rem 0}
.top-event>p:not(.top-event-date){margin:.3rem 0 .8rem;color:var(--muted)}
.top-event>a{font-weight:800;color:#236e96}
.top-hero-copy h2{max-width:750px;margin:.14em 0 .36em;font-size:clamp(2.9rem,5.5vw,5.25rem);line-height:1.14;letter-spacing:-.055em}
@media(max-width:820px){.top-now{padding:46px 20px}.top-now-inner{grid-template-columns:1fr;gap:26px}}
@media(max-width:520px){.top-now{padding:40px 18px}.top-event{padding:23px 24px}.top-hero-copy h2{font-size:clamp(2.5rem,11vw,3.35rem)}}
.top-event-poster{margin:18px 0 12px}
.top-event-poster img{display:block;width:100%;max-width:360px;height:auto}

/* TOP: visual signposts for QR visitors arriving from AI flyers. */
.top-ai-flyers{display:flex;gap:10px;margin:18px 0 0}.top-ai-flyers a{display:block;width:clamp(78px,8vw,104px);border-radius:7px;overflow:hidden;box-shadow:0 7px 16px rgba(23,56,77,.15);transition:transform .2s,box-shadow .2s}.top-ai-flyers a:hover{transform:translateY(-3px);box-shadow:0 11px 22px rgba(23,56,77,.2)}.top-ai-flyers img{display:block;width:100%;height:auto}
@media(max-width:820px){.top-ai-flyers a{width:104px}}
@media(max-width:520px){.top-ai-flyers{gap:12px}.top-ai-flyers a{width:calc((100% - 12px)/2);max-width:150px}}

/* AI course flyers */
.top-choice-thumbnail{display:flex;align-items:center;justify-content:center;min-height:148px;margin:18px 0 0}.top-choice-thumbnail img{display:block;width:100%;max-height:148px;object-fit:contain;border-radius:7px}.top-choice-ai .top-ai-flyers{min-height:148px;align-items:center}
@media(max-width:520px){.top-choice-thumbnail,.top-choice-ai .top-ai-flyers{min-height:212px}.top-choice-thumbnail img{max-height:212px}}
.ai-flyers{padding-top:64px;padding-bottom:64px}.flyer-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:start;max-width:920px;margin:auto}.flyer-single{max-width:560px;margin:auto}.flyer-pair img,.flyer-single img{display:block;width:100%;height:auto;border-radius:8px;box-shadow:0 14px 34px rgba(23,56,77,.12)}
@media(max-width:700px){.flyer-pair{grid-template-columns:1fr;max-width:560px;gap:28px}.ai-flyers{padding-top:52px;padding-bottom:52px}}
