/* Official LP: bounded refinement, 2026-10-20. Existing brand tokens are retained. */
.demo-library.demo-exhibit{margin-top:40px;padding:12px 0 0;border:0;scroll-margin-top:100px}
.demo-exhibit-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px;padding:20px 0;list-style:none;cursor:pointer}
.demo-exhibit-summary::-webkit-details-marker{display:none}
.demo-exhibit-summary>span:first-child{display:grid;gap:6px;min-width:0}
.demo-exhibit-summary strong{font-size:1rem;line-height:1.6;font-weight:700}
.demo-exhibit-summary>span>span{font-size:.8125rem;line-height:1.8;color:#416A60}
.demo-exhibit-summary>.disclosure-sign{flex-shrink:0}
.demo-exhibit-summary:focus-visible,.flow-procedure>summary:focus-visible{outline:3px solid #0F4C3F;outline-offset:4px}
.demo-exhibit-body{padding:12px 0 24px}
.demo-exhibit .demo-intro{max-width:720px;gap:12px;margin-bottom:24px}
.demo-exhibit .demo-intro h3{font-size:clamp(1.5rem,3.3vw,2rem);font-weight:700;line-height:1.5;letter-spacing:0}
.demo-exhibit .demo-intro h3>span{display:inline-block}
.demo-exhibit .demo-intro p{font-size:.875rem;line-height:1.9}
.demo-selector{display:flex;gap:8px;margin-bottom:0}
.demo-selector button{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-width:0;min-height:86px;padding:10px 2px 16px;background:none;border:0;border-radius:0;color:#0F4C3F;font-size:.875rem;font-weight:700;line-height:1.5;cursor:pointer}
.demo-selector button::after{content:"";position:absolute;left:8px;right:8px;bottom:0;height:3px;background:transparent;border-radius:0}
.demo-selector button[aria-selected="true"]::after{background:#FF6B35}
.demo-selector button[aria-selected="true"]{color:#0F4C3F}
.demo-selector button:hover{background:#fff}
.demo-selector button:focus-visible,.demo-exhibit button:focus-visible,.guidance-directory>summary:focus-visible{outline:3px solid #0F4C3F;outline-offset:4px}
.demo-selector-art{display:flex;align-items:center;justify-content:center;width:65px;height:29px;pointer-events:none}
.demo-selector-art svg{display:block;height:29px;width:65px}
.demo-selector-art .selector-digit{fill:#fff;font-size:15px;font-weight:700}
.demo-stage{background:#fff;border-radius:0 0 20px 20px;padding:28px 20px 24px}
.demo-panel{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:center;min-width:0}
.demo-panel[hidden]{display:none!important}
.demo-panel-copy{min-width:0;order:2}
.demo-panel-kicker{font-size:.75rem;font-weight:700;letter-spacing:0;margin-bottom:10px;color:#416A60}
.demo-panel-copy h4{font-size:clamp(1.375rem,2.8vw,1.875rem);font-weight:700;letter-spacing:0;line-height:1.55;margin:0 0 12px}
.demo-panel-copy h4 span{display:inline-block}
.demo-panel-description{font-size:.875rem;line-height:1.9;max-width:32em}
.demo-use{font-size:.8125rem;line-height:1.8;color:#416A60;margin-top:12px}
.demo-exhibit .toy-details{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:16px;padding:8px 16px;background:#F3FAF5;border:2px solid #0F4C3F;border-radius:999px;box-shadow:none;color:#0F4C3F;font-weight:700;font-size:.875rem;text-decoration:none;cursor:pointer}
.demo-exhibit .toy-details:hover{background:#E4EEE9}
.demo-workbench{min-width:0;width:100%;order:1}
.deck-workbench{text-align:center}
#cardToyStage{min-height:0;padding:8px 8px 12px;perspective:1000px}
.message-card{position:relative;width:min(100%,280px);min-height:calc(149px + 14rem);margin:0 auto;perspective:1000px;isolation:isolate}
.message-card::before,.message-card::after{content:"";position:absolute;inset:3px 0 -3px;border:2px solid #0F4C3F;border-radius:18px;background:#F3FAF5;z-index:-1;transform:rotate(-4deg)}
.message-card::after{transform:rotate(3deg);background:#fff}
.message-card-flipper{position:relative;display:grid;min-height:inherit;transform-style:preserve-3d;transition:transform .68s cubic-bezier(.25,.8,.25,1);will-change:transform}
.message-card-hitarea{position:absolute;inset:0;z-index:2;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:18px;background:transparent;cursor:pointer}
.message-card-hitarea[aria-disabled="true"]{cursor:wait}
.message-card.is-revealed .message-card-flipper{transform:rotateY(180deg)}
.message-card-face{position:relative;grid-area:1/1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:12px;padding:22px 18px;border:2px solid #0F4C3F;border-radius:18px;background:#fff;color:#0F4C3F;box-shadow:5px 5px 0 #0F4C3F;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}
.message-card-back{background:#FF6B35}
.message-card-front{transform:rotateY(180deg)}
.message-card-face[aria-hidden="true"]{pointer-events:none}
.message-card-overline{font-size:.8125rem;letter-spacing:0;font-weight:700;line-height:1.4}
.message-card-art{width:100%;height:130px;display:block;flex-shrink:0}
.message-card-back .message-card-art{height:115px}
.message-card-title{display:block;font-size:clamp(1.35rem,5.8vw,1.625rem);font-weight:700;line-height:1.55;letter-spacing:0}
.message-card-back .message-card-title{font-size:2rem;line-height:1.4}
.message-card-title>span{display:block}
.message-card-signature{font-size:.8125rem;letter-spacing:0;font-weight:600;line-height:1.5}
.message-card-progress{font-size:.8125rem;font-variant-numeric:tabular-nums;color:#416A60;line-height:1.6;margin:13px 0 12px;min-height:21px}
.deck-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 18px;min-height:50px}
.deck-draw-button{min-height:48px;min-width:170px;max-width:100%;padding:11px 18px;border-radius:10px;background:#FF6B35;color:#fff;font-size:.875rem;font-weight:700;cursor:pointer}
.deck-draw-button:disabled{cursor:wait;transform:none;box-shadow:3px 3px 0 #0F4C3F}
.deck-reset-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:6px 12px;background:#F3FAF5;border:0;border-radius:8px;color:#0F4C3F;font-size:.875rem;cursor:pointer}
.demo-footnote{font-size:.8125rem;line-height:1.8;color:#416A60;margin-top:18px}
.demo-invitation{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 28px;margin-top:24px;font-size:.875rem;line-height:1.9}
.demo-invitation>p{flex:1 1 420px;max-width:680px}
.demo-consult{display:inline-flex;align-items:center;justify-content:center;min-height:48px;max-width:100%;padding:12px 20px;border:2px solid #0F4C3F;border-radius:12px;background:#FF6B35;box-shadow:3px 3px 0 #0F4C3F;color:#fff;font-size:.875rem;font-weight:700;cursor:pointer}
.deck-announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.dial-workbench{display:flex;flex-direction:column;align-items:center;gap:20px;min-height:350px;justify-content:center}
.dial-caption{font-size:.875rem;font-weight:700;line-height:1.7;text-align:center}
#dialCardBadge{display:inline-block;padding:4px 12px;border:1.5px solid #0F4C3F;border-radius:999px;font-size:.8125rem;line-height:1.5;background:#F3FAF5;color:#0F4C3F}
.dial-reels{display:flex;gap:12px;justify-content:center}
.dial-reel{display:flex;flex-direction:column;align-items:center}
.dial-reel .dial-control{display:flex;align-items:center;justify-content:center;width:54px;min-height:44px;border:2px solid #0F4C3F;border-radius:10px;background:#fff;color:#0F4C3F;font-size:.875rem;line-height:1}
.dial-reel .dial-digit{display:flex;align-items:center;justify-content:center;width:54px;height:64px;margin:8px 0;background:#0F4C3F;color:#fff;font-size:2.25rem;line-height:1;font-weight:700;border-radius:8px}
.dial-workbench .demo-reset{min-height:44px;padding:4px 0;border:0;background:none;box-shadow:none;text-decoration:underline;text-underline-offset:5px;font-size:.875rem;color:#0F4C3F}
#dialUnlockActionArea{min-height:83px;width:100%;display:flex;align-items:center;justify-content:center;text-align:center;font-size:.875rem;line-height:1.8}
#dialUnlockActionArea>span{border:0!important;background:none!important;font-size:.875rem!important;padding:0!important}
.dial-unlocked-message{width:100%;border-top:2px solid #0F4C3F;padding-top:16px}
.dial-unlocked-message strong{font-size:1.25rem;font-weight:700}
.dial-unlocked-message p{margin-top:4px;font-size:.875rem}
.sequence-workbench{padding:22px 18px;border-radius:16px;background:#0F4C3F;color:#fff;text-align:center}
.sequence-workbench .sequence-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}
.sequence-workbench #cardGameTimer{font-size:1.125rem;font-weight:700;color:#fff;font-variant-numeric:tabular-nums}
.sequence-workbench #areaGameActionBtn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:9px 14px;border:2px solid #0F4C3F;background:#FF6B35;color:#fff;font-size:.875rem;font-weight:700;border-radius:10px;box-shadow:none}
.sequence-workbench .sequence-instruction{font-size:.875rem;line-height:1.8;text-align:left}
.sequence-workbench .sequence-progress{display:flex;justify-content:space-between;gap:12px;font-size:.8125rem;margin:14px 0}
.sequence-workbench #cardGameStatusMsg{min-height:44px;font-size:.8125rem;line-height:1.8;margin-top:14px;text-align:left}
.sequence-workbench #cardGameGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0}
.sequence-workbench #cardGameGrid>button{min-height:44px;min-width:0;padding:4px;box-shadow:2px 2px 0 #FF6B35;border-radius:10px}
.demo-no-script{font-size:.875rem;line-height:1.8;margin-top:16px}

/* An unboxed offer and a working day calendar. Core terms stay visible. */
.simultaneous-offer.offer-editorial.offer-calendar{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;padding:20px 0 8px;background:none;border:0;border-radius:0;box-shadow:none}
.offer-eyebrow{font-size:.875rem;font-weight:700;line-height:1.8;margin-bottom:12px}
.offer-calendar #simultaneous-offer-heading{font-size:clamp(1.375rem,3vw,1.875rem);font-weight:700;line-height:1.8;letter-spacing:0}
.offer-calendar #simultaneous-offer-heading>span{display:block}
.offer-calendar #simultaneous-offer-heading strong{font-weight:700;color:#0F4C3F}
.offer-calendar .offer-price-note{font-size:.8125rem;line-height:1.8;margin-top:8px}
.offer-calendar-experience{min-width:0}
.calendar-instruction{font-size:.8125rem;line-height:1.8;color:#416A60;margin-bottom:12px}
.calendar-day-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,5.5rem),1fr));gap:6px;max-width:500px}
.calendar-day-picker button{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:44px;padding:8px 2px;border:0;border-radius:0;background:none;color:#416A60;font-size:.8125rem;font-weight:400;line-height:1.5;cursor:pointer}
.calendar-day-picker button::before{content:"";width:10px;height:6px;border:solid transparent;border-width:0 0 2px 2px;transform:rotate(-45deg);flex-shrink:0}
.calendar-day-picker button[aria-pressed="true"]{background:none;color:#0F4C3F;font-weight:700}
.calendar-day-picker button[aria-pressed="true"]::before{border-color:#0F4C3F}
.calendar-day-picker button:disabled{cursor:default}
.calendar-day-picker button:focus-visible,.offer-consult:focus-visible{outline:3px solid #0F4C3F;outline-offset:4px}
.calendar-scene{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-top:24px;min-width:0;min-height:200px}
.calendar-object{position:relative;display:block;flex:0 0 7rem;width:7rem;max-width:100%;margin-left:auto;margin-right:auto;align-self:center;perspective:600px;padding:8px 0 0;border:0;background:none;color:#0F4C3F;font:inherit;isolation:isolate;cursor:pointer;transform:rotate(-2deg);transition:transform .2s ease}
.calendar-object:hover{transform:translateY(-2px) rotate(0)}
.calendar-object:focus-visible{outline:3px solid #0F4C3F;outline-offset:10px}
.calendar-object:disabled{cursor:default}
.calendar-object::before,.calendar-object::after{content:"";position:absolute;inset:15px 0 -4px;border:2px solid #0F4C3F;border-radius:3px;background:#fff;transform:rotate(-4deg);z-index:-1}
.calendar-object::after{transform:rotate(3deg);background:#F3FAF5}
.calendar-binding{position:absolute;left:20px;right:20px;top:0;display:flex;justify-content:space-between;z-index:3}
.calendar-binding::before,.calendar-binding::after{content:"";display:block;width:6px;height:20px;border:2px solid #0F4C3F;border-radius:4px;background:#F3FAF5}
.calendar-flip-sheet{display:flex;flex-direction:column;align-items:center;min-height:156px;border:2px solid #0F4C3F;border-radius:3px;background:#fff;transform-origin:50% 0;backface-visibility:hidden}
.calendar-cap{align-self:stretch;padding:7px 0 5px;background:#0F4C3F;color:#fff;font-size:.6875rem;font-weight:700;line-height:1.5;text-align:center}
.calendar-number{display:block;font-size:3.5rem;font-weight:600;line-height:1.3;letter-spacing:0;font-variant-numeric:tabular-nums}
.calendar-unit{font-size:.8125rem;line-height:1.5;padding-bottom:14px}
.calendar-reading{flex:1 1 10rem;min-width:0;align-self:center}
.calendar-reading-label{font-size:.8125rem;font-weight:600;line-height:1.8}
.calendar-reading-amount{font-size:clamp(1.375rem,4.5vw,1.875rem);font-weight:700;line-height:1.7;letter-spacing:0;margin:3px 0}
.calendar-reading-amount>span{display:inline-block}
.calendar-reading-text{font-size:.875rem;line-height:1.9;min-height:5.7em;max-width:25em;text-wrap:pretty}
.offer-always-visible{grid-column:1/-1;display:grid;gap:8px;font-size:.8125rem;line-height:1.9;max-width:870px}
.offer-continuation{font-size:.875rem;display:flex;flex-wrap:wrap;gap:0 5px;line-height:1.9;margin-bottom:4px}
.offer-continuation strong{font-weight:700}
.offer-first-time{display:inline-block}
.offer-calendar .offer-consult{justify-self:start;display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;margin-top:8px;padding:9px 18px;background:none;border:2px solid #0F4C3F;border-radius:999px;color:#0F4C3F;font-weight:700;font-size:.875rem;line-height:1.6;cursor:pointer}
@keyframes offerDayTurn{0%{transform:rotateX(-32deg) rotate(-2deg)}100%{transform:rotateX(0) rotate(0)}}
.calendar-object.is-turning .calendar-flip-sheet{animation:offerDayTurn .35s cubic-bezier(.2,.8,.2,1)}
.motion-paused .calendar-object .calendar-flip-sheet{animation:none!important}
.motion-paused .calendar-object,.motion-paused .calendar-object:hover{transform:none;transition:none}
@media(prefers-reduced-motion:reduce){.calendar-object .calendar-flip-sheet{animation:none!important}.calendar-object,.calendar-object:hover{transform:none;transition:none}}
.publication-note{line-height:1.9}

/* Long-form conditions remain available, without six rows dominating the first read. */
.pricing-guidance.guidance-directory{border:0;padding:0;margin-top:6px}
.guidance-directory>summary{display:grid;grid-template-columns:minmax(0,1fr) 14px;column-gap:16px;row-gap:4px;align-items:center;list-style:none;cursor:pointer;min-height:88px;padding:18px 0}
.guidance-directory>summary::-webkit-details-marker{display:none}
.guidance-directory>summary h3{margin:0;font-size:1rem;line-height:1.7;font-weight:700}
.guidance-directory>summary .guidance-directory-description{font-size:.8125rem;line-height:1.8;color:#416A60;grid-column:1;grid-row:2}
.guidance-directory>summary .disclosure-sign{grid-column:2;grid-row:1/3}
.guidance-directory[open]>summary .disclosure-sign::after{display:none}
.guidance-directory .guidance-list{padding:0 0 12px;gap:18px;display:grid!important;grid-template-columns:minmax(0,1fr)!important}
.guidance-directory .guidance-group{margin-top:0;display:block;min-width:0}
.guidance-directory .guidance-group>h4{padding:8px 0;font-size:.8125rem;font-weight:700;color:#416A60;letter-spacing:0}
.guidance-directory .guidance-item>summary{font-size:.875rem;min-height:56px;padding:14px 0}
.guidance-directory .guidance-item>div{font-size:.875rem;line-height:1.9;padding-top:4px}
.guidance-directory .guidance-item p+p{margin-top:12px}
.guidance-directory .guidance-item .guidance-links{margin-top:12px}
.guidance-directory .guidance-links a{display:inline-flex;align-items:center;min-height:44px}
.guidance-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:8px 0 18px}
.guidance-categories[hidden]{display:none}
.guidance-categories button{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;min-height:66px;padding:9px 4px 13px;border:0;border-bottom:1px solid #AAC5BC;background:none;color:#416A60;font-size:.8125rem;font-weight:600;line-height:1.7;text-align:left;cursor:pointer}
.guidance-categories button[aria-selected="true"]{border-bottom:3px solid #0F4C3F;padding-bottom:11px;color:#0F4C3F}
.guidance-categories button[aria-selected="true"]::after{content:"";position:absolute;width:8px;height:8px;left:4px;bottom:-5px;border-radius:50%;background:#FF6B35}
.guidance-categories button:hover{color:#0F4C3F}
.guidance-categories button:focus-visible{outline:2px solid #0F4C3F;outline-offset:4px}
.guidance-directory.is-indexed .guidance-list{grid-template-columns:minmax(0,1fr)!important;gap:0;padding-bottom:18px}
.guidance-directory.is-indexed .guidance-group[hidden]{display:none!important}
.guidance-directory.is-indexed .guidance-group>h4{display:none}
.guidance-directory.is-indexed .guidance-group:not([hidden]){animation:guideIndexReveal .22s ease both}
@keyframes guideIndexReveal{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.motion-paused .guidance-directory.is-indexed .guidance-group{animation:none!important}
@media(prefers-reduced-motion:reduce){.guidance-directory.is-indexed .guidance-group{animation:none!important}}

/* A connected journey, then a typographic assurance: two different reading tasks. */
/* One numbered list, with supporting procedure available on demand. */
.flow-steps.flow-journey{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;padding:0;margin:0;list-style:none}
.flow-journey>li{position:relative;display:grid;grid-template-columns:1.5rem minmax(0,1fr);gap:14px;padding:0;min-width:0}
.flow-journey>li:last-child{padding-bottom:0}
.flow-journey>li:not(:last-child)::after{content:none}
.flow-journey .step-number{display:block;width:auto;height:auto;padding:4px 0 0;border:0;border-radius:0;background:none;color:#416A60;font-size:.8125rem;font-weight:600;line-height:1.65}
.flow-journey>li>div{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;padding:0}
.flow-journey h3{font-size:1rem;font-weight:700;line-height:1.65;letter-spacing:0}
.flow-journey .journey-main{font-size:.875rem;line-height:1.9}
.flow-procedure{margin:24px 0 12px;border:0}
.flow-procedure>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:56px;padding:14px 0;font-size:.8125rem;line-height:1.8;list-style:none;cursor:pointer}
.flow-procedure>summary::-webkit-details-marker{display:none}
.flow-procedure>summary .disclosure-sign{flex-shrink:0}
.flow-procedure-body{display:grid;gap:12px;padding:4px 0 20px;font-size:.8125rem;line-height:1.9;color:#416A60}
.flow-procedure-body a{justify-self:start;display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.flow-journey .quiet-link{display:inline-flex;align-items:center;min-height:44px;max-width:100%;padding:4px 0;font-size:.875rem;line-height:1.7;text-decoration:underline;text-underline-offset:5px}
.flow-finish{display:flex;flex-wrap:wrap;align-items:center;gap:6px 9px;font-size:.8125rem;font-weight:700;line-height:1.7}
.flow-finish span:not(:last-child)::after{content:"→";margin-left:9px;color:#FF6B35}
.flow-supplements{margin-top:24px;display:grid;gap:0}
.flow-supplements .material-guide{border:0}
.flow-supplements .material-guide>summary{min-height:62px;padding:10px 0;justify-content:flex-start;gap:12px;font-size:.875rem;text-decoration:none;line-height:1.7}
.guide-sheet-icon{flex:0 0 28px;width:28px;height:32px}
.guide-open-word{flex-shrink:0;font-size:.6875rem;font-weight:400;margin-left:auto;padding:5px 8px;border-radius:5px;background:#F3FAF5}
.guide-open-word::before{content:"開く"}
details[open]>summary .guide-open-word::before{content:"閉じる"}
.guide-sheet-icon{transition:transform .22s ease}
.flow-supplements .material-guide>summary:hover .guide-sheet-icon{transform:translateY(-3px) rotate(-5deg)}
.flow-supplements .disclosure-sign{margin-left:0;width:10px;height:10px;flex-basis:10px}
.flow-supplements .guidance-body{max-width:760px;font-size:.875rem;line-height:1.9;padding:10px 0 26px}
.flow-supplements .guide-topic h4{font-size:.9375rem}

/* These entries are documents: take the paper out, read it, then put it away. */
.guide-reader-modal{position:fixed;inset:0;z-index:5000;display:flex;align-items:center;justify-content:center;padding:24px 20px;background:rgba(15,76,63,.5);overscroll-behavior:contain}
.guide-reader-modal.hidden{display:none!important}
.guide-reader-shell{position:relative;width:min(100%,720px);min-width:0;max-height:100%;margin:auto;isolation:isolate}
.guide-reader-shell::before{content:"";position:absolute;inset:7px -5px -7px 5px;border:2px solid #0F4C3F;background:#F3FAF5;z-index:-1}
.guide-reader-paper{position:relative;display:flex;flex-direction:column;max-height:calc(100dvh - 62px);border:2px solid #0F4C3F;border-radius:2px;background:#fff;color:#0F4C3F;transform-origin:50% 100%;overflow:hidden}
.guide-reader-heading{position:relative;flex-shrink:0;padding:22px 52px 18px 22px;border-bottom:1px solid #AAC5BC}
.guide-reader-label{font-size:.6875rem;letter-spacing:0;color:#416A60;margin-bottom:8px}
.guide-reader-heading h2{font-size:1.1875rem;line-height:1.7;font-weight:700;letter-spacing:0;overflow-wrap:anywhere}
.guide-reader-heading::after{content:none}
.guide-reader-close{position:absolute;top:8px;right:6px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;background:none;color:#0F4C3F;font-size:1.75rem;cursor:pointer}
.guide-reader-content{overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:24px 22px 12px;scrollbar-color:#0F4C3F #F3FAF5}
.guide-reader-content:focus-visible{outline:2px solid #0F4C3F;outline-offset:-4px}
.guide-reader-content .guidance-body{display:grid;gap:26px;padding:0;font-size:.875rem;line-height:1.95;overflow-wrap:anywhere}
.guide-reader-content .guide-topic h4{font-size:.9375rem;font-weight:700;line-height:1.8;margin-bottom:8px}
.guide-reader-content .guide-topic p+p{margin-top:12px}
.guide-reader-content a{display:inline-block;max-width:100%;text-underline-offset:4px}
.guide-reader-content .material-steps{display:grid;gap:16px;padding-left:1.4em;list-style:decimal}
.guide-reader-content .material-steps li{display:list-item;padding-left:4px}
.guide-reader-content .material-steps li::before{display:none}
.guide-reader-bottom{padding:12px 22px 16px;flex-shrink:0}
.guide-reader-bottom button{display:block;min-height:44px;margin:0 auto;padding:8px 20px;border:1px solid #0F4C3F;border-radius:3px;background:#F3FAF5;font-size:.8125rem;font-weight:600;line-height:1.7;cursor:pointer}
.guide-reader-modal button:focus-visible{outline:3px solid #0F4C3F;outline-offset:3px}
@keyframes guidePaperOut{from{opacity:0;transform:translateY(58px) rotate(-1.5deg)}to{opacity:1;transform:none}}
@keyframes guidePaperAway{to{opacity:0;transform:translateY(38px) rotate(1deg)}}
.guide-reader-modal.is-opening .guide-reader-paper{animation:guidePaperOut .42s cubic-bezier(.2,.8,.2,1) both}
.guide-reader-modal.is-closing .guide-reader-paper{animation:guidePaperAway .18s ease-in both}
.motion-paused .guide-reader-paper{animation:none!important}
.motion-paused .guide-sheet-icon,.motion-paused .material-guide>summary:hover .guide-sheet-icon{transition:none;transform:none}
@media(prefers-reduced-motion:reduce){.guide-reader-paper{animation:none!important}.guide-sheet-icon,.material-guide>summary:hover .guide-sheet-icon{transition:none;transform:none}}
#payment.payment-guide.payment-assurance{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;padding:34px 0 0;margin-top:32px;border:0;border-top:2px solid #0F4C3F;border-radius:0;background:none;box-shadow:none}
.payment-assurance .payment-heading{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center;max-width:none;min-width:0}
.payment-assurance .payment-heading>div{flex:1 1 15rem;min-width:0}
.payment-proof{display:block;flex:0 0 72px;width:72px;height:auto;transform:rotate(-5deg)}
.payment-assurance .payment-eyebrow{font-size:.8125rem;letter-spacing:0;margin:0 0 14px;color:#416A60}
.payment-assurance #payment-heading{font-size:clamp(1.5rem,3.4vw,2.125rem);font-weight:700;line-height:1.65;letter-spacing:0;margin:0}
.payment-assurance #payment-heading>span{display:inline-block}
.payment-assurance .payment-lead{flex:1 1 100%;font-size:.875rem;line-height:1.9;margin-top:8px;max-width:none}
.payment-assurance .payment-notes{display:flex;flex-direction:column;gap:18px;min-width:0}
.payment-assurance .payment-note-primary{display:block;padding:0;border:0;font-size:.875rem;line-height:1.9}
.payment-note-label{font-weight:600;margin-bottom:14px}
.payment-checklist{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr));gap:10px 16px;list-style:none;padding:0;margin:0;font-size:.875rem}
.payment-checklist li{display:flex;gap:9px;align-items:center;min-width:0}
.payment-checklist li::before{content:"";display:block;flex:0 0 10px;width:10px;height:10px;background:#FF6B35;border-radius:50%;border:2px solid #0F4C3F}
.payment-assurance .payment-related{display:flex;flex-wrap:wrap;gap:0 18px;margin-top:14px;font-size:.8125rem}
.payment-assurance .payment-related a{display:inline-flex;align-items:center;min-height:44px;padding:7px 0;line-height:1.7;text-decoration:none;font-weight:600}
.payment-assurance .payment-related a:hover{text-decoration:underline;text-underline-offset:5px}
.payment-assurance .payment-more{border:0}
.payment-assurance .payment-more>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;min-height:44px;font-size:.8125rem;line-height:1.8;cursor:pointer;padding:10px 0}
.payment-assurance .payment-more[open]>summary{list-style-type:disclosure-open}
.payment-assurance .payment-more-content{font-size:.875rem;line-height:1.9;padding-top:8px}
.faq-content{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.faq-content .section-heading{margin-bottom:24px}

@media(min-width:640px){
  .guidance-categories{gap:24px}
  .guidance-categories button{flex-direction:row;justify-content:flex-start;flex-wrap:wrap;min-height:54px}
  .guide-reader-heading{padding:28px 60px 24px 34px}
  .guide-reader-heading h2{font-size:1.5rem}
  .guide-reader-heading::after{left:34px}
  .guide-reader-content{padding:30px 34px 16px}
  .guide-reader-bottom{padding:16px 34px 22px}
  .demo-exhibit .demo-intro{margin-bottom:28px}
  .demo-selector{gap:16px;max-width:600px}
  .demo-selector button{align-items:flex-start;flex-direction:row;gap:12px;min-height:64px;padding:12px 6px 18px;font-size:.9375rem}
  .demo-selector button::after{left:6px;right:6px}
  .demo-selector-art{width:48px;height:25px;flex-shrink:0}
  .demo-selector-art svg{height:25px;width:48px}
  .demo-stage{padding:36px;border-radius:0 22px 22px 22px}
  .calendar-scene{gap:28px}
  .calendar-object{width:8.75rem;flex-basis:8.75rem}
  .calendar-flip-sheet{min-height:180px}
  .calendar-number{font-size:4.25rem}
}
@media(min-width:768px){
  .demo-panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;min-height:475px}
  .demo-panel-copy{align-self:center;padding-bottom:12px;order:1}
  .demo-panel-description{font-size:.9375rem}
  .demo-panel-copy h4{font-size:1.75rem}
  .demo-workbench{max-width:370px;justify-self:center;order:2}
  .simultaneous-offer.offer-editorial.offer-calendar{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:22px 48px;align-items:center;padding:24px 0 12px}
  .guidance-directory .guidance-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr))!important;gap:26px;padding-bottom:24px}
  .flow-supplements{display:flex;align-items:flex-start;gap:0 32px;flex-wrap:wrap}
  .flow-supplements .material-guide{flex:1 1 300px;min-width:0}
  #payment.payment-guide.payment-assurance{padding-top:40px;margin-top:32px}
  .payment-assurance #payment-heading>span{display:block}
  .payment-assurance .payment-heading{gap:12px 20px}
  .payment-proof{width:94px;flex-basis:94px}
  .faq-content{grid-template-columns:minmax(0,.8fr) minmax(0,1.7fr);gap:48px;max-width:1100px}
  .faq-content .section-heading{margin:0}
  .faq-content .section-heading h2{font-size:1.75rem}
}
@media(min-width:1024px){
  .demo-library.demo-exhibit{margin-top:36px;padding-top:0}
  .demo-stage{padding:36px 48px}
  .demo-panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px}
  .demo-panel-copy h4{font-size:1.875rem}
  .flow-steps.flow-journey{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
  #payment.payment-guide.payment-assurance{grid-template-columns:minmax(0,1.15fr) minmax(0,.95fr);column-gap:48px;align-items:start}
  .payment-assurance .payment-notes{padding-top:34px}
}
@media(max-width:359px){
  .demo-stage{padding:24px 14px 22px}
  .demo-selector button{font-size:.8125rem}
  .deck-controls{gap:12px}
  .deck-draw-button{min-width:155px;padding-left:12px;padding-right:12px}
  .message-card-face{padding:18px 14px;gap:8px}
  .message-card-art{height:110px}
  .message-card-back .message-card-title{font-size:1.75rem}
  .calendar-scene{gap:14px}
  .calendar-object{width:5.875rem;flex-basis:5.875rem}
  .payment-assurance .payment-heading{gap:12px}
  .payment-proof{width:58px;flex-basis:58px}
}
.motion-paused .message-card-flipper{transition:none!important}
#workModal .work-price{border:0;border-bottom:2px solid #0F4C3F;background:none;padding:0 0 16px}
.page-letter-peek{grid-column:1/-1;justify-self:end;margin-top:0}
.page-letter-trigger{display:flex;flex-direction:column;align-items:center;min-width:104px;min-height:110px;padding:0;border:0;background:none;color:#0F4C3F;transform:rotate(-7deg);transition:transform .25s ease;cursor:pointer}
.page-letter-trigger:hover{transform:rotate(0) translateY(-3px)}
.page-letter-trigger span{font-size:.8125rem;line-height:1.7}
.page-letter-trigger:focus-visible{outline:3px solid #0F4C3F;outline-offset:6px}
.page-letter-modal{position:fixed;inset:0;z-index:5000;display:flex;align-items:center;justify-content:center;padding:24px 20px;background:rgba(15,76,63,.5);overflow-y:auto;overscroll-behavior:contain}
.page-letter-modal.hidden{display:none!important}
.page-letter-shell{position:relative;width:min(100%,460px);min-width:0;margin:auto}
.page-letter-paper{position:relative;padding:54px 30px 28px;border:2px solid #0F4C3F;border-radius:3px;background:#fff;color:#0F4C3F;box-shadow:7px 7px 0 #0F4C3F;overflow-wrap:anywhere}
.page-letter-from{font-size:.8125rem;line-height:1.8;color:#416A60;margin-bottom:24px}
.page-letter-paper h2{font-size:clamp(1.5rem,5vw,2rem);font-weight:700;line-height:1.6;letter-spacing:0}
.page-letter-paper h2 span{display:block}
#pageLetterMessage{font-size:1rem;line-height:2;margin-top:24px}
.page-letter-sign{font-size:.875rem;line-height:1.9;margin-top:24px}
.page-letter-close{position:absolute;right:8px;top:8px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:none;border:0;font-size:1.75rem;color:#0F4C3F;cursor:pointer}
.page-letter-consult{width:100%;min-height:48px;margin-top:30px;padding:12px 10px;border-radius:10px;background:#FF6B35;color:#fff;font-size:.875rem;font-weight:700}
.page-letter-back{display:block;min-height:44px;margin:14px auto 0;padding:5px 0;border:0;background:none;color:#0F4C3F;font-size:.875rem;text-decoration:underline;text-underline-offset:5px;cursor:pointer}
.page-letter-modal button:focus-visible{outline:3px solid #0F4C3F;outline-offset:4px}
@keyframes pageLetterOpen{from{opacity:0;transform:translateY(24px) rotate(2deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
.page-letter-modal.is-opening .page-letter-paper{animation:pageLetterOpen .48s cubic-bezier(.2,.8,.2,1) both}
.motion-paused .page-letter-paper{animation:none!important}
.motion-paused .page-letter-trigger,.motion-paused .page-letter-trigger:hover{transition:none;transform:rotate(-7deg)}
@media(max-width:359px){.page-letter-paper{padding:54px 22px 24px}}
@media(prefers-reduced-motion:reduce){.page-letter-paper{animation:none!important}.page-letter-trigger{transition:none;transform:none}}
@media(prefers-reduced-motion:reduce){.message-card-flipper{transition:none!important}.demo-exhibit .btn-2d{transition:none}}

/* Optional surprises: unwrap, rub, and send. Information never waits for them. */
.surprise-gift[hidden],.surprise-scratch[hidden],.surprise-airmail[hidden]{display:none!important}
.surprise-gift,.surprise-scratch,.surprise-airmail{scroll-margin-top:104px}
.works-welcome.is-playful{display:flex;flex-wrap:wrap;gap:12px 16px;margin-bottom:28px}
.works-welcome.is-playful>.section-heading{display:contents}
.works-welcome.is-playful>.section-heading>p:first-child,.works-welcome.is-playful>.section-heading>h2{flex:1 1 100%}
.works-welcome.is-playful>.section-heading>p:last-child{flex:1 1 12rem;min-width:0;align-self:center}
.surprise-gift{flex:0 0 6rem;max-width:100%;margin-left:auto;grid-column:2;grid-row:3;align-self:center;min-width:0}
.gift-unwrap{display:flex;flex-direction:column;align-items:center;width:100%;min-height:44px;padding:0 0 4px;border:0;background:none;color:#0F4C3F;cursor:pointer}
.gift-drawing{display:block;width:100%;height:auto;aspect-ratio:5/6;overflow:visible}
.gift-unwrap>span{display:block;font-size:.75rem;font-weight:600;line-height:1.8;max-width:100%}
#giftCaption>span{display:inline-block;white-space:nowrap}
.gift-unwrap:focus-visible{outline:3px solid #0F4C3F;outline-offset:4px}
.gift-lid{transform-origin:80px 118px;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.gift-bouquet{transform:translateY(38px) scale(.7);transform-origin:80px 145px;opacity:0;transition:transform .62s cubic-bezier(.18,.9,.25,1.2),opacity .25s ease}
.gift-ribbon-tail{transition:opacity .2s ease}
.surprise-gift.is-unwrapped .gift-lid{transform:translate(18px,-25px) rotate(14deg)}
.surprise-gift.is-unwrapped .gift-bouquet{transform:translateY(0) scale(1);opacity:1}
.surprise-gift.is-unwrapped .gift-ribbon-tail{opacity:0}
.gift-unwrap:hover .gift-drawing{filter:none}

.surprise-scratch{grid-column:1/-1;width:100%;max-width:440px;justify-self:end;margin-top:36px;min-width:0}
.scratch-heading{display:flex;flex-wrap:wrap;gap:4px 20px;align-items:baseline;justify-content:space-between;color:#0F4C3F}
.scratch-heading h3{font-size:.875rem;font-weight:700;line-height:1.8}
.scratch-heading>span{font-size:.75rem;line-height:1.8;color:#416A60}
.scratch-stage{position:relative;display:grid;place-items:center;min-height:6.5rem;padding:18px 14px;margin-top:12px;border:2px solid #0F4C3F;border-radius:3px;background:#F3FAF5;overflow:hidden}
.scratch-word{font-size:1.25rem;line-height:1.8;font-weight:700;letter-spacing:0;text-align:center;color:#0F4C3F}
.scratch-word>span{display:inline-block;white-space:nowrap}
#scratchCover{position:absolute;inset:0;width:100%;height:100%;touch-action:pan-y;cursor:crosshair;opacity:1;transition:opacity .4s ease;font-size:.875rem;font-weight:600}
.surprise-scratch.is-revealed #scratchCover{opacity:0;pointer-events:none}
.scratch-alternative{display:block;min-height:44px;max-width:100%;margin:4px 0 0 auto;padding:7px 0 7px 14px;border:0;background:none;color:#0F4C3F;font-size:.75rem;line-height:1.8;cursor:pointer}
.scratch-alternative:hover{text-decoration:underline;text-underline-offset:4px}
.scratch-alternative:focus-visible{outline:2px solid #0F4C3F;outline-offset:3px}

.surprise-airmail{grid-column:1/-1;width:100%;max-width:640px;justify-self:center;min-width:0}
.airmail-stage{position:relative;height:7rem;overflow:hidden;isolation:isolate}
.airmail-route{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .3s ease;pointer-events:none}
.surprise-airmail.is-flying .airmail-route,.surprise-airmail.has-flown .airmail-route{opacity:1}
.airmail-arrival{position:absolute;top:1.5rem;right:8px;max-width:calc(100% - 100px);font-size:.875rem;line-height:1.8;color:#416A60;opacity:0;transition:opacity .3s ease;pointer-events:none}
.airmail-arrival>span,#airmailCaption>span{display:inline-block;white-space:nowrap}
.surprise-airmail.has-flown .airmail-arrival{opacity:1}
.airmail-launch{position:absolute;left:0;bottom:2px;width:92px;height:74px;border:0;background:none;color:#0F4C3F;cursor:pointer}
.airmail-plane{display:block;width:92px;height:68px;transform:rotate(-8deg);transform-origin:50% 50%}
.airmail-launch:focus-visible,.airmail-replay:focus-visible{outline:3px solid #0F4C3F;outline-offset:3px}
.airmail-caption{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 20px;font-size:.75rem;line-height:1.8;color:#416A60}
.airmail-replay{min-height:44px;padding:8px 4px;border:0;background:none;color:#0F4C3F;font-size:.8125rem;font-weight:600;line-height:1.8;cursor:pointer}
.airmail-replay:hover{text-decoration:underline;text-underline-offset:4px}
@keyframes airmailSend{0%{transform:translate(0,0) rotate(-8deg);opacity:1}32%{transform:translate(var(--flight-first),-36px) rotate(-18deg);opacity:1}65%{transform:translate(var(--flight-middle),-5px) rotate(8deg);opacity:1}90%{transform:translate(var(--flight-end),-39px) rotate(-18deg);opacity:1}100%{transform:translate(var(--flight-exit),-65px) rotate(-25deg);opacity:0}}
.surprise-airmail.is-flying .airmail-plane{animation:airmailSend 1.15s cubic-bezier(.35,.15,.5,1) both}
@media(min-width:768px){
  .works-welcome.is-playful{display:grid;grid-template-columns:minmax(0,1fr) 144px;gap:12px 32px;margin-bottom:36px;align-items:center}
  .works-welcome.is-playful>.section-heading{display:flex;grid-column:1;grid-row:1;min-width:0;margin:0}
  .works-welcome.is-playful>.section-heading>*{flex:0 1 auto}
  .works-welcome.is-playful>.section-heading>p:last-child{align-self:flex-start}
  .surprise-gift{grid-row:1}
  .gift-drawing{width:144px;height:174px}
  .gift-unwrap>span{font-size:.8125rem}
  .surprise-scratch{margin-top:40px}
}
@media(min-width:768px){
  .faq-content.has-side-note{grid-template-rows:auto 1fr;align-items:start;row-gap:24px}
  .faq-content.has-side-note>.section-heading{grid-column:1;grid-row:1}
  .faq-content.has-side-note>.faq-list{grid-column:2;grid-row:1/3}
  .faq-content.has-side-note>.surprise-scratch{grid-column:1;grid-row:2;align-self:start;justify-self:start;margin-top:0}
}
.motion-paused .gift-lid,.motion-paused .gift-bouquet,.motion-paused .gift-ribbon-tail,.motion-paused #scratchCover,.motion-paused .airmail-route,.motion-paused .airmail-arrival{transition:none!important}
.motion-paused .airmail-plane{animation:none!important}
@media(prefers-reduced-motion:reduce){.gift-lid,.gift-bouquet,.gift-ribbon-tail,#scratchCover,.airmail-route,.airmail-arrival{transition:none!important}.airmail-plane{animation:none!important}}


/* Round 6: calm rectangular controls, a visible offer, wordless discoveries. */
:root{--lp-control-radius:12px}
body .btn-2d,.demo-exhibit .toy-details,.deck-draw-button,.deck-reset-button,.demo-consult,.offer-calendar .offer-consult,.calendar-day-picker button,.dial-reel .dial-control,.sequence-workbench #areaGameActionBtn,.sequence-workbench #cardGameGrid>button,.guide-reader-bottom button,.page-letter-consult,.sample-preview-views button,#support .support-link{border-radius:var(--lp-control-radius)}
#dialCardBadge{border-radius:var(--lp-control-radius)}
.guide-reader-shell::before{content:none}
.guide-reader-bottom button{border-width:2px}
.offer-opening .offer-eyebrow{margin-bottom:8px;font-size:.8125rem;font-weight:600}
.offer-calendar #simultaneous-offer-heading{line-height:1.65}
.offer-calendar #simultaneous-offer-heading strong{display:inline-block;font-size:1.15em;font-weight:700;letter-spacing:-.02em}
.offer-saving{font-size:.875rem;line-height:1.9;margin-top:14px}
.offer-saving strong{display:inline-block;white-space:nowrap;font-weight:700;background:none;color:#0F4C3F;padding:0;font-size:1.125rem;line-height:1.6;margin-left:.35em}
.calendar-object{padding-top:10px}
.calendar-binding::before,.calendar-binding::after{background:#FF6B35}
#giftCaption{min-height:1.8em}
.scratch-stage{margin-top:0}
.scratch-alternative{display:flex;align-items:center;justify-content:center;min-width:44px;padding:7px 0 7px 10px}
.airmail-caption{justify-content:flex-end;min-height:44px}
.airmail-replay[hidden]{display:none}

.offer-amount-phrase{display:inline;white-space:normal}

.airmail-launch:focus-visible{outline-offset:-3px;border-radius:var(--lp-control-radius)}

@media(max-width:360px){.offer-calendar #simultaneous-offer-heading strong{font-size:1.2em}}

.offer-price-note>span{display:inline-block;white-space:nowrap}


/* Round 7: a single selector surface, with a filled selected state. */
.guidance-categories{gap:4px;margin:12px 0 16px;padding:4px;border:0;border-radius:16px;background:#E4EEE9}
.guidance-categories button{align-items:center;min-height:64px;padding:10px 4px;border:0;border-radius:var(--lp-control-radius);background:none;color:#0F4C3F;font-size:.8125rem;line-height:1.7;text-align:center}
.guidance-categories button[aria-selected="true"]{padding:10px 4px;border:0;background:#0F4C3F;color:#fff}
.guidance-categories button[aria-selected="true"]::after{content:none}
.guidance-categories button:hover{background:#fff;color:#0F4C3F}
.guidance-categories button[aria-selected="true"]:hover{background:#0F4C3F;color:#fff}
.guidance-categories button:focus-visible{outline:2px solid #0F4C3F;outline-offset:2px}
/* Font family is shared; the display scale and the existing brand artwork stay intact. */
body :is(.price-number,.price-meta,.calendar-number,.calendar-reading-amount){letter-spacing:-.02em!important}

#cocreation-section .text-xs,#faq-section .text-xs{font-weight:400}

/* Keep each label whole when text is enlarged; normal phone widths retain three columns. */
.guidance-categories{grid-template-columns:repeat(auto-fit,minmax(min(100%,4.75rem),1fr))}

.guidance-categories button{justify-content:center}

/* Round 8: a single work at exhibition scale; explanations remain in the detail. */
.sample-preview-column{max-width:340px}
.sample-preview-open{border:1px solid #AAC5BC;border-radius:16px}
.sample-tab{border:1px solid #AAC5BC;min-height:60px;border-radius:12px;font-size:.8125rem}
.sample-tab[aria-pressed="true"]{border-color:#0F4C3F;background:#0F4C3F;color:#fff}
.sample-tab strong{font-weight:600}
.sample-tabs{margin-bottom:20px}
.sample-information{gap:12px}
.sample-information #sampleTitle{font-size:1.25rem;line-height:1.65}
.sample-information #sampleKind{font-size:.75rem;font-weight:400;color:#416A60}
.sample-information #sampleLead{font-size:.875rem;line-height:1.9}
.sample-preparation{width:100%}
.sample-preparation-body{display:grid;gap:16px}
.sample-preparation-body .sample-facts{margin:0;padding:12px 0}
.sample-preparation-body dt{font-weight:600}
.works-welcome.is-playful{display:grid;grid-template-columns:minmax(0,1fr) 4.5rem;gap:8px 16px;margin-bottom:24px}
.works-welcome.is-playful>.section-heading{display:contents}
.works-welcome.is-playful>.section-heading>p:first-child{grid-column:1;grid-row:1}
.works-welcome.is-playful>.section-heading>h2{grid-column:1/-1;grid-row:2;font-size:clamp(1.5rem,3vw,2rem);line-height:1.55}
.works-welcome.is-playful>.section-heading>p:last-child{grid-column:1;grid-row:3;align-self:center}
.works-welcome.is-playful>.surprise-gift{grid-column:2;grid-row:3;width:4.5rem}
@media(min-width:768px){.sample-preview-column{max-width:360px}.works-welcome.is-playful{grid-template-columns:minmax(0,1fr) 5.5rem}.works-welcome.is-playful>.surprise-gift{width:5.5rem}.sample-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:center}}
.works-welcome.is-playful .gift-drawing{width:100%;height:auto}
#giftCaption:empty{display:none}
@media(min-width:768px){.works-welcome.is-playful>.section-heading>h2{grid-column:1}.works-welcome.is-playful>.surprise-gift{grid-row:1/4;align-self:center}}

.sample-official-entrance{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;text-align:center;color:#0F4C3F;font-size:.875rem;line-height:1.8;background:#F3FAF5}
.sample-official-entrance .sample-official-label{font-size:.75rem;color:#416A60}
.sample-official-entrance .sample-official-name{font-size:2.5rem;font-weight:600;letter-spacing:-.02em}
.sample-official-entrance .sample-official-note{max-width:15em;margin-top:20px;font-size:.8125rem;color:#416A60}

/* Keep meaningful price units together while allowing enlarged text to reflow. */
.hero-offer-line .hero-price{white-space:normal}
.hero-price>span{display:inline-block;white-space:nowrap}
.base-price-card .base-price-heading{min-width:0;grid-template-columns:minmax(0,1fr)}
.base-price-card .price-meta{white-space:normal;overflow-wrap:anywhere}
/* Header groups may wrap when text is enlarged; every action stays reachable. */
body>header{flex-wrap:wrap;row-gap:8px}
body>header>div{max-width:100%;flex-wrap:wrap;flex-shrink:0}
body>header>div:last-child{gap:6px}
#audioToggleBtn,#motionToggleBtn{height:auto;max-height:none;padding-top:6px;padding-bottom:6px}
@media(min-width:640px){#audioToggleBtn{width:max-content;min-width:127px;max-width:none}#motionToggleBtn{width:max-content;min-width:105px;max-width:none}}

/* Round 9: questions, optional reading, and experiences have distinct roles. */
/* TYPE 01 — one divider per question boundary, no perimeter. */
.faq-list{border-top:0}
#faq-section .faq-item:last-child{border-bottom:0}
/* TYPE 02 — reading entries use whitespace and a small state chevron. */
.sample-preparation{border:0}
.sample-preparation-body .sample-facts{border:0;padding:0}
:is(.sample-preparation,.flow-procedure,.guidance-directory,.inquiry-options)>summary .disclosure-sign{width:8px;height:8px;flex:0 0 8px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg);transition:transform .2s}
:is(.sample-preparation,.flow-procedure,.guidance-directory,.inquiry-options)>summary .disclosure-sign::before,:is(.sample-preparation,.flow-procedure,.guidance-directory,.inquiry-options)>summary .disclosure-sign::after{content:none}
:is(.sample-preparation,.flow-procedure,.guidance-directory,.inquiry-options)[open]>summary .disclosure-sign{transform:rotate(225deg)}
:is(.sample-preparation,.flow-procedure,.guidance-directory,.inquiry-options)>summary:focus-visible{outline:3px solid #0F4C3F;outline-offset:4px}
.guidance-directory .guidance-item,.guidance-directory .guidance-item:first-child{border:0}
.guidance-directory .guidance-item>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;font-weight:600}
.guidance-directory .guidance-item>summary::-webkit-details-marker{display:none}
.guidance-directory .guidance-item>summary::after,.payment-more>summary::after,.disclosure-chevron{content:"";display:block;width:8px;height:8px;flex:0 0 8px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg);transition:transform .2s}
.guidance-directory .guidance-item[open]>summary::after,.payment-more[open]>summary::after,details[open]>summary>.disclosure-chevron,details[open]>summary .exhibit-action>.disclosure-chevron{transform:rotate(225deg)}
.guidance-directory .guidance-item>div{padding-bottom:24px}
.flow-supplements .guide-open-word{background:none;padding:5px 0;font-size:.75rem}
.flow-supplements .guide-open-word::before{content:"読む"}
.inquiry-options{border:0}
/* TYPE 03 — a compact exhibition entrance, with existing game artwork. */
.demo-exhibit-summary{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;padding:12px 0;min-height:0}
.demo-exhibit-summary>.exhibit-copy{display:grid;gap:8px}
.demo-exhibit-summary .exhibit-copy strong{font-size:1.25rem;line-height:1.6}
.demo-exhibit-summary .exhibit-copy>span{font-size:.8125rem;color:#416A60}
.exhibit-miniatures{display:flex;gap:24px;align-items:center;margin:4px 0}
.exhibit-miniatures>span{display:flex;width:65px;height:29px}
.exhibit-miniatures svg{width:65px;height:29px;overflow:visible}
.exhibit-miniatures .selector-digit{fill:#fff;font-size:15px;font-weight:700}
.demo-exhibit-summary>.exhibit-action{display:inline-flex;align-items:center;justify-self:start;gap:14px;min-height:44px;font-size:.9375rem;font-weight:600;color:#0F4C3F}
.exhibit-close-label{display:none}
.demo-exhibit[open] .exhibit-open-label{display:none}
.demo-exhibit[open] .exhibit-close-label{display:inline}
.demo-exhibit-summary>.exhibit-note{font-size:.75rem;line-height:1.9;color:#416A60;max-width:36em}
.demo-exhibit-body{padding:16px 0 0}
/* The game surface owns its background. The entrance has no outside frame. */
.demo-stage{border:0;box-shadow:none}
/* Offer: price hierarchy and two visible periods; the calendar is optional reading. */
.offer-calendar #simultaneous-offer-heading{line-height:1.5}
.offer-calendar #simultaneous-offer-heading>.offer-duration{font-size:1rem;font-weight:400;margin-bottom:4px}
.offer-calendar #simultaneous-offer-heading>.offer-total{font-size:1rem;font-weight:400}
.offer-calendar #simultaneous-offer-heading strong{font-size:2rem;line-height:1.5;white-space:nowrap;letter-spacing:-.02em}
.offer-calendar #simultaneous-offer-heading strong>span{font-size:1.375rem;letter-spacing:0}
.offer-saving-detail{font-size:.8125rem;line-height:1.9;color:#416A60;margin-top:4px}
.offer-periods{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));gap:24px;align-self:start}
.offer-periods>div{min-width:0}
.offer-period-label{font-size:.8125rem;line-height:1.8;color:#416A60;margin-bottom:4px}
.offer-period-main{font-size:.9375rem;line-height:1.8;font-weight:600;margin-bottom:8px}
.offer-periods>div>p:last-child{font-size:.8125rem;line-height:1.9}
.offer-calendar-detail{grid-column:1/-1;min-width:0}
.offer-calendar-detail>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;font-size:.8125rem;line-height:1.8;list-style:none;cursor:pointer}
.offer-calendar-detail>summary::-webkit-details-marker{display:none}
.offer-calendar-detail>summary:focus-visible{outline:3px solid #0F4C3F;outline-offset:4px}
.offer-calendar-detail .offer-calendar-experience{padding-top:16px}
.offer-calendar-detail .calendar-scene{margin-top:12px}
.offer-always-visible{gap:10px}
@media(min-width:768px){.demo-exhibit-summary{grid-template-columns:minmax(0,1fr) auto;column-gap:32px}.exhibit-miniatures{grid-column:2;grid-row:1/3;gap:16px}.exhibit-action{grid-column:1;grid-row:2}.demo-exhibit-summary>.exhibit-note{grid-column:1/-1}.offer-periods{padding-top:6px}}
@media(prefers-reduced-motion:reduce){.disclosure-chevron,:is(.sample-preparation,.flow-procedure,.guidance-directory,.inquiry-options)>summary .disclosure-sign{transition:none}}
.motion-paused .disclosure-chevron,.motion-paused :is(.sample-preparation,.flow-procedure,.guidance-directory,.inquiry-options)>summary .disclosure-sign{transition:none}
/* On opening, the real tabs take over the preview artwork; do not repeat it. */
.demo-exhibit[open] .exhibit-miniatures{display:none}
@media(min-width:768px){.demo-exhibit[open]>.demo-exhibit-summary{grid-template-columns:minmax(0,1fr)}}
/* The two revised destinations also clear the wrapped header at enlarged text. */
.offer-calendar#simultaneous-offer,.demo-library.demo-exhibit{scroll-margin-top:calc(5rem + 32px)}

/* Round 10 — approved composition: two base cards, then one warm bundle offer. */
.simultaneous-offer.offer-bundle{--bundle-bg:#FFF0EB;display:grid;grid-template-columns:minmax(0,1fr);gap:14px;padding:20px;background:var(--bundle-bg);background:color-mix(in srgb,var(--color-accent) 10%,#fff);color:var(--color-primary);border:0;border-radius:16px;box-shadow:none}
.offer-bundle#simultaneous-offer{scroll-margin-top:calc(5rem + 32px)}
.bundle-copy{display:grid;gap:6px;min-width:0}
.bundle-kicker{font-size:.8125rem;line-height:1.6;font-weight:400;text-wrap:balance}
.offer-bundle #simultaneous-offer-heading{font-size:1.25rem;line-height:1.5;font-weight:600;margin:0}
.bundle-price-line{display:flex;align-items:center;flex-wrap:wrap;gap:4px 16px}
.bundle-price{line-height:1.2}
.bundle-price strong{display:inline-block;font-size:clamp(2.25rem,10vw,2.5rem);font-weight:700;line-height:1.2;letter-spacing:-.025em;white-space:nowrap}
.bundle-price strong>span{font-size:1.5rem;letter-spacing:0}
.bundle-duration{font-size:1rem;line-height:1.5;font-weight:400}
.bundle-duration>span{display:block;font-size:.8125rem;line-height:1.7;margin-top:2px}
.bundle-saving{font-size:.875rem;line-height:1.7;font-weight:400}
.bundle-saving strong{display:inline-block;white-space:nowrap;font-size:inherit;font-weight:700;margin-left:.3em;background:none}
.bundle-note{font-size:.8125rem;line-height:1.75;margin-top:2px;font-weight:400;overflow-wrap:anywhere}
.bundle-actions{display:flex;align-items:center;gap:8px;min-width:0}
.offer-bundle .offer-consult{display:inline-flex;align-items:center;justify-content:center;flex:1;min-width:0;min-height:48px;margin:0;padding:10px 12px;border:0;border-radius:var(--lp-control-radius);box-shadow:none;background:var(--color-primary);color:#fff;font-size:.875rem;line-height:1.6;font-weight:600;text-align:center;cursor:pointer}
.offer-bundle .offer-consult:hover{background:#164F43}
.bundle-details-link{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:44px;white-space:nowrap;min-height:48px;color:var(--color-primary);font-size:.8125rem;line-height:1.7;text-decoration:underline;text-underline-offset:4px}
.offer-bundle :is(.offer-consult,.bundle-details-link):focus-visible{outline:3px solid var(--color-primary);outline-offset:4px}
.calendar-guide-title{font-size:.875rem;font-weight:600;line-height:1.7;margin:8px 0 0}
#keep-conditions .offer-calendar-detail{margin-top:8px}
@media(max-width:360px){.simultaneous-offer.offer-bundle{padding:18px 16px}.bundle-price-line{column-gap:12px}}
@media(min-width:640px){.simultaneous-offer.offer-bundle{padding:24px;gap:18px}.bundle-copy{gap:8px}.bundle-actions{max-width:390px}.bundle-price strong{font-size:2.5rem}}
@media(min-width:1024px){.simultaneous-offer.offer-bundle{grid-template-columns:minmax(0,1fr) minmax(260px,.65fr);gap:32px;align-items:center;padding:28px 32px}.bundle-note{max-width:38em}.bundle-actions{width:100%;justify-self:end}}

.bundle-note>span{display:inline-block}

.offer-bundle :is(button,a){scroll-margin-top:calc(5rem + 32px);scroll-margin-bottom:6rem}

/* Scratch refinement: approved 2026-10-22; all other surprises stay unchanged. */
@font-face{font-family:'Kogasobi Scratch Script';src:url('fonts/courgette-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
#scratchStage{min-height:72px;height:72px;padding:8px 14px}
#scratchWord,#scratchWord span{font-family:'Kogasobi Scratch Script',cursive!important;font-size:38px;font-weight:400;line-height:1.25;letter-spacing:0;white-space:nowrap}
.scratch-restart{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;margin:8px 0 0 auto;padding:0;border:0;border-radius:0;background:transparent;color:#0F4C3F;cursor:pointer}
.scratch-restart>svg{width:16px;height:16px}
.scratch-restart[hidden]{display:none!important}

@media(min-width:768px) and (max-width:1023px){#scratchWord,#scratchWord span{font-size:34px}}

/* Team letter: only the closing label and letter copy spacing are refined. */
.page-letter-back{font-size:.75rem;font-weight:400;color:#416A60;text-decoration:none}
.page-letter-sign+.page-letter-sign{margin-top:16px}

/* TeamSurprise palette sampled from its supplied logo; confined to this letter. */
.page-letter-paper{color:#001C55;border-color:#001C55;box-shadow:7px 7px 0 #001C55}
.page-letter-from,.page-letter-back{color:#001C55}
.page-letter-from .page-letter-brand{display:block;width:190px;max-width:100%;margin-bottom:10px}
.page-letter-paper h2 span:last-child{color:#E7385D}
.page-letter-paper .page-letter-consult{background:#001C55;color:#fff;border-color:#001C55;box-shadow:4px 4px 0 #001C55}

/* Official symbol and letter typography; supplied artwork is used unmodified. */
.page-letter-paper{padding:32px 24px 20px;line-break:strict}
.page-letter-identity{display:flex;align-items:center;gap:14px;margin-bottom:24px}
.page-letter-symbol{display:block;position:relative;flex:0 0 48px;width:48px;aspect-ratio:910/1208;overflow:hidden}
.page-letter-symbol>img{position:absolute;display:block;width:320.54945055%;max-width:none;height:auto;left:-110.21978022%;top:-59.85099338%}
.page-letter-identity .page-letter-from{margin:0;font-size:12px;line-height:1.75}
.page-letter-identity .page-letter-brand{width:172px;margin-bottom:9px}
.page-letter-paper h2{font-size:24px;line-height:1.55;letter-spacing:0}
#pageLetterMessage{font-size:15px;line-height:1.95;margin-top:22px;text-wrap:pretty}
.page-letter-name{white-space:nowrap;font-weight:600}
.page-letter-sign{font-size:14px;line-height:1.95;margin-top:18px;text-wrap:pretty}
.page-letter-paper .page-letter-consult{margin-top:24px}
.page-letter-paper .page-letter-back{margin-top:10px}
@media(max-width:359px){.page-letter-paper{padding:28px 22px 18px}.page-letter-identity{gap:12px}.page-letter-identity .page-letter-brand{width:158px}.page-letter-symbol{flex-basis:44px;width:44px}}
@media(min-width:768px){.page-letter-paper{padding:36px 32px 24px}.page-letter-paper h2{font-size:28px}}

/* Use the supplied combined official lockup without recomposing its parts. */
.page-letter-identity{display:block}
.page-letter-lockup{position:relative;display:block;width:260px;max-width:100%;aspect-ratio:2594/466;overflow:hidden;margin-bottom:10px}
.page-letter-lockup>img{position:absolute;display:block;width:112.45181187%;max-width:none;height:auto;left:-3.08404009%;top:-265.02145923%}

.page-letter-identity .page-letter-from>span:last-child{display:block;text-align:right}

/* Paper airplane: clearer folds; no dotted route or visible messages. */
.airmail-plane{transform:none}
.surprise-airmail.is-flying .airmail-plane{animation:none}
.airmail-launch[hidden]{display:none!important}
.airmail-replay{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;padding:0;border:0;border-radius:0;background:transparent}
.airmail-replay>svg{width:16px;height:16px}
.airmail-replay:hover{text-decoration:none}
.airmail-traveler{position:fixed;left:0;top:0;width:92px;height:68px;z-index:90;pointer-events:none;transform-origin:50% 50%;will-change:transform}
.hero-works-link{position:relative}
.hero-airmail{position:absolute;right:calc(100% - 24px);bottom:calc(100% - 8px);width:92px;height:68px;pointer-events:none;transform:rotate(-8deg)}
.hero-airmail[hidden]{display:none!important}

/* Compact airplane, approved follow-up: 70% size and a single 54px footer row. */
.surprise-airmail{position:relative;margin-top:-12px}
.airmail-stage{height:54px}
.airmail-launch{width:64.4px;height:54px;bottom:0}
.airmail-plane,.airmail-traveler{width:64.4px;height:47.6px}
.airmail-caption{position:absolute;right:0;top:5px;margin:0;min-height:44px}
.hero-airmail{width:64.4px;height:47.6px;right:calc(100% - 16.8px);bottom:calc(100% - 5.6px)}

.hero-airmail{right:calc(100% + 8px);top:50%;bottom:auto;transform:translateY(-50%) rotate(-8deg)}

/* Keep the returned plane clear of the side-by-side desktop consultation button. */
@media(min-width:640px){.hero-airmail{right:calc(100% - 16.8px);top:auto;bottom:calc(100% + 8px);transform:rotate(-8deg)}}
@media(max-width:767px){body>footer.site-footer{padding-bottom:80px}}

/* Hero-only sparkle motion keeps the shared shape size constant. */
@keyframes heroSparkleFloat{0%{transform:translateY(0);opacity:1}100%{transform:translateY(-100px);opacity:0}}
.sparkle-particle.hero-sparkle{animation-name:heroSparkleFloat}

/* Surprise box: a bolder outline, the same compact footprint, and no visible labels. */
.gift-mouth{opacity:0;transition:opacity .2s ease}
.surprise-gift.is-unwrapped .gift-mouth{opacity:1}
.surprise-gift.is-unwrapped .gift-lid{transform:translate(40px,18px) rotate(50deg)}
.motion-paused .gift-mouth{transition:none!important}
@media(prefers-reduced-motion:reduce){.gift-mouth{transition:none!important}}
