@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;700;900&family=Noto+Serif+TC:wght@700;900&display=swap");

:root{
  --ink:#303744;
  --deep:#4e5262;
  --purple:#7b708d;
  --mauve:#8d7683;
  --blue:#6f8394;
  --slate:#64757b;
  --mist:#d9dde0;
  --lavender:#d9d2df;
  --paper:#f1efeb;
  --paper-deep:#e7e4df;
  --white:#fbfaf7;
  --line:#d5d1cd;
  --sage:#80918a;
  --shadow:0 18px 50px rgba(53,56,66,.11);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:"Noto Sans TC","Microsoft JhengHei",sans-serif;line-height:1.8}
button{font:inherit}
button:focus-visible,a:focus-visible,input:focus-visible{outline:4px solid #b6a8c4;outline-offset:3px}
img{max-width:100%}

.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:24px;padding:13px clamp(18px,4vw,66px);background:rgba(241,239,235,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.brand{display:flex;align-items:center;gap:10px;flex:0 0 auto;color:var(--ink);text-decoration:none;font-weight:900}
.brand span{display:grid;place-items:center;width:39px;height:39px;color:white;background:var(--purple);border-radius:12px;font-family:"Noto Serif TC",serif}
.page-tabs{display:flex;margin-left:auto}
.page-tab-list{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.page-tab{display:flex;align-items:center;gap:7px;padding:9px 13px;border:1px solid var(--line);border-radius:13px;color:#606673;background:var(--white);font-weight:800;cursor:pointer;transition:.18s}
.page-tab span{color:var(--purple);font-size:11px}
.page-tab:hover,.page-tab.active{color:white;background:var(--purple);border-color:var(--purple);transform:translateY(-2px);box-shadow:0 8px 22px rgba(80,72,96,.18)}
.page-tab.active span{color:#eee9f2}
.external-tab{text-decoration:none}
.external-tab:hover{color:white;background:var(--blue);border-color:var(--blue);transform:translateY(-2px);box-shadow:0 8px 22px rgba(80,98,112,.18)}
.external-tab:hover span{color:#eef2f4}
.menu-button{display:none;margin-left:auto;padding:9px 14px;color:white;background:var(--deep);border:0;border-radius:10px;font-weight:800}
.page-panel{min-height:calc(100vh - 68px)}

.page-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.65fr);gap:70px;align-items:center;padding:86px clamp(28px,9vw,150px);color:white;background:linear-gradient(135deg,#686078,#978ba1)}
.page-hero.compact{display:block;padding-top:68px;padding-bottom:68px}
.page-hero.blue{background:linear-gradient(135deg,#5f7082,#8899a6)}
.page-hero.mauve{background:linear-gradient(135deg,#725e6b,#9b8791)}
.page-hero.slate{background:linear-gradient(135deg,#56686e,#839397)}
.page-hero.deep{background:linear-gradient(135deg,#414754,#6d7180)}
.page-hero.series{background:linear-gradient(135deg,#665e74,#8b8193)}
.kicker{margin:0 0 10px;font-size:13px;font-weight:900;letter-spacing:.17em;color:#eee8f3}
.page-hero h1{margin:0 0 16px;font-family:"Noto Serif TC",serif;font-size:clamp(45px,6vw,78px);line-height:1.18}
.page-hero>div>p:last-of-type{max-width:770px;margin:0;color:#f1eef3;font-size:19px}
.primary-button{margin-top:25px;padding:12px 22px;color:var(--deep);background:#f5f2ed;border:0;border-radius:11px;font-weight:900;cursor:pointer}
.primary-button:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(30,30,40,.2)}
.hero-note{display:grid;gap:9px;padding:30px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);border-radius:24px;backdrop-filter:blur(10px)}
.hero-note span{font-size:13px;font-weight:900;letter-spacing:.12em}
.hero-note strong{padding:8px 15px;color:var(--deep);background:rgba(255,255,255,.83);border-radius:10px;font-family:"Noto Serif TC",serif;font-size:25px}
.hero-note p{margin:7px 0 0;color:#f4f1f5}

.timeline-section,.content-section{max-width:1280px;margin:0 auto;padding:72px 28px}
.section-heading{max-width:820px;margin:0 auto 40px;text-align:center}
.section-heading>span,.eyebrow{color:var(--blue);font-size:13px;font-weight:900;letter-spacing:.16em}
.section-heading h2{margin:4px 0 9px;font-family:"Noto Serif TC",serif;font-size:clamp(34px,4vw,52px);line-height:1.3}
.section-heading p{margin:0;color:#6b7079;font-size:18px}
.timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.time-tab{display:grid;grid-template-columns:auto 1fr;gap:0 11px;align-items:center;padding:17px;border:1px solid var(--line);border-radius:17px;color:var(--ink);background:var(--white);text-align:left;cursor:pointer;transition:.18s}
.time-tab b{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;color:white;background:var(--purple);border-radius:50%}
.time-tab span{font-weight:900}
.time-tab small{color:#7a7f87}
.time-tab:hover,.time-tab.active{color:white;background:var(--deep);border-color:var(--deep);transform:translateY(-3px);box-shadow:var(--shadow)}
.time-tab.active small{color:#d5d9df}
.time-panels{margin-top:20px}
.time-panel{display:grid;grid-template-columns:230px 1fr;overflow:hidden;min-height:400px;background:var(--white);border-radius:23px;box-shadow:var(--shadow)}
.time-label{display:flex;flex-direction:column;justify-content:center;padding:35px;color:white;background:var(--purple)}
.time-label b{font-family:"Noto Serif TC",serif;font-size:38px}
.time-label span{margin-top:8px;color:#ede8f0}
.task-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;align-content:center;padding:40px}
.task-grid section{padding:23px;background:var(--paper);border-radius:15px}
.task-grid strong{color:var(--purple);font-size:13px;letter-spacing:.12em}
.task-grid h3{margin:5px 0;font-size:20px;line-height:1.45}
.task-grid p{margin:0;color:#666c75}

.three-route-section{padding:75px clamp(28px,8vw,130px);background:var(--deep)}
.section-heading.light{color:white}
.section-heading.light span{color:#cec3d6}
.route-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1100px;margin:auto}
.route-cards button{display:grid;grid-template-columns:auto 1fr;gap:0 15px;align-items:center;padding:27px;color:var(--ink);background:var(--white);border:0;border-radius:19px;text-align:left;cursor:pointer;transition:.18s}
.route-cards button:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.route-cards span{grid-row:1/3;display:grid;place-items:center;width:52px;height:52px;color:white;background:var(--purple);border-radius:14px;font-family:"Noto Serif TC",serif;font-size:24px}
.route-cards button:nth-child(2) span{background:var(--mauve)}
.route-cards button:nth-child(3) span{background:var(--blue)}
.route-cards b{font-size:22px}
.route-cards small{color:#767a82}

.paper-section{max-width:none;background:var(--paper-deep)}
.paper-section>*{max-width:1224px;margin-left:auto;margin-right:auto}
.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.value-grid article{padding:31px;background:var(--white);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}
.value-grid b{display:inline-block;padding:5px 11px;color:white;background:var(--purple);border-radius:8px}
.value-grid article:nth-child(2) b{background:var(--blue)}
.value-grid article:nth-child(3) b{background:var(--sage)}
.value-grid h2{margin:17px 0 6px;font-family:"Noto Serif TC",serif;font-size:28px}
.value-grid p{margin:0;color:#676d76}
.class-magic-feature{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:28px;align-items:center;margin-top:45px;padding:24px;background:var(--white);border:2px solid #aca1b4;border-radius:22px;box-shadow:var(--shadow)}
.class-magic-feature>img{display:block;width:100%;border-radius:15px}
.class-magic-copy{padding:15px}
.class-magic-copy>span{color:var(--purple);font-size:12px;font-weight:900;letter-spacing:.14em}
.class-magic-copy h2{margin:5px 0 7px;font-family:"Noto Serif TC",serif;font-size:34px}
.class-magic-copy p{margin:0;color:#686d76}
.class-magic-copy a{display:block;margin-top:22px;padding:14px 18px;color:var(--purple);background:#f7f4f8;border:4px solid var(--purple);border-radius:13px;text-align:center;text-decoration:none;font-size:19px;font-weight:900;box-shadow:0 8px 0 #d8cfdd;transition:.18s}
.class-magic-copy a:hover{color:white;background:var(--purple);transform:translateY(-2px);box-shadow:0 10px 0 #514a5b}
.flow-list{display:grid;gap:12px;max-width:1000px!important;padding:0;list-style:none}
.flow-list li{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;padding:20px 24px;background:var(--white);border-radius:15px}
.flow-list li>b{display:grid;place-items:center;width:45px;height:45px;color:white;background:var(--blue);border-radius:50%}
.flow-list h3{margin:0;font-size:21px}
.flow-list p{margin:2px 0 0;color:#676d76}
.opening-docs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:1200px;margin:22px auto 54px}
.opening-doc-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:18px;color:var(--ink);background:var(--white);border:2px solid #aaa1b2;border-radius:16px;text-decoration:none;box-shadow:0 8px 20px rgba(70,72,84,.08);transition:.18s}
.opening-doc-card:hover{color:white;background:var(--purple);border-color:var(--purple);transform:translateY(-3px)}
.opening-doc-card .doc-icon{display:grid;place-items:center;width:48px;height:56px;color:white;background:var(--blue);border-radius:8px 8px 12px 8px;font-size:14px;font-weight:800}
.opening-doc-card b,.opening-doc-card small{display:block;line-height:1.45}
.opening-doc-card b{font-size:17px;overflow-wrap:anywhere}
.opening-doc-card small{margin-top:4px;color:#717680}
.opening-doc-card:hover small{color:#eeeaf1}
.opening-doc-card strong{padding:8px 10px;color:white;background:var(--purple);border-radius:9px;font-size:13px;white-space:nowrap}
.opening-doc-card:hover strong{color:var(--purple);background:white}
.activity-heading{margin-top:62px!important}
.activity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1080px!important}
.activity-grid a{display:grid;grid-template-columns:auto 1fr;gap:0 13px;padding:25px;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:17px;text-decoration:none;box-shadow:0 9px 24px rgba(53,56,66,.08);transition:.18s}
.activity-grid a:hover{transform:translateY(-4px);border-color:#a99db0}
.activity-grid b{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;color:white;background:var(--purple);border-radius:12px}
.activity-grid a:nth-child(2) b{background:var(--mauve)}
.activity-grid a:nth-child(3) b{background:var(--blue)}
.activity-grid span{color:#77717d;font-size:12px;font-weight:900;letter-spacing:.1em}
.activity-grid h3{grid-column:1/-1;margin:18px 0 4px;font-size:23px}
.activity-grid p{grid-column:1/-1;margin:0;color:#6c7179}
.activity-grid strong{grid-column:1/-1;margin-top:14px;color:var(--purple)}
.activity-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:1080px!important;margin-top:24px!important}
.activity-photo-grid figure,.communication-visual{margin:0;overflow:hidden;background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.activity-photo-grid img{display:block;width:100%;height:330px;object-fit:cover;object-position:top center}
.activity-photo-grid figcaption,.communication-visual figcaption{padding:16px 19px}
.activity-photo-grid figcaption b,.communication-visual figcaption b{display:block;font-size:20px}
.activity-photo-grid figcaption span,.communication-visual figcaption span{display:block;color:#6c7179}

.check-progress{display:grid;grid-template-columns:1fr auto;align-items:end;gap:8px;max-width:900px;margin:0 auto 25px}
.check-progress span{font-weight:900}
.check-progress strong{font-size:25px}
.check-progress>div{grid-column:1/-1;height:11px;overflow:hidden;background:#d9d5d1;border-radius:20px}
.check-progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--purple),var(--blue));border-radius:20px;transition:width .25s}
.check-list{display:grid;grid-template-columns:1fr 1fr;gap:13px;max-width:1060px;margin:auto}
.check-list label{display:flex;align-items:flex-start;gap:13px;padding:19px;background:var(--white);border:1px solid var(--line);border-radius:14px;cursor:pointer}
.check-list input{flex:0 0 auto;width:22px;height:22px;margin:4px 0 0;accent-color:var(--purple)}
.check-list b{display:block;font-size:18px}
.check-list small{display:block;color:#717680}
.check-list label:has(input:checked){background:#e6ebea;border-color:#abb8b4}
.reset-button{display:block;margin:24px auto 0;padding:9px 18px;color:var(--purple);background:transparent;border:1px solid #a69bad;border-radius:10px;font-weight:800;cursor:pointer}

.question-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.question-cards article{padding:29px;background:var(--white);border-radius:18px;box-shadow:var(--shadow)}
.question-cards span{color:var(--mauve);font-weight:900}
.question-cards h3{margin:18px 0 5px;font-family:"Noto Serif TC",serif;font-size:27px}
.question-cards p{margin:0;color:#686d75}
.communication-visual{max-width:1080px;margin:58px auto 0}
.communication-visual img{display:block;width:100%;height:auto}
.family-day-heading{margin-top:68px}
.family-day-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}
.family-day-gallery figure{margin:0;overflow:hidden;background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.family-day-gallery img{display:block;width:100%;height:auto}
.family-day-gallery figcaption{padding:15px 18px}
.family-day-gallery figcaption b{display:block;font-size:19px}
.family-day-gallery figcaption span{display:block;color:#6c7179}
.reply-builder{display:grid;grid-template-columns:.8fr 1.2fr;gap:25px;max-width:1080px!important}
.reply-steps{display:grid;gap:10px}
.reply-chip{display:grid;grid-template-columns:auto 1fr;gap:0 13px;align-items:center;padding:17px;border:1px solid var(--line);border-radius:14px;color:var(--ink);background:var(--white);text-align:left;cursor:pointer}
.reply-chip b{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;color:white;background:var(--mauve);border-radius:50%}
.reply-chip span{font-weight:900}
.reply-chip small{color:#737981}
.reply-chip.active{color:white;background:var(--mauve);border-color:var(--mauve)}
.reply-chip.active small{color:#ebe4e8}
.reply-example{padding:31px;background:var(--white);border-radius:19px;box-shadow:var(--shadow)}
.reply-example h3{margin:4px 0 18px;font-size:23px}
.reply-example blockquote{margin:0;padding:22px;color:#50454b;background:#eee7ea;border-left:6px solid var(--mauve);border-radius:12px;font-size:20px;font-weight:700}
.reply-tip{margin:18px 0 0;color:#6d7179}
.template-box{max-width:970px;margin:0 auto;padding:31px;background:var(--white);border-radius:20px;box-shadow:var(--shadow);text-align:center}
.template-box p{margin:0;font-size:21px}
.template-box mark{padding:2px 5px;color:#594c55;background:#e8dfe4;border-radius:5px}
.template-box button{margin-top:22px;padding:10px 19px;color:white;background:var(--mauve);border:0;border-radius:10px;font-weight:900;cursor:pointer}
#copy-status{display:block;min-height:28px;margin-top:7px;color:var(--sage);font-weight:800}
.tool-card{display:flex;align-items:center;justify-content:space-between;gap:35px;max-width:970px;margin:35px auto 0;padding:31px;color:white;background:linear-gradient(135deg,#5e5969,#7c7186);border-radius:20px}
.tool-card span{color:#dcd3e1;font-size:12px;font-weight:900;letter-spacing:.15em}
.tool-card h2{margin:2px 0 5px;font-family:"Noto Serif TC",serif;font-size:30px}
.tool-card p{margin:0;color:#eeeaf0}
.tool-card a{flex:0 0 auto;padding:12px 18px;color:var(--deep);background:white;border-radius:11px;text-decoration:none;font-weight:900}

.four-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.four-grid article{padding:26px;background:var(--white);border:1px solid var(--line);border-radius:18px}
.four-grid b{color:var(--blue);font-size:13px}
.four-grid h3{margin:10px 0 5px;font-size:21px}
.four-grid p{margin:0;color:#686e76}
.gallery-section{max-width:none;background:#e2e5e5}
.gallery-section>*{max-width:1280px;margin-left:auto;margin-right:auto}
.photo-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.photo-gallery figure{margin:0;overflow:hidden;background:var(--white);border-radius:18px;box-shadow:var(--shadow)}
.photo-gallery figure:first-child{grid-column:1/-1}
.photo-gallery img{display:block;width:100%;height:310px;object-fit:cover;background:#d5d7d7}
.photo-gallery figure:first-child img{height:390px}
.rotated-image-frame{display:grid;place-items:center;height:310px;overflow:hidden;background:#d5d7d7}
.photo-gallery .rotated-image-frame img{width:310px;height:310px;object-fit:contain;transform:rotate(-90deg)}
.photo-gallery figcaption{display:flex;justify-content:space-between;gap:18px;padding:16px 20px}
.photo-gallery figcaption b{font-size:18px}
.photo-gallery figcaption span{color:#6c7279;text-align:right}
.download-figure figcaption{align-items:center}
.download-figure figcaption div{display:grid}
.download-figure figcaption div span{text-align:left}
.download-figure figcaption a{flex:0 0 auto;padding:9px 14px;color:white;background:var(--purple);border-radius:10px;text-decoration:none;font-weight:900}
.download-figure figcaption a:hover{background:var(--deep)}
.space-list{display:flex;flex-wrap:wrap;justify-content:center;gap:11px}
.space-list span{padding:10px 17px;color:white;background:var(--slate);border-radius:999px;font-weight:800}

.link-section{min-height:650px}
.link-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.link-grid a{display:block;padding:31px;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:20px;text-decoration:none;box-shadow:var(--shadow);transition:.18s}
.link-grid a:hover{transform:translateY(-5px);border-color:#aaa0b1}
.link-grid span{color:var(--purple);font-size:13px;font-weight:900;letter-spacing:.12em}
.link-grid h2{margin:8px 0 6px;font-family:"Noto Serif TC",serif;font-size:29px}
.link-grid p{margin:0 0 18px;color:#6a6f78}
.link-grid b{color:var(--purple)}
.closing-section{padding:75px clamp(25px,10vw,170px);color:white;background:linear-gradient(135deg,#4e5262,#737887);text-align:center}
.closing-section>span{color:#d6ccd9;font-size:13px;font-weight:900;letter-spacing:.15em}
.closing-section h2{margin:7px 0 16px;font-family:"Noto Serif TC",serif;font-size:clamp(34px,4vw,52px);line-height:1.45}
.closing-section p{max-width:920px;margin:auto;color:#ececef;font-size:19px}

.series-section{padding:72px clamp(24px,7vw,110px)}
.series-section.tinted{background:var(--paper-deep)}
.series-heading{display:flex;align-items:center;gap:20px;max-width:1280px;margin:0 auto 32px}
.series-heading>span{display:grid;place-items:center;flex:0 0 auto;width:55px;height:55px;color:white;background:var(--purple);border-radius:16px;font-family:"Noto Serif TC",serif;font-size:21px}
.series-heading p{margin:0;color:var(--purple);font-size:13px;font-weight:900;letter-spacing:.12em}
.series-heading h2{margin:0;font-family:"Noto Serif TC",serif;font-size:clamp(31px,4vw,46px)}
.resource-groups{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:1280px;margin:auto}
.resource-groups.three-column{grid-template-columns:repeat(3,1fr)}
.resource-group{padding:26px;background:var(--white);border:1px solid var(--line);border-radius:20px;box-shadow:0 10px 28px rgba(53,56,66,.08)}
.resource-group.wide{grid-column:1/-1}
.resource-group>h3{margin:0 0 16px;font-size:22px}
.resource-links{display:grid;gap:10px}
.resource-links.two-column{grid-template-columns:1fr 1fr}
.resource-links a,.resource-pending{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 16px;color:var(--ink);background:#efede9;border-radius:11px;text-decoration:none;transition:.18s}
.resource-links a:hover{color:white;background:var(--purple);transform:translateX(3px)}
.resource-links a:hover span{color:#ece7ef}
.resource-links b{line-height:1.5}
.resource-links span{flex:0 0 auto;color:#747984;font-size:13px;text-align:right}
.resource-pending{color:#777b82;background:#e4e2df}
.useful-links-section{background:var(--paper-deep)}
.series-footer{display:flex;align-items:flex-end;justify-content:center;gap:25px;padding:62px clamp(24px,8vw,135px);color:white;background:linear-gradient(135deg,#4e5262,#737887);text-align:left}
.series-footer img{flex:0 0 auto;width:92px;height:92px;object-fit:contain;object-position:bottom}
.series-footer div{max-width:850px}
.series-footer span{color:#d6ccd9;font-size:12px;font-weight:900;letter-spacing:.15em}
.series-footer h2{margin:5px 0 9px;font-family:"Noto Serif TC",serif;font-size:clamp(29px,3.5vw,45px);line-height:1.4}
.series-footer p{margin:0;color:#ececef;font-size:18px}

footer{display:flex;justify-content:space-between;gap:20px;padding:32px clamp(24px,7vw,105px);color:#dfe1e5;background:#373c47}
[hidden]{display:none!important}

@media(max-width:1080px){
  .topbar{flex-wrap:wrap}
  .page-tabs{width:100%;margin:0}
  .page-tab-list{display:grid;grid-template-columns:repeat(3,1fr);width:100%}
  .page-tab{justify-content:center;width:100%}
  .page-hero{grid-template-columns:1fr}
  .class-magic-feature{grid-template-columns:1fr}
  .timeline{grid-template-columns:1fr 1fr}
  .time-panel{grid-template-columns:180px 1fr}
  .task-grid{grid-template-columns:1fr}
  .four-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:700px){
  .brand strong{font-size:15px}
  .page-hero,.page-hero.compact{padding:55px 21px}
  .hero-note{display:none}
  .timeline-section,.content-section{padding:50px 15px}
  .timeline{display:flex;overflow-x:auto}
  .time-tab{flex:0 0 190px}
  .time-panel{grid-template-columns:1fr}
  .time-label{padding:24px}
  .task-grid{padding:21px}
  .page-tab-list{grid-template-columns:repeat(2,1fr)}
  .page-tab{padding:8px 6px;font-size:13px}
  .route-cards,.value-grid,.question-cards,.family-day-gallery,.check-list,.four-grid,.photo-gallery,.link-grid,.activity-grid,.activity-photo-grid,.resource-groups,.resource-groups.three-column,.opening-docs{grid-template-columns:1fr}
  .activity-photo-grid img{height:auto}
  .photo-gallery figure:first-child{grid-column:auto}
  .photo-gallery img,.photo-gallery figure:first-child img{height:245px}
  .rotated-image-frame{height:245px}
  .photo-gallery .rotated-image-frame img{width:245px;height:245px}
  .photo-gallery figcaption{display:block}
  .photo-gallery figcaption span{display:block;text-align:left}
  .download-figure figcaption a{display:inline-block;margin-top:12px}
  .reply-builder{grid-template-columns:1fr}
  .tool-card{align-items:flex-start;flex-direction:column}
  .template-box p{font-size:18px}
  .class-magic-feature{padding:14px}
  .class-magic-copy{padding:10px}
  .series-footer{align-items:center;flex-direction:column;padding:50px 20px;text-align:center}
  .series-footer img{width:72px;height:72px}
  .series-section{padding:50px 15px}
  .series-heading{align-items:flex-start}
  .resource-group.wide{grid-column:auto}
  .resource-links.two-column{grid-template-columns:1fr}
  .resource-links a,.resource-pending{align-items:flex-start;flex-direction:column;gap:2px}
  .resource-links span{text-align:left}
  footer{flex-direction:column;padding:28px 21px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important}
}
