.mobile-dog-caption{display:none}
.has-js .reveal{opacity:1!important;transform:none!important}
.hero-copy h1>span,.hero-copy h1>em{display:block}
.hero-copy h1>span:nth-child(2){white-space:nowrap}
.park-ticket h1{font-size:clamp(48px,4.7vw,60px)}
.button-paper{color:#17334a!important;background:#fff8e8!important}
.feature-grid-all .feature-card{min-height:390px}
.feature-grid-all .feature-card p{display:block;overflow:visible;-webkit-line-clamp:unset}
.feature-grid-all .feature-card:last-child{min-height:390px}
.feature-grid-all .feature-card:last-child p{-webkit-line-clamp:unset}
.home-feature-rail{grid-template-columns:repeat(3,minmax(0,1fr))}

.pricing-section{background:linear-gradient(150deg,#fff5d6,#eef2ff)}
.price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.price-grid article{position:relative;padding:38px;border:1px solid rgba(24,48,75,.45);border-radius:28px;background:#fffdf8;box-shadow:0 18px 44px rgba(24,48,75,.1)}
.price-grid article.featured{background:#18304b;color:white;box-shadow:10px 10px 0 #ffd45c}
.price-grid article>span{font-size:11px;font-weight:900;letter-spacing:.2em}
.price-grid h3{margin:28px 0 4px;font:650 52px/1 var(--serif);letter-spacing:-.04em}
.price-grid h3 small{font:700 14px/1 var(--sans);letter-spacing:0}
.price-grid p{margin:0 0 25px;color:#687588}.price-grid .featured p{color:#cbd4e2}
.price-grid ul{margin:0;padding:0;list-style:none}.price-grid li{padding:12px 0;border-top:1px solid rgba(24,48,75,.16)}.price-grid .featured li{border-color:rgba(255,255,255,.17)}
.price-grid li:before{content:"✓";margin-right:10px;color:#e75b4e;font-weight:900}.price-grid .featured li:before{color:#ffd45c}
.pricing-note{display:flex;align-items:center;gap:18px;margin-top:28px;padding:18px 22px;border:1px solid #c18a00;border-radius:16px;background:#fff4c4}
.pricing-note b{flex:0 0 auto}.pricing-note p{margin:0}.pricing-note a{margin-left:auto;font-weight:800;white-space:nowrap}
.eligibility-grid h3 small{display:block;margin-top:12px}
.campaign-note{margin-bottom:20px}
.download-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.9fr) 170px;gap:34px}

.tutorial-section{background:#f0eadf}
.tutorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-block:0;padding:0;list-style:none}
.tutorial-grid li{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid rgba(24,48,75,.42);border-radius:28px;background:#fffdf8;box-shadow:0 14px 34px rgba(24,48,75,.09)}
.tutorial-grid li>div{min-height:190px;padding:26px}.tutorial-grid li>div>span{font-size:10px;font-weight:900;letter-spacing:.16em;color:#e75b4e}
.tutorial-grid h3{margin:35px 0 10px;font:650 26px/1.1 var(--serif)}.tutorial-grid p{margin:0;color:#5d6676;font-size:14px}
.tutorial-grid img{width:100%;height:auto;border-top:1px solid #d8d1c4;background:#f3f3f3}
.tutorial-warning{margin-top:28px;padding:24px 28px;border-left:7px solid #e75b4e;background:#fffdf8}.tutorial-warning p{margin:6px 0 0}

.plans-hero,.faq-hero,.about-hero,.feature-index-hero{background:linear-gradient(135deg,#e4f1f5,#f7edd2)}
.plans-hero img,.faq-hero img,.about-hero img{justify-self:center;max-height:360px;filter:drop-shadow(0 18px 22px rgba(24,48,75,.17))}
.support-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.support-grid article{padding:34px;border:1px solid #18304b;border-radius:24px;background:#fffdf8}.support-grid h2{font-size:38px}.support-grid p{color:#5d6676}
.index-poster{display:grid;place-items:end center;border-radius:28px}.index-poster img{position:absolute;z-index:2;bottom:-12px;width:230px}.index-poster strong{opacity:.22}.index-poster span{z-index:3;padding:7px 12px;border-radius:99px;background:#fffdf8}
.about-journal{background:linear-gradient(155deg,#fffaf0,#eef5ed)}
.about-story-grid .story-card{min-height:350px}
.dog-role-section{background:#18304b;color:#fff}
.dog-role-card{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:center;gap:70px;min-height:430px;padding:54px 64px;border:1px solid rgba(255,255,255,.32);border-radius:34px;background:radial-gradient(circle at 88% 22%,rgba(255,212,92,.24) 0 110px,transparent 111px),linear-gradient(135deg,#18304b,#174f51)}
.dog-role-card h2{max-width:760px;margin:24px 0 18px;font-size:clamp(42px,5vw,68px);line-height:1.02;color:#fff}
.dog-role-card p{max-width:720px;margin:0;color:#d7e2e8;font-size:18px;line-height:1.75}
.dog-role-card img{width:100%;max-height:330px;object-fit:contain;filter:drop-shadow(0 18px 20px rgba(0,0,0,.2))}
.about-closing{background:#f5df9f}.about-closing .editorial{max-width:990px}.about-closing .button{margin-top:28px}
.balanced-title span{display:block}.story-card h3{word-break:keep-all;overflow-wrap:normal}
.feature-question-title{word-break:keep-all;overflow-wrap:normal}
.feature-question-title span{display:inline-block;white-space:nowrap}
.life-scene-section{padding:72px 0;background:linear-gradient(180deg,#f7f0e3,#fffaf0)}
.life-scene{position:relative;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.7fr);min-height:560px;margin-block:0;overflow:hidden;border:1px solid rgba(24,48,75,.48);border-radius:32px;background:#18304b;box-shadow:0 24px 60px rgba(24,48,75,.14)}
.life-scene>img{width:100%;height:100%;object-fit:cover}
.life-scene figcaption{display:flex;z-index:2;flex-direction:column;justify-content:flex-end;padding:42px 36px;background:linear-gradient(145deg,#18304b,#174f51);color:#fff}
.life-scene figcaption>span{font-size:9px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:#ffd45c}
.life-scene h2{max-width:100%;margin:17px 0 15px;font-size:clamp(32px,3.4vw,50px);line-height:1.08;color:#fff;word-break:normal;overflow-wrap:normal;text-wrap:balance}
.life-scene p{margin:0;color:#e6edf1;font-size:15px;line-height:1.75}

@media (max-width:780px){
  /* 手機版不是桌面縮排：改成品牌封面、角色舞台與可橫掃內容。 */
  body{font-size:15px;background:#fffaf0}
  .wrap{width:calc(100% - 32px)}
  .site-head{border-bottom:1px solid rgba(24,48,75,.18)}.nav{height:64px}.brand span{font-size:29px}.brand small{font-size:6px}.nav-links{top:64px}
  .park-hero{min-height:auto;padding:0 0 34px;background:linear-gradient(180deg,#fff4d2 0,#e9f4ef 58%,#dcecff 100%)}.park-hero:after{display:none}.park-hero-grid{display:flex;min-height:0;flex-direction:column;padding:22px 0 0}
  .park-ticket{order:1;padding:24px 20px 22px;border:0;border-radius:24px;background:rgba(255,253,248,.92);box-shadow:0 14px 40px rgba(24,48,75,.11)}
  .park-ticket .park-admit{margin-bottom:13px}.park-ticket .kicker{font-size:8px;letter-spacing:.1em}.park-ticket h1{margin:19px 0 17px;font-size:clamp(38px,11.2vw,48px);line-height:1.02}.park-ticket h1>span:first-child{font-size:.78em}.park-ticket h1>span:nth-child(2),.park-ticket h1 em{white-space:normal;font-size:.78em}.park-ticket{min-width:0;max-width:100%}.park-ticket h1 em{margin-top:8px;text-decoration-thickness:4px;text-underline-offset:7px}
  .park-ticket .hero-lead{font-size:15px;line-height:1.75}.park-ticket .hero-actions{display:grid;grid-template-columns:1fr;margin-top:22px}.park-ticket .hero-actions .button{min-height:52px;width:100%}.park-ticket .trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:18px}.park-ticket .trust-row span{padding:7px 3px;text-align:center;font-size:8px}.platform-status{display:grid;grid-template-columns:auto 1fr;gap:3px 8px;margin-top:15px}.platform-status i{display:none}
  .park-entry{order:2;width:100%;min-height:430px;margin-top:18px;border-radius:30px;background:radial-gradient(circle at 76% 22%,#ffd45c 0 70px,transparent 71px),linear-gradient(145deg,#ccebdd,#dcecff);overflow:hidden}
  .park-phone{right:13px;top:22px;width:196px;height:382px;border-width:2px;border-radius:31px;box-shadow:7px 8px 0 #7658c9;transform:rotate(2deg)}
  .park-guide-dog{left:4px;bottom:11px;width:142px;animation:parkGuide 4.2s ease-in-out infinite}
  .mobile-dog-caption{position:absolute;z-index:6;left:15px;top:22px;display:block;width:126px;padding:11px;border:1px solid #18304b;border-radius:14px;background:#fffdf8;box-shadow:4px 4px 0 #ef7767}.mobile-dog-caption b,.mobile-dog-caption span{display:block}.mobile-dog-caption b{font:650 16px/1.15 var(--serif)}.mobile-dog-caption span{margin-top:5px;color:#5d6676;font-size:9px;line-height:1.45}
  .park-status-strip .proof-grid{display:flex;gap:10px;overflow-x:auto;padding:14px 16px;scroll-snap-type:x mandatory;scrollbar-width:none}.park-status-strip .proof-grid div{flex:0 0 72%;scroll-snap-align:start}.park-status-strip .proof-grid div:nth-child(n){border:0}
  .section{padding:66px 0}.section-index{font-size:9px}.split-heading{margin-bottom:30px}.split-heading h2{font-size:39px;line-height:1.06}.split-heading p{font-size:15px;margin-top:14px}
  .story-grid{gap:13px}.story-card{min-height:230px;padding:24px;border-radius:22px}.story-card h3{margin:42px 0 12px;font-size:27px}
  .home-feature-rail{display:flex;width:auto;margin-left:16px;margin-right:0;padding-right:16px;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.home-feature-rail .feature-card{flex:0 0 84%;min-height:330px;scroll-snap-align:center}
  .feature-grid-all{gap:14px}.feature-grid-all .feature-card{min-height:330px}.feature-grid-all .feature-card p{display:block}.attraction-card,.attraction-card:nth-child(n){transform:none}.attraction-card a{padding:25px 22px}
  .price-grid{grid-template-columns:1fr;gap:18px}.price-grid article{padding:28px 24px;border-radius:22px}.price-grid h3{font-size:46px}.pricing-note{align-items:flex-start;flex-direction:column}.pricing-note a{margin-left:0}
  .private-section{padding-top:50px}.privacy-grid{display:flex;flex-direction:column}.privacy-art{order:2;width:100%;min-height:330px;margin-top:10px}.privacy-dog-mark{bottom:-40px;width:118%}.privacy-art>span{top:18px;bottom:auto;font-size:12px;line-height:1.5}.private-section h2{font-size:41px}.button-paper{width:100%}
  .feature-hero{padding:34px 0 46px}.feature-hero-grid{display:flex;flex-direction:column}.feature-hero-copy{order:1}.feature-hero-copy .breadcrumbs{margin-bottom:24px;overflow-x:auto;white-space:nowrap;scrollbar-width:none}.feature-hero-copy .feature-plan{margin-bottom:14px}.feature-hero-copy .hero-actions{display:grid;grid-template-columns:1fr;margin-top:22px}.feature-hero-copy .hero-actions .button{width:100%;min-height:52px}.feature-hero-copy .text-link{justify-self:center;padding:11px}.feature-media{order:2;width:100%;min-height:390px;margin-top:26px;border-radius:28px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 20%,#fff),#edf5eb)}.feature-device{left:61%;height:365px;width:180px;border-width:2px;border-radius:27px;box-shadow:7px 8px 0 #18304b}.feature-dog{right:auto;left:2px;bottom:3px;width:126px}.feature-hero h1{font-size:38px;line-height:1.08;letter-spacing:-.035em}.feature-question-title span{white-space:nowrap}.direct-answer{margin-top:22px;padding:17px 16px;border-left-width:6px;font-size:16px;line-height:1.7}.answer-band{padding:30px 0}.answer-grid{display:block}.answer-grid>span{display:inline-block;margin-bottom:13px}.answer-grid p{font-size:21px;line-height:1.55}
  .steps-grid{gap:12px;border:0;background:transparent}.steps-grid li{min-height:0;padding:24px;border:1px solid #18304b;border-radius:18px}.steps-grid h3{margin:26px 0 8px}
  .tutorial-grid{display:flex;width:auto;margin-left:16px;margin-right:0;padding-right:16px;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.tutorial-grid li{flex:0 0 86%;scroll-snap-align:center}.tutorial-grid li>div{min-height:175px}.tutorial-grid h3{margin-top:25px}
  .scope-grid,.related-grid{gap:13px}.scope-card{padding:24px}.related-grid a{min-height:230px}.related-grid h3{margin-top:38px}
  .page-hero{padding:42px 0}.page-hero-grid{display:flex;flex-direction:column;gap:28px;align-items:stretch}.page-hero h1{font-size:42px}.page-hero-grid>img{align-self:center;max-height:235px}.index-poster{width:100%;min-height:280px}
  .faq-layout{gap:36px}.faq-layout aside{display:flex;overflow-x:auto;flex-direction:row;gap:8px;padding:10px;background:#fffdf8;scrollbar-width:none}.faq-layout aside b{display:none}.faq-layout aside a{flex:0 0 auto;padding:9px 12px;border:1px solid #18304b;border-radius:99px}.faq-group h2{font-size:36px}.faq-group{padding-top:48px}.faq-list summary{padding:18px 15px;font-size:17px}.faq-list details p{padding:0 18px 20px 15px}
  .support-grid{grid-template-columns:1fr}.support-grid article{padding:26px}.support-grid h2{font-size:33px}
  .about-hero .page-hero-grid>img{max-height:260px}.about-story-grid{display:flex;width:auto;margin-left:16px;margin-right:0;padding-right:16px;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.about-story-grid .story-card{flex:0 0 86%;min-height:300px;scroll-snap-align:center}.dog-role-card{display:flex;min-height:0;flex-direction:column;padding:34px 26px 20px;gap:22px;border-radius:26px}.dog-role-card h2{font-size:38px}.dog-role-card p{font-size:15px}.dog-role-card img{align-self:center;width:210px;max-height:230px}.about-closing .editorial h2{font-size:42px}.about-closing .editorial .large-copy{font-size:21px}
  .life-scene-section{padding:38px 0}.life-scene{display:flex;min-height:0;flex-direction:column;border-radius:24px}.life-scene>img{aspect-ratio:1/1.03;object-position:center;height:auto}.life-scene figcaption{position:relative;width:auto;margin:-18px 12px 12px;padding:25px 22px;border-radius:20px;background:#18304b}.life-scene h2{font-size:34px}.life-scene p{font-size:14px}
  .download-grid{grid-template-columns:minmax(0,1fr);gap:28px}.download-grid h2{font-size:37px;word-break:keep-all}.download-action{padding:22px}.download-dog{width:160px;justify-self:end;margin-bottom:-62px}.footer-grid{gap:30px}.footer-grid>div:last-child{display:flex}

  /* Mobile content must never look cut off or require a hidden sideways gesture. */
  .park-status-strip .proof-grid{display:grid;grid-template-columns:1fr;gap:1px;overflow:visible;padding:0}
  .park-status-strip .proof-grid div{min-width:0}
  .home-feature-rail,.tutorial-grid,.about-story-grid{display:grid;grid-template-columns:minmax(0,1fr);width:calc(100% - 32px);margin-inline:auto;padding-right:0;overflow:visible}
  .home-feature-rail .feature-card,.tutorial-grid li,.about-story-grid .story-card{min-width:0;flex:none}
  .home-feature-rail .feature-card{min-height:0}
  .home-feature-rail .feature-card p{display:block;overflow:visible;-webkit-line-clamp:unset}
  .faq-layout aside{flex-wrap:wrap;overflow:visible}
}

@media (max-width:390px){
  .park-ticket h1{font-size:39px}.park-entry{min-height:408px}.park-phone{width:183px;height:360px}.park-guide-dog{width:132px}.mobile-dog-caption{width:118px}.home-feature-rail .feature-card,.tutorial-grid li{flex-basis:88%}.feature-hero h1{font-size:35px}.page-hero h1{font-size:38px}.split-heading h2{font-size:36px}.feature-media{min-height:370px}.feature-device{height:345px;width:170px}.feature-dog{width:118px}
}

@media (prefers-reduced-motion:reduce){.park-guide-dog{animation:none!important}}
/* A single eligibility card spans one column. */
.eligibility-grid:has(>article:only-child){grid-template-columns:minmax(0,1fr);max-width:900px}
/* 窄螢幕下載區標題（CC-2 2026-10-28）：中文標題「下一個月總會繼續。」在 keep-all 下約 8.6em 寬、不能斷開；可用寬（100vw − 兩側 16px）不足時，原本把整個 grid 欄撐寬而被 .download-band 切掉（繁中 300–333px）。字級隨寬度縮到片語放得下（÷9 留約 4.5% 餘量）；不用 overflow-wrap:anywhere，那會在「。」之前斷行。 */
@media (max-width:349px){.download-grid h2:lang(zh){font-size:calc((100vw - 32px) / 9)}}
/* 繁中功能頁標題（CC-2 2026-10-28）：標題每一行是 nowrap 的 span（設計好的斷行），最寬一行「iPhone 用 Apple Pay」約 9.08em；35px 時要 ≥350px 才放得下，300–349 會伸進右側留白、<316 被切出畫面（感應付款頁、卡片管理頁）。en／ja／zh-hans 各有語言檔覆寫，繁中沒有。這裡不改斷行，只在窄螢幕把字級縮到最寬那行放得下（÷9.5 留約 4.6% 餘量）。不讓 span 內斷行：試過，會拆開「Apple Pay」、讓「的」單獨一行。 */
@media (max-width:349px){.feature-question-title:lang(zh-Hant){font-size:calc((100vw - 32px) / 9.5)}}
