
:root{
    --tp-bg:#f6f4ef;
    --tp-paper:#ffffff;
    --tp-paper-2:#fcfaf5;
    --tp-text:#211d16;
    --tp-muted:#655b4d;
    --tp-border:rgba(33,29,22,.12);
    --tp-shadow:0 24px 64px rgba(31,24,15,.12);
    --tp-shadow-soft:0 14px 36px rgba(31,24,15,.08);
    --tp-accent:#c08c1d;
    --tp-accent-2:#d8b469;
    --tp-accent-3:#f0e0b1;
    --tp-dark:#231d14;
    --tp-dark-2:#16110b;
    --tp-shell:1180px;
    --tp-radius:28px;
    --tp-ease:cubic-bezier(.2,.7,.2,1);
}

html{scroll-behavior:smooth}
body{
    margin:0;
    color:var(--tp-text);
    background:
        radial-gradient(circle at top left, rgba(192,140,29,.12), transparent 24%),
        radial-gradient(circle at 100% 20%, rgba(216,180,105,.16), transparent 22%),
        linear-gradient(180deg, #fff 0%, var(--tp-bg) 100%);
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Helvetica,Arial,"Noto Sans JP",sans-serif;
    line-height:1.75;
    overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}
button{font:inherit}
.tp-shell{width:min(calc(100% - 32px), var(--tp-shell));margin-inline:auto}

.tp-site-header{
    position:sticky;top:0;z-index:70;
    background:rgba(255,255,255,.78);
    backdrop-filter:blur(18px);
    border-bottom:1px solid rgba(33,29,22,.06);
    transition:.3s var(--tp-ease);
}
.tp-site-header.is-scrolled{
    background:rgba(255,255,255,.92);
    box-shadow:0 10px 30px rgba(25,20,13,.08);
}
.tp-header-inner{
    display:grid;
    grid-template-columns:auto 1fr auto auto;
    gap:20px;
    align-items:center;
    min-height:78px;
}
.tp-brand-logo{
    display:inline-flex;
    align-items:center;
}
.tp-brand-logo img{
    width:auto;
    max-height:62px;
    object-fit:contain;
}
.tp-brand-text{
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    font-size:.88rem;
    white-space:nowrap;
}
.tp-menu-toggle{
    display:none;
    width:44px;height:44px;
    border:1px solid rgba(33,29,22,.14);
    border-radius:50%;
    background:#fff;
    padding:0;
    position:relative;
}
.tp-menu-toggle span{
    position:absolute;left:11px;right:11px;height:2px;
    background:var(--tp-text);border-radius:99px;transition:.25s var(--tp-ease);
}
.tp-menu-toggle span:nth-child(1){top:14px}
.tp-menu-toggle span:nth-child(2){top:21px}
.tp-menu-toggle span:nth-child(3){top:28px}
.tp-menu-toggle.is-active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.tp-menu-toggle.is-active span:nth-child(2){opacity:0}
.tp-menu-toggle.is-active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.tp-mini-nav{
    display:flex;justify-content:center;gap:24px;align-items:center;
    font-size:.92rem;color:var(--tp-muted);min-width:0;
}
.tp-mini-nav a{
    position:relative;padding:6px 0;white-space:nowrap;
}
.tp-mini-nav a::after{
    content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
    background:var(--tp-accent);transform:scaleX(0);transform-origin:left;
    transition:transform .25s var(--tp-ease);
}
.tp-mini-nav a:hover::after{transform:scaleX(1)}

.tp-button{
    display:inline-flex;align-items:center;justify-content:center;gap:10px;
    min-height:54px;padding:0 24px;border-radius:999px;
    border:1px solid transparent;font-weight:800;letter-spacing:.03em;
    transition:transform .25s var(--tp-ease), box-shadow .25s var(--tp-ease), background .25s var(--tp-ease), border-color .25s var(--tp-ease), color .25s var(--tp-ease);
}
.tp-button:hover{transform:translateY(-2px)}
.tp-button-primary{
    background:linear-gradient(135deg, var(--tp-accent), #d6a33c);
    color:#fff;box-shadow:0 16px 34px rgba(192,140,29,.28);
}
.tp-button-ghost{
    background:#fff;border-color:rgba(33,29,22,.12);color:var(--tp-text)
}
.tp-button-dark{
    background:var(--tp-dark);color:#fff
}
.tp-button-small{min-height:44px;padding:0 18px;font-size:.88rem}

.tp-hero{
    position:relative;padding:clamp(46px, 8vw, 92px) 0 clamp(60px, 10vw, 120px);overflow:hidden;
}
.tp-hero::before,
.tp-hero::after{
    content:"";position:absolute;border-radius:50%;filter:blur(8px);pointer-events:none;
}
.tp-hero::before{
    width:420px;height:420px;right:-130px;top:90px;
    background:radial-gradient(circle, rgba(192,140,29,.18), rgba(192,140,29,0));
}
.tp-hero::after{
    width:260px;height:260px;left:-70px;bottom:10px;
    background:radial-gradient(circle, rgba(216,180,105,.14), rgba(216,180,105,0));
}
.tp-hero-grid{
    display:grid;grid-template-columns:1.03fr .97fr;gap:44px;align-items:center
}
.tp-overline,.tp-section-kicker{
    margin:0 0 14px;font-size:.78rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--tp-accent)
}
.tp-hero-title,.tp-copy-block h2,.tp-final-copy h2,.tp-generic-content h1,.tp-intro-card h2{
    margin:0;line-height:1.08;letter-spacing:.01em;
    font-family:Georgia,"Times New Roman","Noto Serif JP",serif;
}
.tp-hero-title{font-size:clamp(2.65rem, 5vw, 5.15rem)}
.tp-hero-copy p{margin:0}
.tp-hero-text{margin-top:22px;color:var(--tp-muted);font-size:1.08rem;max-width:40rem}
.tp-hero-coach{margin-top:22px !important;font-weight:800;font-size:1.08rem}
.tp-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.tp-badge{
    display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border-radius:999px;
    background:rgba(255,255,255,.86);border:1px solid rgba(192,140,29,.24);box-shadow:var(--tp-shadow-soft);
    font-size:.84rem;font-weight:800
}
.tp-hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.tp-hero-note{margin-top:14px !important;color:var(--tp-muted);font-size:.95rem}
.tp-hero-visual{position:relative;min-height:680px}
.tp-hero-image-card,
.tp-hero-secondary-card,
.tp-image-panel,
.tp-gallery-item,
.tp-showcase-media,
.tp-future-image{
    overflow:hidden;background:#ddd;box-shadow:var(--tp-shadow)
}
.tp-hero-image-card{
    border-radius:38px;aspect-ratio:4/5;will-change:transform
}
.tp-hero-image-card img,
.tp-hero-secondary-card img,
.tp-image-panel img,
.tp-gallery-item img,
.tp-future-image img{
    width:100%;height:100%;object-fit:cover;transition:transform .65s var(--tp-ease)
}
.tp-hero-image-card:hover img,
.tp-hero-secondary-card:hover img,
.tp-image-panel:hover img,
.tp-gallery-item:hover img,
.tp-future-image:hover img{transform:scale(1.05)}
.tp-hero-secondary-card{
    position:absolute;left:-40px;bottom:18px;width:min(42%, 270px);aspect-ratio:4/5;border-radius:24px;border:10px solid #fff;will-change:transform
}
.tp-hero-stamp{
    position:absolute;right:-6px;bottom:30px;padding:18px 22px;border-radius:20px;
    background:rgba(35,29,20,.94);color:#fff;display:grid;gap:4px;
    box-shadow:var(--tp-shadow);text-transform:uppercase;letter-spacing:.1em
}
.tp-hero-stamp span{font-size:.7rem;opacity:.7}
.tp-hero-stamp strong{font-size:1rem;line-height:1}

.tp-section{position:relative;padding:clamp(72px, 10vw, 122px) 0}
.tp-section-paper{background:rgba(255,255,255,.58)}
.tp-section-light{background:transparent}
.tp-section-dark{
    background:linear-gradient(180deg, var(--tp-dark) 0%, var(--tp-dark-2) 100%);
    color:#fff;
}
.tp-section-results{
    background:
        linear-gradient(180deg, rgba(216,180,105,.15) 0%, rgba(255,255,255,.65) 100%);
}
.tp-section-flow{
    background:linear-gradient(180deg, rgba(255,255,255,.52), rgba(216,180,105,.1));
}
.tp-section-pricing{
    background:linear-gradient(180deg, rgba(255,255,255,.9), rgba(240,224,177,.26));
}
.tp-section-grid{
    display:grid;grid-template-columns:110px minmax(0, 1fr);gap:22px
}
.tp-section-label{
    writing-mode:vertical-rl;text-orientation:mixed;display:flex;align-items:flex-start;justify-content:flex-start;
    color:rgba(33,29,22,.28);font-size:.85rem;letter-spacing:.18em;font-weight:800;text-transform:uppercase
}
.tp-section-label-light{color:rgba(255,255,255,.24)}
.tp-section-main{min-width:0}
.tp-two-col{display:grid;grid-template-columns:minmax(0, 1fr) minmax(320px, 460px);gap:38px;align-items:center}
.tp-two-col-reverse{grid-template-columns:minmax(320px, 460px) minmax(0, 1fr)}
.tp-copy-block h2,.tp-intro-card h2,.tp-final-copy h2,.tp-generic-content h1{font-size:clamp(2rem, 3.6vw, 3.35rem)}
.tp-copy-block p{margin:0 0 16px}
.tp-copy-block-light,.tp-copy-block-light p{color:rgba(255,255,255,.9)}
.tp-copy-block-light h2{color:#fff}
.tp-center{text-align:center}
.tp-lead{font-size:1.1rem;color:var(--tp-muted)}
.tp-copy-block-light .tp-lead{color:rgba(255,255,255,.74)}
.tp-image-panel{border-radius:30px;aspect-ratio:4/5}
.tp-image-panel-tall{aspect-ratio:3/4}
.tp-image-panel-portrait{aspect-ratio:4/5}
.tp-image-panel-shadow{box-shadow:0 30px 64px rgba(0,0,0,.28)}
.tp-accent-box{
    margin:22px 0;padding:22px 24px;border-radius:22px;
    background:linear-gradient(135deg, rgba(192,140,29,.12), rgba(216,180,105,.2));
    border:1px solid rgba(192,140,29,.22);font-weight:700
}
.tp-copy-block-light .tp-accent-box{
    background:linear-gradient(135deg, rgba(216,180,105,.16), rgba(255,255,255,.08));
    border-color:rgba(255,255,255,.16)
}

.tp-intro-card{
    position:relative;padding:48px;border-radius:32px;background:#fff;border:1px solid rgba(33,29,22,.08);box-shadow:var(--tp-shadow)
}
.tp-intro-card::before{
    content:"";position:absolute;left:22px;top:22px;width:72px;height:4px;border-radius:999px;
    background:linear-gradient(90deg, var(--tp-accent), rgba(192,140,29,0))
}
.tp-intro-copy p:last-child{margin-bottom:0}

.tp-check-list,.tp-point-list{
    list-style:none;padding:0;margin:0;display:grid;gap:12px
}
.tp-check-list li,.tp-point-list li{
    position:relative;padding:14px 18px 14px 52px;border-radius:18px;background:#fff;border:1px solid rgba(33,29,22,.08);box-shadow:var(--tp-shadow-soft)
}
.tp-check-list li::before,.tp-point-list li::before{
    content:"";position:absolute;left:18px;top:50%;transform:translateY(-50%);
    width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg, var(--tp-accent), var(--tp-accent-2));
    box-shadow:0 8px 18px rgba(192,140,29,.25)
}
.tp-check-list li::after,.tp-point-list li::after{
    content:"";position:absolute;left:26px;top:50%;width:5px;height:9px;
    border-right:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-62%) rotate(45deg)
}
.tp-copy-block-light .tp-check-list li,.tp-copy-block-light .tp-point-list li{
    background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.1);box-shadow:none
}
.tp-check-list-2col{grid-template-columns:repeat(2, minmax(0, 1fr))}
.tp-point-list li{
    background:var(--tp-paper-2)
}
.tp-mini-stack{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:14px;margin-top:24px}
.tp-mini-card{
    padding:18px 16px;border-radius:20px;background:rgba(255,255,255,.1);
    border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px)
}

