/* Shared type scale: 56/32/20 headings, 16 body/UI, 14 secondary.
 * Mobile: 36/28/20 headings; body and secondary do not shrink.
 * Miniature illustrations are decorative; their meaning is repeated in 14px captions.
 */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;600;700;800&display=swap');
:root{--ps-font:'Noto Sans TC','Microsoft JhengHei',sans-serif;--ps-h1:56px;--ps-h2:32px;--ps-h3:20px;--ps-body:16px;--ps-small:14px;--serif:var(--ps-font);font-family:var(--ps-font);font-size:16px}
body{font-family:var(--ps-font);font-size:var(--ps-body);line-height:1.8;letter-spacing:.025em}
button,input,select,textarea{font-family:var(--ps-font);letter-spacing:.025em}
body h1,.presstory-plans .hero h1{font-family:var(--ps-font);font-size:var(--ps-h1);line-height:1.3;font-weight:800;letter-spacing:.025em}
body h2,.reuse h2,.closing h2,.presstory-plans .closing h2,.presstory-experience .demo-result h2{font-family:var(--ps-font);font-size:var(--ps-h2);line-height:1.45;font-weight:700;letter-spacing:.025em}
body h3,.steps h3,.use-cards h3,.price-card h3,.presstory-plans .plan h3,.presstory-plans .benefit h3{font-family:var(--ps-font);font-size:var(--ps-h3);line-height:1.5;font-weight:700;letter-spacing:.025em}
.brand,.footer-top .brand,body>header>a{font-family:Arial,sans-serif!important;font-size:32px;font-weight:800!important;letter-spacing:0!important;line-height:1.2}
.site-header nav,.presstory-experience header nav,.presstory-plans nav,.button,.button.small,.price-card .button,.btn,.selector button,.textbutton,.menu-toggle{
 font-size:var(--ps-body);line-height:1.5;letter-spacing:.025em
}
.button,.btn{min-height:48px}.button.small{min-height:44px}
.hero-desc,.section-head>p,.steps p,.use-cards p,.closing p,.closing p:last-child,.price-card ul,
.presstory-plans .hero p,.presstory-plans .section-intro,.presstory-plans .section-head p,
.presstory-plans .benefit p,.presstory-plans .geo p,.presstory-plans .deliver-list p,
.presstory-plans .plan-description,.presstory-plans .plan li,.presstory-plans .step p,
.presstory-plans .dialog p,.presstory-plans .field,.presstory-plans .industries,
.presstory-plans .strip p,.presstory-plans .selection-note,.presstory-plans .status,
.presstory-experience .intro>p:last-child,.presstory-experience .f,.intake-materials summary,
.presstory-experience .demo-result p{font-size:var(--ps-body);line-height:1.8;letter-spacing:.025em}
.price-card ul{line-height:1.8}.price-card li+li{margin-top:8px}
.eyebrow,.hero .eyebrow,.section-label,.shelf-label,.shelf-label span,.plan-tag,
.hero-ticket>span:first-child,.hero-ticket .ticket-check,.hero-ticket small,.trial-note,
.price small,.media-count,.price-footer,.price-footer p,.terms,.footer-top>span,.footer-top>a:last-child,
.animation-note,.journey-head button,.scene-caption p,.journey-steps button,.journey-steps b,
.presstory-plans .hero-note,.presstory-plans .path span,.presstory-plans .panel-top,
.presstory-plans .panel-label,.presstory-plans .benefit .foot,.presstory-plans .geo .small,
.presstory-plans .geo-flow span,.presstory-plans .note,.presstory-plans .price-note,.rec-label,
.presstory-experience .intro>p:first-child,.presstory-experience .small,
.presstory-experience #readiness,.presstory-experience #draft-message,.presstory-experience .import-label,
.presstory-experience footer,.intake-mode small,.preview-note,.preview-toolbar>span{
 font-size:var(--ps-small);line-height:1.7;letter-spacing:.03em
}
.eyebrow,.hero .eyebrow,.section-label{letter-spacing:.06em}
.hero-ticket strong,.price,.media-count b{font-family:var(--ps-font);font-size:36px;line-height:1.4;font-weight:700;letter-spacing:0;font-variant-numeric:tabular-nums}
.hero-ticket{max-width:100%;row-gap:8px}.hero-ticket strong{white-space:nowrap}
.hero-ticket small,.price small{font-weight:500}
.service-strip>.shell{font-size:var(--ps-body);line-height:1.6;flex-wrap:wrap;justify-content:center;gap:12px 22px}.service-strip span{font-size:var(--ps-small);line-height:1.7}
.price-footer{flex-wrap:wrap}.price-footer a{white-space:normal}
.footer-top{flex-wrap:wrap}.section-head{align-items:start}.section-head>p{max-width:430px}
.steps article{min-width:0}.steps p br{display:none}
.use-cards{min-width:0}.use-cards article{min-width:0}
.step-number,.step-num,.n{font-family:var(--ps-font);font-size:var(--ps-h3);line-height:1.5;letter-spacing:.025em}
/* Give the enlarged controls/caption real room rather than shrinking type. */
.journey-head{font-size:var(--ps-body);line-height:1.6;align-items:center}
.journey-head button{flex-shrink:0;min-width:76px;min-height:40px}
.journey-scene{height:367px}.editorial-scene{bottom:79px}
.scene-caption{height:62px;bottom:6px;gap:10px}.scene-caption p{max-width:380px}
.scene-caption>span{width:30px;height:30px;font-family:var(--ps-font);font-size:var(--ps-small);line-height:1;letter-spacing:0}
.journey-steps button{padding:8px 5px;gap:6px;min-height:48px}
.journey-steps b{width:21px;height:21px;flex-shrink:0;line-height:1;letter-spacing:0}
.animation-note{padding:14px 12px}
.brief-bubble .bubble-label,.confirm-bubble small,.confirm-bubble strong,.news-tile-top,.news-tile strong,.published-bubble{font-size:12px;line-height:1.6;letter-spacing:.02em}
.brief-bubble{width:150px}.confirm-bubble{max-width:82%}
.news-tile strong{white-space:normal}.news-tile{padding:8px}
.news-fan{width:59%;gap:7px}.published-bubble{font-weight:600}
/* Intake uses comfortable labels and input text, including mobile. */
.f input,.f select,.f textarea,.field input,.field select,.field textarea,.import-label input{
 font-size:var(--ps-body);line-height:1.6;letter-spacing:.025em
}
.f input::placeholder,.f textarea::placeholder{font-size:var(--ps-small)}
.intake-mode strong{font-size:var(--ps-body);line-height:1.6}.intake-mode{padding:18px}
.preview-toolbar strong{font-size:var(--ps-body);line-height:1.6;letter-spacing:.025em}
.preview-toolbar{flex-wrap:wrap}.preview-outlets button,.preview-angle button{font-size:var(--ps-body);line-height:1.5;letter-spacing:.025em}
.presstory-experience .media-mockup.preview-paper h2,.presstory-experience .media-mockup[data-outlet=storm] h2{font-size:28px!important;line-height:1.5!important;letter-spacing:.025em!important}
.presstory-experience .media-mockup .preview-lead,.presstory-experience .media-mockup .preview-body{font-size:var(--ps-body);line-height:1.8;letter-spacing:.025em}
.presstory-experience .media-meta .preview-byline,.presstory-experience .preview-editorial-photo figcaption,.presstory-experience .preview-simulation-banner,.presstory-experience .media-breadcrumb,.presstory-experience .media-content-tag,.presstory-experience .media-article-footer,.presstory-experience .media-mockup .preview-category{font-size:var(--ps-small);line-height:1.7;letter-spacing:.025em}
.presstory-experience .media-meta,.presstory-experience .media-breadcrumb,.presstory-experience .media-article-footer{flex-wrap:wrap}
@media(max-width:1000px){.hero{gap:30px}.hero-actions .button{gap:16px;padding-inline:18px}}
@media(max-width:760px){
 :root{--ps-h1:36px;--ps-h2:28px}
 .brand,.footer-top .brand,body>header>a{font-size:28px}
 .hero .eyebrow{justify-content:center}.hero-desc{font-size:var(--ps-body)}
 .hero-ticket{column-gap:12px}.hero-ticket strong,.price,.media-count b{font-size:32px}
 .hero-actions .button{gap:16px;padding-inline:16px}
 .section-head>p{max-width:none}.section-head>p br{display:none}
 .service-strip>.shell{gap:10px 14px}.service-strip span{width:100%;margin:0}
 .service-strip b{display:none}.service-strip strong{flex-basis:calc(50% - 14px);text-align:center}
 .use-cards{grid-template-columns:1fr;gap:22px}.use-cards h3{margin:8px 0}.use-cards span{font-size:24px}
 .journey-head{padding:14px 12px;gap:10px}.journey-head button{min-width:68px}
 .journey-scene{height:306px}.editorial-scene{bottom:75px}
 .scene-caption{height:64px;bottom:3px;left:12px;right:12px;gap:8px}.scene-caption p{max-width:260px}
 .journey-steps{margin:0 10px;gap:5px}.journey-steps button{gap:4px;padding-inline:3px}
 .journey-steps b{width:18px;height:18px;font-size:var(--ps-small)}
 .brief-bubble{width:120px;right:4%;padding:10px}.confirm-bubble{padding:10px;max-width:88%}
 .news-fan{width:64%;gap:5px}.news-tile{padding:6px}.news-tile strong{display:none}
 .news-tile-top{font-size:12px;white-space:nowrap;letter-spacing:0}.news-tile .tile-picture{height:38px}
 .published-bubble{font-size:12px;line-height:1.6;top:134px;right:4%;max-width:52%;padding:6px 9px}
 .presstory-experience .intro>h1{font-size:var(--ps-h2)}
 .presstory-experience header nav{gap:14px}
 .preview-outlets button{padding-inline:8px}
 .presstory-experience .media-mockup.preview-paper h2,.presstory-experience .media-mockup[data-outlet=storm] h2{font-size:24px!important}
}
@media(max-width:380px){.presstory-experience>header{flex-wrap:wrap}.journey-steps b{display:none}}
.presstory-plans .hero-note{font-size:var(--ps-small)!important}.presstory-plans .footer-links{font-size:var(--ps-small);line-height:1.7}
.presstory-plans .section h2,.presstory-plans .hero-panel.has-photo h2,.presstory-plans .dialog h2{font-family:var(--ps-font);font-size:var(--ps-h2);line-height:1.45;font-weight:700;letter-spacing:.025em}.presstory-plans .price small{font-family:var(--ps-font);font-size:var(--ps-small)}