.tp-future-grid{
    display:grid;grid-template-columns:minmax(0, 1fr) minmax(260px, 340px) minmax(0, 1fr);gap:22px;align-items:stretch
}
.tp-future-card{
    padding:28px;border-radius:30px;background:#fff;border:1px solid rgba(33,29,22,.08);box-shadow:var(--tp-shadow);transition:transform .3s var(--tp-ease), box-shadow .3s var(--tp-ease)
}
.tp-future-card-bad{background:linear-gradient(180deg, #fff 0%, #fbf6ec 100%)}
.tp-future-card-good{background:linear-gradient(180deg, #fffdf7 0%, #fff 100%)}
.tp-future-card h3,.tp-audience-card h3,.tp-flow-card h3,.tp-reason-card h3{margin:0 0 14px;font-size:1.35rem}
.tp-future-card p:last-child{margin-bottom:0}
.tp-chip{
    display:inline-flex;align-items:center;justify-content:center;
    min-width:52px;height:34px;padding:0 12px;border-radius:999px;
    font-size:.8rem;font-weight:800;background:rgba(192,140,29,.12);color:var(--tp-accent);margin-bottom:16px
}
.tp-future-image{border-radius:32px;min-height:100%}

.tp-reasons-grid{
    display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:18px
}
.tp-reason-card{
    position:relative;padding:28px;border-radius:30px;background:#fff;border:1px solid rgba(33,29,22,.08);box-shadow:var(--tp-shadow-soft);
    transition:transform .3s var(--tp-ease), box-shadow .3s var(--tp-ease);
    transform-style:preserve-3d;
}
.tp-reason-card:hover,.tp-flow-card:hover,.tp-audience-card:hover,.tp-future-card:hover{
    box-shadow:0 28px 50px rgba(31,24,15,.14)
}
.tp-reason-no,.tp-flow-no{
    display:inline-flex;align-items:center;justify-content:center;
    width:54px;height:54px;border-radius:50%;background:linear-gradient(135deg, var(--tp-accent), var(--tp-accent-2));
    color:#fff;font-weight:800;margin-bottom:20px;box-shadow:0 14px 30px rgba(192,140,29,.24)
}

.tp-small-note{margin-top:18px !important;color:rgba(255,255,255,.72)}
.tp-inline-actions{margin-top:24px}

.tp-results-top{
    display:grid;grid-template-columns:minmax(0, 1fr) 310px;gap:26px;align-items:start;margin-bottom:28px
}
.tp-results-stats{display:grid;gap:14px}
.tp-stat-card{
    padding:24px;border-radius:28px;background:#fff;border:1px solid rgba(33,29,22,.08);box-shadow:var(--tp-shadow-soft)
}
.tp-stat-card span{
    display:block;font-size:2rem;font-weight:800;color:var(--tp-accent);line-height:1
}
.tp-stat-card strong{display:block;margin-top:8px;font-size:1rem}
.tp-gallery-grid{
    display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:18px
}
.tp-gallery-item{
    border-radius:24px;aspect-ratio:4/3
}
.tp-gallery-item-large{aspect-ratio:16/10}

.tp-career-line{
    margin:20px 0;padding:20px 22px;border-radius:24px;background:#fff;border:1px solid rgba(33,29,22,.08);box-shadow:var(--tp-shadow-soft);font-weight:700
}

.tp-audience-grid{
    display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:18px
}
.tp-audience-card{
    padding:28px;border-radius:30px;background:#fff;border:1px solid rgba(33,29,22,.08);box-shadow:var(--tp-shadow-soft)
}
.tp-audience-card-muted{
    background:linear-gradient(180deg, #faf7ef 0%, #fff 100%)
}
.tp-section-footnote{
    margin:24px 0 0;font-weight:700;color:var(--tp-muted);text-align:center
}

.tp-showcase-side-grid{
    display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:16px
}
.tp-showcase-side-grid .tp-gallery-item{aspect-ratio:3/4}

.tp-showcase{display:grid;grid-template-columns:minmax(0, 1.1fr) minmax(320px, .9fr);gap:20px;align-items:start}
.tp-showcase-media{
    border-radius:30px;min-height:300px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)
}
.tp-showcase-video,.tp-showcase-embed iframe,.tp-showcase-embed video{
    display:block;width:100%;height:100%;aspect-ratio:16/9;border:0
}
.tp-showcase-placeholder{
    height:100%;min-height:300px;display:grid;place-items:center;text-align:center;padding:32px;color:rgba(255,255,255,.74)
}
.tp-showcase-placeholder span{
    display:inline-flex;min-width:92px;height:36px;align-items:center;justify-content:center;
    border-radius:999px;background:rgba(216,180,105,.22);font-size:.8rem;font-weight:800;letter-spacing:.16em;
    margin:0 auto 16px
}
.tp-showcase-grid{
    display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:16px
}
.tp-showcase-grid .tp-gallery-item{aspect-ratio:4/3}

.tp-flow-grid{
    display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:16px
}
.tp-flow-card{
    padding:28px;border-radius:28px;background:#fff;border:1px solid rgba(33,29,22,.08);box-shadow:var(--tp-shadow-soft);transition:transform .3s var(--tp-ease), box-shadow .3s var(--tp-ease)
}
.tp-flow-card p{margin:0;color:var(--tp-muted)}

.tp-pricing-panel{
    max-width:760px;padding:40px 42px;border-radius:34px;background:#fff;border:1px solid rgba(33,29,22,.08);box-shadow:var(--tp-shadow)
}
.tp-price{
    font-family:Georgia,"Times New Roman","Noto Serif JP",serif;
    font-size:clamp(2.2rem, 4vw, 3.8rem);line-height:1.1;margin:12px 0 16px;color:var(--tp-accent)
}
.tp-price-note{margin:0 0 20px;color:var(--tp-muted)}
.tp-pricing-actions{margin-top:26px}

.tp-faq-list{display:grid;gap:14px}
.tp-faq-item{
    border-radius:24px;border:1px solid rgba(33,29,22,.08);background:#fff;box-shadow:var(--tp-shadow-soft);overflow:hidden
}
.tp-faq-item summary{
    list-style:none;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;
    padding:22px 24px;font-weight:700;cursor:pointer
}
.tp-faq-item summary::-webkit-details-marker{display:none}
.tp-faq-item summary::after{
    content:"＋";font-size:1.1rem;color:var(--tp-accent)
}
.tp-faq-item[open] summary::after{content:"－"}
.tp-faq-mark{
    width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg, var(--tp-accent), var(--tp-accent-2));color:#fff;font-size:.82rem;font-weight:800
}
.tp-faq-answer{
    display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:flex-start;padding:0 24px 24px;color:var(--tp-muted)
}
.tp-faq-mark-answer{background:rgba(192,140,29,.12);color:var(--tp-accent)}

.tp-final-cta{
    padding:60px 0 110px;background:
        radial-gradient(circle at 20% 20%, rgba(216,180,105,.18), transparent 24%),
        linear-gradient(180deg, rgba(35,29,20,.98), rgba(22,17,11,1));
    color:#fff
}
.tp-final-card{
    position:relative;
    display:grid;
    grid-template-columns:minmax(300px, .95fr) minmax(0, 1.05fr);
    border-radius:38px;
    overflow:hidden;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
    box-shadow:0 30px 60px rgba(0,0,0,.18)
}
.tp-final-card::before{
    content:"";position:absolute;inset:-20% auto auto -10%;width:240px;height:240px;border-radius:50%;
    background:radial-gradient(circle, rgba(216,180,105,.18), rgba(216,180,105,0));z-index:0
}
.tp-final-visual{
    position:relative;min-height:100%;overflow:hidden;background:#111
}
.tp-final-visual::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(90deg, rgba(22,17,11,.08), rgba(22,17,11,.42));
}
.tp-final-visual img{
    width:100%;height:100%;object-fit:cover;min-height:100%;
    transform:scale(1.02);transition:transform .8s var(--tp-ease)
}
.tp-final-card:hover .tp-final-visual img{transform:scale(1.08)}
.tp-final-copy{
    position:relative;padding:48px;z-index:1
}
.tp-final-copy p{margin:0 0 18px;color:rgba(255,255,255,.86)}
.tp-final-actions{margin-top:28px}
.tp-final-copy small{display:block;margin-top:16px;color:rgba(255,255,255,.7);white-space:pre-line}

.tp-floating-cta{
    position:fixed;left:0;right:0;bottom:18px;z-index:65;pointer-events:none
}
.tp-floating-cta__inner{
    width:min(calc(100% - 24px), 780px);margin-inline:auto;
    display:flex;align-items:center;justify-content:space-between;gap:16px;
    padding:14px 18px;border-radius:999px;background:rgba(22,17,11,.94);backdrop-filter:blur(18px);
    box-shadow:0 20px 40px rgba(0,0,0,.22);pointer-events:auto
}
.tp-floating-copy{display:flex;flex-direction:column;min-width:0}
.tp-floating-copy strong{font-size:.95rem;color:#fff}
.tp-floating-copy span{font-size:.82rem;color:rgba(255,255,255,.66)}
.tp-floating-cta a{
    display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:999px;
    background:linear-gradient(135deg, var(--tp-accent), #d6a33c);color:#fff;font-weight:800
}

.tp-site-footer{
    padding:32px 0 110px;background:var(--tp-dark);color:rgba(255,255,255,.7)
}
.tp-footer-inner{
    display:flex;align-items:flex-start;justify-content:space-between;gap:28px
}
.tp-footer-inner p{margin:0 0 6px}
.tp-footer-branding{display:grid;gap:10px;max-width:420px}
.tp-footer-logo{max-height:70px;width:auto;object-fit:contain;filter:drop-shadow(0 8px 20px rgba(0,0,0,.16))}
.tp-footer-brand{font-weight:800;color:#fff}
.tp-footer-links{display:flex;gap:18px;flex-wrap:wrap}
.tp-footer-links a{color:#fff;font-size:.9rem}

.tp-generic-content{padding:80px 0}

[data-reveal]{
    opacity:0;transform:translateY(28px) scale(.985);
    transition:opacity .7s var(--tp-ease), transform .7s var(--tp-ease);
    transition-delay:var(--reveal-delay,0s)
}
[data-reveal].is-visible{opacity:1;transform:none}

@media (max-width: 1180px){
    .tp-hero-grid{grid-template-columns:1fr}
    .tp-hero-visual{min-height:auto;max-width:740px;margin-inline:auto}
    .tp-hero-secondary-card{left:auto;right:18px;bottom:-10px}
    .tp-future-grid{grid-template-columns:1fr}
    .tp-future-image{aspect-ratio:16/10}
    .tp-reasons-grid{grid-template-columns:1fr 1fr}
    .tp-flow-grid{grid-template-columns:1fr 1fr}
    .tp-results-top{grid-template-columns:1fr}
}
@media (max-width: 960px){
    .tp-brand-logo img{max-height:54px}
    .tp-header-inner{grid-template-columns:auto auto 1fr auto}
    .tp-menu-toggle{display:inline-block}
    .tp-mini-nav{
        position:absolute;left:16px;right:16px;top:78px;display:grid;gap:8px;padding:14px;background:#fff;border-radius:20px;
        border:1px solid rgba(33,29,22,.08);box-shadow:var(--tp-shadow-soft);opacity:0;pointer-events:none;transform:translateY(-12px);transition:.25s var(--tp-ease)
    }
    .tp-mini-nav.is-open{opacity:1;pointer-events:auto;transform:none}
    .tp-mini-nav a{padding:8px 4px}
    .tp-header-cta{display:none}
    .tp-section-grid{grid-template-columns:1fr}
    .tp-section-label{display:none}
    .tp-two-col,.tp-two-col-reverse,.tp-showcase,.tp-results-top,.tp-audience-grid{grid-template-columns:1fr}
    .tp-check-list-2col,.tp-mini-stack,.tp-gallery-grid,.tp-showcase-grid,.tp-showcase-side-grid{grid-template-columns:1fr 1fr}
    .tp-copy-block h2,.tp-intro-card h2,.tp-final-copy h2{font-size:clamp(1.9rem, 7vw, 2.8rem)}
    .tp-final-card{grid-template-columns:1fr}
    .tp-final-visual{min-height:320px}
}
@media (max-width: 720px){
    .tp-shell{width:min(calc(100% - 20px), var(--tp-shell))}
    .tp-hero{padding-top:30px}
    .tp-hero-title{font-size:clamp(2.1rem, 10vw, 3.2rem)}
    .tp-hero-visual{margin-top:10px}
    .tp-hero-secondary-card{width:44%;right:10px;bottom:-18px;border-width:8px}
    .tp-intro-card,.tp-pricing-panel,.tp-final-copy,.tp-reason-card,.tp-flow-card,.tp-audience-card,.tp-future-card{padding:24px}
    .tp-copy-block h2,.tp-intro-card h2,.tp-final-copy h2{font-size:clamp(1.8rem, 8vw, 2.4rem)}
    .tp-check-list-2col,.tp-mini-stack,.tp-reasons-grid,.tp-flow-grid,.tp-gallery-grid,.tp-showcase-grid,.tp-showcase-side-grid{grid-template-columns:1fr}
    .tp-flow-grid{gap:14px}
    .tp-future-grid{gap:16px}
    .tp-future-image{aspect-ratio:4/3}
    .tp-floating-cta__inner{
        width:min(calc(100% - 16px), 760px);border-radius:22px;padding:12px 14px
    }
    .tp-floating-copy span{display:none}
    .tp-footer-inner{flex-direction:column}
    .tp-final-visual{min-height:260px}
}
