.coastal-home{
  /* Coastal Editorial — direction 1, approved 2026-10-22. */
  --paper:#F6F4EF;     /* warm ivory */
  --paler:#FFFEFA;     /* light editorial paper */
  --ink:#12383B;       /* blue-pine typography */
  --soft:#526B69;      /* secondary readable text */
  --subtle:#657C79;
  --line:#C7D3CC;      /* warm sea-glass rule */
  --deep:#123F42;      /* dark teal */
  --teal:#185A5B;      /* editorial teal */
  --coral:#BD523B;     /* disciplined terracotta */
  --mustard:#D0AC7E;
  --sea-glass:#C9DAD1;
  --sea-glass-pale:#DFE9E3;
  --sans:"Noto Sans CJK TC","PingFang TC","Microsoft JhengHei",system-ui,sans-serif;
  --serif:"Noto Serif CJK TC","Songti TC","Source Han Serif TC",serif;
  --max:1312px;
}
.coastal-home *,.coastal-home *::before,.coastal-home *::after{box-sizing:border-box}
.coastal-home{scroll-behavior:smooth}
.coastal-home{margin:0;background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.7;color:var(--ink);-webkit-font-smoothing:antialiased}
.coastal-home a{color:inherit;text-decoration:none}
.coastal-home a:hover{text-decoration:none}
.coastal-home a:focus-visible,.coastal-home button:focus-visible,.coastal-home input:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
.coastal-home button,.coastal-home input{font:inherit}
.coastal-home button{cursor:pointer}
.coastal-home img{max-width:100%}
.coastal-home::selection{background:#BFCFC6;color:var(--ink)}
.coastal-home .container{width:min(var(--max),calc(100% - 96px));margin-inline:auto}
.coastal-home .tinycaps{font-family:var(--sans);font-weight:700;letter-spacing:.16em;font-size:11px;text-transform:uppercase;line-height:1.4}
.coastal-home .orange{color:var(--coral)}
.coastal-home .screenreader{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.coastal-home .site-head{background:var(--paper);position:relative;z-index:20;border-bottom:1px solid var(--line)}
.coastal-home .site-head .container{min-height:106px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.coastal-home .site-head__left{display:flex;gap:28px;align-items:center}
.coastal-home .brandmark{display:inline-flex;align-items:center;gap:9px;font-family:var(--serif);font-weight:700;font-size:21px;letter-spacing:-.06em;white-space:nowrap}
.coastal-home .brandmark__seal{font-family:Georgia,serif;background:var(--deep);color:var(--paper);font-size:25px;letter-spacing:-.08em;display:grid;place-items:center;width:39px;height:39px;line-height:1}
.coastal-home .brandmark__seal i{font-style:normal;transform:translateX(-1px)}
.coastal-home .site-head__center{font-size:12px;letter-spacing:.13em;color:var(--soft);font-weight:700;white-space:nowrap}
.coastal-home .site-head__right{display:flex;justify-content:flex-end;align-items:center;gap:28px}
.coastal-home .site-head nav{display:flex;align-items:center;gap:25px;font-size:13px;font-weight:650;color:var(--ink)}
.coastal-home .site-head nav a{padding:12px 0;position:relative}
.coastal-home .site-head nav a:after{content:"";position:absolute;height:1px;background:var(--coral);bottom:9px;left:0;right:100%;transition:right .2s}
.coastal-home .site-head nav a:hover:after{right:0}
.coastal-home .searchbtn{border:1px solid var(--ink);width:44px;height:44px;display:grid;place-items:center;background:transparent;color:var(--ink);border-radius:50%}
.coastal-home .searchbtn svg,.coastal-home .menu-icon svg{width:19px;height:19px}
.coastal-home .mobile-menu{display:none;border:0;background:transparent;padding:8px;color:var(--ink);width:44px;height:44px}
.coastal-home .topline{border-bottom:1px solid var(--line);height:39px;display:flex;align-items:center}
.coastal-home .topline .container{display:flex;justify-content:space-between;gap:16px;color:var(--soft);font-size:11px;letter-spacing:.045em;font-weight:600}
.coastal-home .hero{padding:67px 0 75px}
.coastal-home .hero-header{display:flex;justify-content:space-between;gap:32px;align-items:end;border-bottom:1px solid var(--ink);padding-bottom:28px;margin-bottom:40px}
.coastal-home .hero-brand{display:grid;gap:5px}
.coastal-home .hero-brand__over{font-family:Georgia,serif;font-size:15px;letter-spacing:.13em;color:var(--teal);font-weight:700}
.coastal-home .hero-brand h1{font-family:var(--serif);font-weight:900;font-size:clamp(44px,5vw,74px);line-height:1.18;letter-spacing:-.085em;margin:0}
.coastal-home .hero-brand h1 span{position:relative}
.coastal-home .hero-brand h1 span:after{content:"";position:absolute;bottom:-3px;left:0;right:0;height:4px;background:var(--coral);transform:rotate(-1deg)}
.coastal-home .hero-desc{max-width:276px;margin:0 0 5px;font-size:14px;line-height:1.9;color:var(--soft)}
.coastal-home .feature{display:grid;grid-template-columns: .82fr 1.18fr;gap:64px;align-items:stretch}
.coastal-home .feature__copy{min-height:512px;display:flex;flex-direction:column;justify-content:space-between;padding:5px 0}
.coastal-home .feature__eyebrow{display:flex;align-items:center;gap:14px;color:var(--teal)}
.coastal-home .feature__eyebrow:before{content:"";display:block;width:34px;height:1px;background:var(--teal)}
.coastal-home .feature__title{font-family:var(--serif);font-size:clamp(35px,3.3vw,52px);line-height:1.5;font-weight:750;letter-spacing:-.055em;margin:24px 0 21px}
.coastal-home .feature__lead{font-size:16px;line-height:2;color:var(--soft);max-width:28em;margin:0}
.coastal-home .feature__meta{display:flex;align-items:center;gap:13px;color:var(--soft);font-size:12px;margin:20px 0 31px}
.coastal-home .feature__meta em{font-style:normal;color:#6C807B}
.coastal-home .feature__cta{display:inline-flex;align-items:center;gap:28px;padding:14px 20px;background:var(--deep);color:white;font-size:13px;font-weight:700;align-self:start;transition:background .2s,transform .2s}
.coastal-home .feature__cta:hover{background:#206163;transform:translateY(-2px)}
.coastal-home .feature__cta svg{width:22px;height:22px}
.coastal-home .feature__index{border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#667C78;font:12px Georgia,serif;letter-spacing:.08em;padding-top:18px;margin-top:40px}
.coastal-home .feature__visual{position:relative;background:var(--sea-glass);min-height:512px;overflow:hidden;border-radius:1px}
.coastal-home .figure-inner{position:absolute;inset:0;overflow:hidden}
.coastal-home .figure-inner img.real-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .35s;z-index:2}
.coastal-home .figure-inner img.real-cover.loaded{opacity:1}
.coastal-home .cover-hero{background:linear-gradient(145deg,#BCD2C8,#DBE7D9);position:absolute;inset:0;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:38px 42px}
.coastal-home .cover-hero:before{content:"";position:absolute;width:430px;height:430px;border-radius:50%;background:#16494A;right:-116px;top:-118px}
.coastal-home .cover-hero:after{content:"";position:absolute;left:-70px;bottom:-150px;width:470px;height:470px;border:1px solid rgba(25,88,87,.44);border-radius:50%;box-shadow:0 0 0 40px rgba(255,255,255,.15),0 0 0 80px rgba(245,253,248,.12)}
.coastal-home .cover-hero__rubric{position:relative;z-index:1;color:#164B4B;letter-spacing:.18em;font-weight:800;font-size:12px}
.coastal-home .cover-hero__heading{position:relative;z-index:1;font-family:var(--serif);color:#123F42;font-weight:900;font-size:clamp(74px,7.8vw,124px);line-height:1.07;letter-spacing:-.17em;text-shadow:none}
.coastal-home .cover-hero__sub{position:relative;z-index:1;color:#153C3E;font-size:14px;font-weight:800;letter-spacing:.1em;border-top:1px solid rgba(24,84,78,.36);padding-top:15px}
.coastal-home .figure-caption{position:absolute;z-index:3;left:0;right:0;bottom:0;display:flex;justify-content:space-between;gap:10px;padding:11px 17px;color:#F5F8F1;background:rgba(15,58,60,.94);font-size:11px;letter-spacing:.04em}
.coastal-home .section-head{display:flex;justify-content:space-between;gap:20px;align-items:baseline;border-bottom:1px solid var(--ink);padding-bottom:18px;margin-bottom:26px}
.coastal-home .section-head h2{margin:0;font-family:var(--serif);font-weight:800;letter-spacing:-.075em;font-size:35px}
.coastal-home .section-head p{font-size:12px;color:var(--soft);margin:0;letter-spacing:.07em}
.coastal-home .story-grid{display:grid;grid-template-columns:1.08fr .95fr .95fr;gap:26px}
.coastal-home .story-card{display:flex;flex-direction:column}
.coastal-home .story-art{height:262px;background:#C9DAD1;overflow:hidden;position:relative;display:block;margin-bottom:19px}
.coastal-home .story-art__type{position:absolute;inset:0;overflow:hidden;display:flex;align-items:end;padding:24px 27px}
.coastal-home .story-art__type b{font-family:Georgia,serif;font-weight:900;font-size:100px;letter-spacing:-.07em;line-height:1;position:relative;z-index:1}
.coastal-home .story-art__type:after{content:"";position:absolute;width:260px;height:260px;border:1px solid currentColor;border-radius:50%;right:-70px;top:-98px;opacity:.45}
.coastal-home .story-art--ai{background:#174548;color:#D6E5DE}
.coastal-home .story-art--ai .story-art__type:before{content:"";position:absolute;inset:26px;background:repeating-linear-gradient(0deg,transparent 0 22px,rgba(255,255,255,.1) 22px 23px),repeating-linear-gradient(90deg,transparent 0 22px,rgba(255,255,255,.07) 22px 23px)}
.coastal-home .story-art--kpi{background:#CEE0D5;color:#BC533D}
.coastal-home .story-art--kpi .story-art__type b{font-size:110px;font-family:var(--sans);letter-spacing:-.1em;font-weight:950}
.coastal-home .story-art--larp{background:#C05D42;color:#FFF0DC}
.coastal-home .story-art--larp .story-art__type b{font-family:Georgia,serif;font-size:90px}
.coastal-home .story-art--book{background:#D9E6DB;color:#1C5955}
.coastal-home .story-art--life{background:#C9DED5;color:#195957}
.coastal-home .story-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;opacity:0;transition:opacity .4s}
.coastal-home .story-art img.loaded{opacity:1}
.coastal-home .story-card__cat{font-size:11px;font-weight:750;color:var(--teal);letter-spacing:.10em}
.coastal-home .story-card__title{font-family:var(--serif);font-size:23px;line-height:1.55;letter-spacing:-.055em;font-weight:800;margin:9px 0 11px}
.coastal-home .story-card__title a:hover{color:var(--teal)}
.coastal-home .story-card__summary{font-size:13px;line-height:1.85;color:var(--soft);margin:0 0 13px;flex:1}
.coastal-home .story-card__date{margin-top:12px;color:#627B77;font:12px Georgia,serif}
.coastal-home .story-panel{padding:29px 0 66px}
.coastal-home .breaker{background:#164748;color:var(--paler);margin:16px 0 74px}
.coastal-home .breaker .container{display:grid;grid-template-columns:1fr auto;min-height:205px;align-items:center;gap:50px}
.coastal-home .breaker__title{font-family:var(--serif);font-weight:800;font-size:clamp(28px,3vw,40px);letter-spacing:-.06em;line-height:1.55;max-width:720px;margin:11px 0 15px}
.coastal-home .breaker__small{color:#D6E9E0;font-size:12px;letter-spacing:.05em}
.coastal-home .breaker .orange,.coastal-home .footer .orange{color:#F3B497}
.coastal-home .breaker__glyph{font-family:Georgia,serif;font-size:150px;line-height:1;opacity:.2;transform:rotate(-9deg)}
.coastal-home .library{padding-bottom:80px}
.coastal-home .library__grid{display:grid;grid-template-columns:1.25fr 1fr;gap:50px}
.coastal-home .library__spot{position:relative}
.coastal-home .library__spot a:hover h3{color:var(--teal)}
.coastal-home .library__image{display:block;height:320px;background:#b5c8c6;position:relative;overflow:hidden;color:#195957}
.coastal-home .library__image .story-art__type{font-size:95px}
.coastal-home .library__image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;z-index:2}
.coastal-home .library__image img.loaded{opacity:1}
.coastal-home .library__spot h3{font-family:var(--serif);font-size:27px;line-height:1.55;letter-spacing:-.055em;margin:17px 0 10px}
.coastal-home .library__spot p{font-size:14px;line-height:1.9;color:var(--soft);margin:0}
.coastal-home .library__list{border-top:1px solid var(--line)}
.coastal-home .library__item{padding:26px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:66px 1fr;gap:18px;align-items:baseline}
.coastal-home .library__item__no{font-family:Georgia,serif;font-size:24px;color:#A5725C;font-style:italic}
.coastal-home .library__item__label{color:var(--teal);font-size:11px;font-weight:700;letter-spacing:.08em}
.coastal-home .library__item__title{font-family:var(--serif);font-size:21px;line-height:1.55;margin:6px 0 0;letter-spacing:-.055em}
.coastal-home .library__item__title a:hover{color:var(--teal)}
.coastal-home .topics{border-top:1px solid var(--ink);padding:54px 0 75px}
.coastal-home .topics__head{font-family:var(--serif);font-size:31px;font-weight:800;letter-spacing:-.055em;margin:0 0 25px}
.coastal-home .topics__row{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.coastal-home .topic{display:flex;flex-direction:column;gap:35px;justify-content:space-between;background:var(--paper);padding:25px 18px;min-height:138px;transition:background .2s}
.coastal-home .topic:hover{background:#DDE9E2}
.coastal-home .topic strong{font-family:var(--serif);font-size:21px;letter-spacing:-.055em}
.coastal-home .topic span{color:#5B756E;font-size:12px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.coastal-home .topic b{font-family:Georgia,serif;font-weight:400;color:var(--coral);font-size:21px}
.coastal-home .footer{background:#143D40;color:#F5F6EE;padding:49px 0 26px}
.coastal-home .footer__top{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-bottom:45px;border-bottom:1px solid #7B9792}
.coastal-home .footer h2{font-family:var(--serif);font-size:33px;line-height:1.4;letter-spacing:-.06em;margin:12px 0 0}
.coastal-home .footer p{font-size:13px;color:#D7E5DE;max-width:28em;margin:0;line-height:1.9}
.coastal-home .footer__base{display:flex;justify-content:space-between;gap:30px;color:#C5D7CE;font-size:12px;padding-top:23px}
.coastal-home .footer__base a{text-decoration:underline;text-underline-offset:3px}
.coastal-home .search-panel{display:none;position:fixed;inset:0;background:rgba(11,44,46,.84);z-index:100;padding:80px 20px;align-items:start;justify-content:center}
.coastal-home .search-panel.is-visible{display:flex}
.coastal-home .search-panel__box{background:var(--paler);padding:40px;max-width:670px;width:100%;position:relative;box-shadow:0 22px 80px #0B323560}
.coastal-home .search-panel__box h2{font-family:var(--serif);font-size:33px;line-height:1.3;letter-spacing:-.05em;margin:0 0 22px}
.coastal-home .search-panel form{display:flex;gap:10px}
.coastal-home .search-panel input{height:55px;width:100%;border:1px solid var(--line);background:#fff;padding:0 16px;min-width:0}
.coastal-home .search-panel form button{background:var(--deep);border:0;color:#fff;padding:0 23px;font-size:13px;font-weight:700;white-space:nowrap}
.coastal-home .search-close{position:absolute;top:10px;right:12px;background:transparent;border:0;font-size:28px;width:45px;height:45px;line-height:1}
.coastal-home .search-panel__hint{margin:14px 0 0;font-size:12px;color:var(--soft)}
@media (max-width:1160px){.coastal-home .site-head .container{grid-template-columns:1fr auto}
.coastal-home .site-head__center{display:none}
.coastal-home .site-head__left{grid-column:1}
.coastal-home .site-head__right{grid-column:2}
.coastal-home .feature{gap:38px;grid-template-columns:1fr 1.1fr}
.coastal-home .feature__copy{min-height:470px}
.coastal-home .feature__visual{min-height:470px}
.coastal-home .cover-hero__heading{font-size:100px}
.coastal-home .story-grid{gap:18px}
.coastal-home .story-card__title{font-size:20px}}
@media (max-width:760px){.coastal-home .container{width:min(100% - 36px,var(--max))}
.coastal-home .site-head .container{min-height:74px}
.coastal-home .brandmark{font-size:17px}
.coastal-home .brandmark__seal{width:35px;height:35px;font-size:22px}
.coastal-home .site-head__right{gap:12px}
.coastal-home .site-head nav{display:none;position:absolute;top:73px;left:0;right:0;background:var(--paper);padding:18px;box-shadow:0 10px 18px #123F4218;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid var(--line)}
.coastal-home .site-head nav.is-open{display:flex}
.coastal-home .site-head nav a{display:block;padding:12px 5px;border-bottom:1px solid var(--line)}
.coastal-home .mobile-menu{display:block}
.coastal-home .searchbtn{width:44px;height:44px}
.coastal-home .topline{height:auto;min-height:37px}
.coastal-home .topline .container{font-size:10px;gap:12px}
.coastal-home .topline .container span:last-child{display:none}
.coastal-home .hero{padding:35px 0 44px}
.coastal-home .hero-header{display:block;margin-bottom:27px;padding-bottom:22px}
.coastal-home .hero-brand__over{font-size:12px}
.coastal-home .hero-brand h1{font-size:clamp(40px,10vw,58px);line-height:1.3}
.coastal-home .hero-desc{max-width:none;margin:18px 0 0;font-size:13px}
.coastal-home .feature{grid-template-columns:1fr;gap:24px}
.coastal-home .feature__visual{grid-row:1;height:390px;min-height:390px}
.coastal-home .feature__copy{grid-row:2;min-height:0;gap:0}
.coastal-home .feature__title{font-size:34px;line-height:1.47;margin:20px 0 14px}
.coastal-home .feature__lead{font-size:14px;line-height:1.9}
.coastal-home .feature__index{margin-top:27px}
.coastal-home .cover-hero{padding:28px}
.coastal-home .cover-hero:before{width:218px;height:218px;right:-148px;top:-60px}
.coastal-home .cover-hero__heading{font-size:100px}
.coastal-home .cover-hero__sub{margin-bottom:28px}
.coastal-home .section-head h2{font-size:28px}
.coastal-home .section-head p{display:none}
.coastal-home .story-panel{padding:14px 0 47px}
.coastal-home .story-grid{grid-template-columns:1fr 1fr;gap:28px 16px}
.coastal-home .story-grid .story-card:first-child{grid-column:1/-1}
.coastal-home .story-grid .story-card:first-child .story-art{height:275px}
.coastal-home .story-art{height:176px;margin-bottom:11px}
.coastal-home .story-art__type{padding:15px}
.coastal-home .story-art__type b{font-size:61px}
.coastal-home .story-art--kpi .story-art__type b{font-size:65px}
.coastal-home .story-art--larp .story-art__type b{font-size:53px}
.coastal-home .story-card__title{font-size:17px;line-height:1.55;margin:7px 0}
.coastal-home .story-card__summary{font-size:12px;line-height:1.75}
.coastal-home .story-card__date{font-size:11px}
.coastal-home .breaker{margin:0 0 49px}
.coastal-home .breaker .container{min-height:187px;grid-template-columns:1fr auto;gap:8px}
.coastal-home .breaker__glyph{font-size:78px}
.coastal-home .breaker__title{font-size:23px;line-height:1.6}
.coastal-home .library{padding-bottom:55px}
.coastal-home .library__grid{grid-template-columns:1fr;gap:24px}
.coastal-home .library__image{height:255px}
.coastal-home .library__spot h3{font-size:23px}
.coastal-home .library__item{padding:19px 0;grid-template-columns:43px 1fr;gap:6px}
.coastal-home .library__item__no{font-size:19px}
.coastal-home .library__item__title{font-size:18px}
.coastal-home .topics{padding:39px 0 50px}
.coastal-home .topics__head{font-size:27px}
.coastal-home .topics__row{grid-template-columns:repeat(2,1fr)}
.coastal-home .topic{min-height:112px;padding:17px 14px;gap:24px}
.coastal-home .topic strong{font-size:18px}
.coastal-home .topic:last-child{grid-column:1/-1}
.coastal-home .footer{padding:37px 0 24px}
.coastal-home .footer__top{grid-template-columns:1fr;gap:26px;padding-bottom:26px}
.coastal-home .footer h2{font-size:27px}
.coastal-home .footer__base{flex-direction:column;gap:9px}
.coastal-home .search-panel{padding:100px 15px}
.coastal-home .search-panel__box{padding:34px 20px 22px}
.coastal-home .search-panel__box h2{font-size:27px}}
@media (prefers-reduced-motion:reduce){.coastal-home *,.coastal-home *:before,.coastal-home *:after{scroll-behavior:auto!important;transition:none!important}}
/* Astra integration is page-scoped: other posts and pages stay on the parent theme. */
body.coastal-design-page{background:#F6F4EF;color:#12383B}
body.coastal-design-page .site-content{background:#F6F4EF;padding:0!important}
body.coastal-design-page .site-content > .ast-container,body.coastal-design-page #primary,body.coastal-design-page .content-area{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;float:none!important}
body.coastal-design-page #secondary,body.coastal-design-page .entry-header,body.coastal-design-page .entry-footer{display:none!important}
body.coastal-design-page .site-main,body.coastal-design-page article.page,body.coastal-design-page .entry-content{padding:0!important;margin:0!important;max-width:none!important}
body.coastal-design-page .site-header{background:#F6F4EF;border-bottom:1px solid #C7D3CC;box-shadow:none}
body.coastal-design-page .site-title a,body.coastal-design-page .main-header-menu a{color:#12383B}
body.coastal-design-page .site-title{font-family:"Noto Serif CJK TC","Songti TC",serif;font-weight:800;letter-spacing:-.04em}
body.coastal-design-page .site-footer{background:#123F42;color:#F6F4EF}
body.coastal-design-page .site-footer a{color:#D5E6DE}
.coastal-home .feature__visual .figure-inner img{display:block}
.coastal-home .coastal-live-post-cover{width:100%;height:100%;object-fit:cover}
.coastal-home .coastal-visually-hidden{position:absolute!important;clip:rect(0,0,0,0)!important;height:1px;width:1px;overflow:hidden}
/* Single-post editorial reading template */
.coastal-article{--paper:#F6F4EF;--paler:#FFFEFA;--ink:#12383B;--soft:#526B69;--line:#C7D3CC;--deep:#123F42;--coral:#BD523B;--sea-glass:#C9DAD1;--serif:"Noto Serif CJK TC","Songti TC","Source Han Serif TC",serif;--sans:"Noto Sans CJK TC","PingFang TC","Microsoft JhengHei",system-ui,sans-serif;background:var(--paper);color:var(--ink);font-family:var(--sans);padding:0 0 84px}
.coastal-article *, .coastal-article *::before,.coastal-article *::after{box-sizing:border-box}
.coastal-article a{color:var(--deep);text-underline-offset:4px}
.coastal-article a:focus-visible{outline:3px solid var(--coral);outline-offset:4px}
.coastal-article .ca-wrap{width:min(1100px,calc(100% - 64px));margin:0 auto}
.coastal-article .ca-kicker{padding-top:45px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;color:var(--deep);font-size:12px;letter-spacing:.08em;font-weight:700}
.coastal-article .ca-rule{height:1px;background:var(--line);margin:25px 0 32px}
.coastal-article .ca-hero{max-width:1000px;padding:0 0 28px}
.coastal-article .ca-hero h1{font-family:var(--serif);font-size:clamp(37px,4.7vw,66px);font-weight:800;line-height:1.4;letter-spacing:-.065em;margin:0 0 24px;max-width:950px;color:var(--ink);overflow-wrap:anywhere}
.coastal-article .ca-hero .ca-summary{font-size:17px;line-height:1.95;max-width:760px;color:var(--soft);margin:0 0 26px}
.coastal-article .ca-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--soft);align-items:center}
.coastal-article .ca-meta .ca-dot{width:3px;height:3px;border-radius:50%;background:#A4B5AE}
.coastal-article .ca-meta a{font-weight:700;text-decoration:none}
.coastal-article .ca-feature{margin:32px 0 55px;max-height:520px;overflow:hidden;background:#DAE5DD}
.coastal-article .ca-feature img{width:100%;height:auto;max-height:520px;object-fit:cover;display:block}
.coastal-article .ca-layout{display:grid;grid-template-columns:minmax(0,720px) minmax(200px,1fr);gap:72px;align-items:start}
.coastal-article .ca-content{min-width:0;font-size:18px;line-height:2.05;letter-spacing:.015em;overflow-wrap:anywhere}
.coastal-article .ca-content > *:first-child{margin-top:0}
.coastal-article .ca-content p,.coastal-article .ca-content li{color:#264346}
.coastal-article .ca-content p{margin:0 0 1.6em}
.coastal-article .ca-content h2{font-family:var(--serif);font-size:clamp(26px,3vw,33px);line-height:1.55;letter-spacing:-.055em;border-top:1px solid var(--line);padding-top:30px;margin:62px 0 20px;color:var(--ink);font-weight:800}
.coastal-article .ca-content h3{font-family:var(--serif);font-size:24px;line-height:1.5;letter-spacing:-.04em;margin:45px 0 18px;color:var(--ink)}
.coastal-article .ca-content h4{font-size:20px;margin:30px 0 10px}
.coastal-article .ca-content a{text-decoration:underline;text-decoration-color:#A7BFB4}
.coastal-article .ca-content img{max-width:100%;height:auto}
.coastal-article .ca-content figure{margin:28px 0 40px;max-width:100%}
.coastal-article .ca-content figcaption{font-size:13px;color:var(--soft);text-align:center;padding:8px 12px}
.coastal-article .ca-content blockquote,.coastal-article .ca-content .wp-block-quote{margin:32px 0 42px;padding:18px 24px 18px 28px;border-left:3px solid var(--coral);background:#EAF0EA;color:var(--deep);font:700 22px/1.75 var(--serif)}
.coastal-article .ca-content blockquote p{color:var(--deep);margin-bottom:0}
.coastal-article .ca-content ul,.coastal-article .ca-content ol{padding-left:1.65em;margin:16px 0 30px}
.coastal-article .ca-content li{margin-bottom:8px}
.coastal-article .ca-content pre,.coastal-article .ca-content .wp-block-code{padding:20px;overflow:auto;background:#142E31;color:#F3F5EE;border-radius:3px;font:14px/1.7 ui-monospace,Consolas,monospace}
.coastal-article .ca-content code:not(pre code){background:#E5ECE6;border-radius:2px;padding:2px 4px;font-size:.84em;overflow-wrap:anywhere}
.coastal-article .ca-content table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.6;display:block;overflow-x:auto;margin:22px 0 35px}
.coastal-article .ca-content th,.coastal-article .ca-content td{padding:12px 15px;border:1px solid #C8D7D0;text-align:left;white-space:normal;min-width:100px}
.coastal-article .ca-content th{background:#E5EEE8;font-weight:700}
.coastal-article .ca-content .wp-block-image img{border-radius:0}
.coastal-article .ca-aside{align-self:stretch;display:flex;flex-direction:column;font-size:13px;color:var(--soft);border-top:2px solid var(--deep);padding-top:17px}
.coastal-article .ca-aside h2{font-family:var(--serif);font-size:20px;letter-spacing:-.04em;color:var(--ink);margin:0 0 14px}
.coastal-article .ca-aside ol{padding:0;list-style:none;margin:0}
.coastal-article .ca-aside li{border-bottom:1px solid var(--line)}
.coastal-article .ca-aside a{display:block;padding:11px 2px;color:var(--soft);text-decoration:none;line-height:1.6}
.coastal-article .ca-aside li.ca-sub a{padding-left:18px;font-size:12px}
.coastal-article .ca-aside a:hover,.coastal-article .ca-aside a[aria-current="true"]{color:var(--coral)}
.coastal-article .ca-reading-label{font-size:12px;letter-spacing:.13em;font-weight:800;color:var(--deep)}
.coastal-article .ca-author{border-top:1px solid var(--line);margin-top:55px;padding-top:28px;display:flex;gap:20px;align-items:flex-start}
.coastal-article .ca-author-avatar{width:54px;height:54px;flex:none;border-radius:50%;background:var(--deep);color:white;display:grid;place-items:center;font:800 24px Georgia,serif}
.coastal-article .ca-author h2{font-family:var(--serif);font-size:22px;margin:0 0 6px;border:0;padding:0;line-height:1.3}
.coastal-article .ca-author p{font-size:14px;margin:0;color:var(--soft);line-height:1.8}
.coastal-article .ca-tags{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0 0}
.coastal-article .ca-tags a{border:1px solid var(--line);padding:5px 10px;font-size:12px;text-decoration:none;color:var(--soft)}
.coastal-article .ca-related{margin-top:75px;padding-top:35px;border-top:1px solid var(--deep)}
.coastal-article .ca-related h2{font-family:var(--serif);font-size:32px;letter-spacing:-.05em;margin:0 0 25px}
.coastal-article .ca-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.coastal-article .ca-related-item{border-top:3px solid var(--sea-glass);padding-top:13px}
.coastal-article .ca-related-item span{font-size:11px;letter-spacing:.1em;color:var(--soft)}
.coastal-article .ca-related-item h3{font-family:var(--serif);font-size:20px;line-height:1.5;letter-spacing:-.04em;margin:9px 0}
.coastal-article .ca-related-item a{text-decoration:none}
.coastal-article .ca-related-item a:hover{color:var(--coral)}
.coastal-article .ca-back{display:inline-block;margin:25px 0 0;color:var(--deep);font-weight:700;text-decoration:none}
.coastal-article .ca-progress{height:3px;background:var(--coral);position:fixed;top:0;left:0;width:0;z-index:99999;pointer-events:none;transition:width .12s}
.coastal-article .ca-content :where(.has-background){padding:22px!important}
.coastal-article .ca-content .wp-block-image.alignwide,.coastal-article .ca-content .alignwide{margin-left:0;margin-right:0;max-width:100%}
@media(max-width:960px){.coastal-article .ca-layout{grid-template-columns:1fr;gap:30px}.coastal-article .ca-aside{position:static;order:-1;padding:16px;background:#EAF0EA;border-top:0}.coastal-article .ca-aside ol{display:none}.coastal-article .ca-aside h2{font-size:16px;margin:0}.coastal-article .ca-aside h2:after{content:"（桌面顯示）";font:12px var(--sans);margin-left:8px;color:var(--soft)}.coastal-article .ca-related-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.coastal-article .ca-wrap{width:calc(100% - 36px)}.coastal-article .ca-hero h1{font-size:34px;line-height:1.48}.coastal-article .ca-hero .ca-summary{font-size:15px}.coastal-article .ca-kicker{padding-top:26px}.coastal-article .ca-feature{margin:15px 0 30px}.coastal-article .ca-content{font-size:16px;line-height:1.96}.coastal-article .ca-content h2{font-size:25px}.coastal-article .ca-content h3{font-size:22px}.coastal-article .ca-content blockquote{font-size:19px;padding:16px}.coastal-article .ca-related-grid{grid-template-columns:1fr}.coastal-article .ca-related{margin-top:48px}.coastal-article{padding-bottom:48px}}
@media(prefers-reduced-motion:reduce){.coastal-article *{transition:none!important;scroll-behavior:auto!important}}
/* Featured images fade in only when fully loaded, so a broken image never leaves an empty card. */
.coastal-home .figure-inner img.coastal-live-post-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2;opacity:0;transition:opacity .3s}
.coastal-home .figure-inner img.coastal-live-post-cover.loaded,.coastal-home .story-art img.coastal-live-post-cover.loaded,.coastal-home .library__image img.coastal-live-post-cover.loaded{opacity:1}
.coastal-home .feature__visual,.coastal-home .story-art{cursor:pointer}
/* ==========================================================================
   Coastal archive / category listing (v1.0.2)
   Every rule is scoped to .coastal-archive, so the home page, the article
   template and every other page keep their existing styles untouched.
   Tokens repeat the coastal-home palette: warm paper, deep sea, sea glass, terracotta.
   ========================================================================== */
.coastal-archive{--paper:#F6F4EF;--paler:#FFFEFA;--ink:#12383B;--soft:#526B69;--subtle:#657C79;--line:#C7D3CC;--deep:#123F42;--teal:#185A5B;--coral:#BD523B;--mustard:#D0AC7E;--sea-glass:#C9DAD1;--sea-glass-pale:#DFE9E3;--sans:"Noto Sans CJK TC","PingFang TC","Microsoft JhengHei",system-ui,sans-serif;--serif:"Noto Serif CJK TC","Songti TC","Source Han Serif TC",serif;--coastal-archive-width:1200px;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;padding:0 0 84px}
.coastal-archive *,.coastal-archive *::before,.coastal-archive *::after{box-sizing:border-box}
.coastal-archive a{color:inherit;text-decoration:none}
.coastal-archive a:hover{text-decoration:none}
.coastal-archive a:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
.coastal-archive img{max-width:100%}
.coastal-archive .container{width:min(var(--coastal-archive-width),calc(100% - 96px));margin-inline:auto}
.coastal-archive .tinycaps{font-family:var(--sans);font-weight:700;letter-spacing:.16em;font-size:11px;text-transform:uppercase;line-height:1.4}
.coastal-archive__header{padding:64px 0 30px;border-bottom:1px solid var(--ink)}
.coastal-archive__kicker{display:flex;align-items:center;gap:14px;color:var(--teal)}
.coastal-archive__kicker:before{content:"";display:block;flex:none;width:34px;height:1px;background:var(--teal)}
.coastal-archive__title{position:relative;display:inline-block;overflow-wrap:anywhere;font-family:var(--serif);font-weight:900;font-size:clamp(38px,4.4vw,60px);line-height:1.24;letter-spacing:-.075em;margin:22px 0 0}
.coastal-archive__title:after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:4px;background:var(--coral);transform:rotate(-1deg)}
.coastal-archive__desc{max-width:46em;margin:26px 0 0;font-size:15px;line-height:1.95;color:var(--soft)}
.coastal-archive__meta{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:22px;color:var(--soft);font-size:12px;letter-spacing:.05em}
.coastal-archive__meta a{color:var(--teal);font-weight:700}
.coastal-archive__meta a:hover{color:var(--coral)}
.coastal-archive__dot{flex:none;width:3px;height:3px;border-radius:50%;background:#A4B5AE}
.coastal-archive__listhead{display:flex;justify-content:space-between;gap:20px;align-items:baseline;padding:26px 0 4px;color:var(--soft);font-size:11px;font-weight:750;letter-spacing:.14em;text-transform:uppercase}
.coastal-archive__listhead span:last-child{color:#6C807B;font-weight:600}
.coastal-archive__item{display:grid;grid-template-columns:minmax(0,1fr) 288px;gap:44px;align-items:center;padding:30px 0;border-bottom:1px solid var(--line)}
.coastal-archive__body{min-width:0}
.coastal-archive__rowmeta{display:flex;align-items:center;gap:13px;flex-wrap:wrap;color:var(--soft);font-size:12px}
.coastal-archive__date{font:12px Georgia,serif;letter-spacing:.06em;color:#627B77}
.coastal-archive__cat{font-size:11px;font-weight:750;color:var(--teal);letter-spacing:.10em}
.coastal-archive__cat a:hover{color:var(--coral)}
.coastal-archive__posttitle{font-family:var(--serif);font-size:23px;line-height:1.55;letter-spacing:-.055em;font-weight:800;margin:11px 0 10px}
.coastal-archive__posttitle a:hover{color:var(--teal)}
.coastal-archive__excerpt{font-size:13px;line-height:1.85;color:var(--soft);margin:0;max-width:52em}
.coastal-archive__thumb{position:relative;display:block;aspect-ratio:7/5;background:var(--sea-glass);overflow:hidden;color:#1C5955}
.coastal-archive__thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}
.coastal-archive__thumb:hover img{transform:scale(1.03)}
.coastal-archive__thumb--empty:after{content:"";position:absolute;width:170px;height:170px;border:1px solid currentColor;border-radius:50%;right:-52px;top:-58px;opacity:.45}
.coastal-archive__glyph{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--serif);font-weight:900;font-size:46px;letter-spacing:-.04em;color:#1C5955}
.coastal-archive__pagination{display:flex;flex-wrap:wrap;gap:9px;margin:44px 0 0}
.coastal-archive__page{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 13px;border:1px solid var(--line);color:var(--soft);font-size:13px;font-weight:700;letter-spacing:.02em}
.coastal-archive__page:hover{border-color:var(--deep);color:var(--deep)}
.coastal-archive__page.current{background:var(--deep);border-color:var(--deep);color:var(--paper)}
.coastal-archive__page.dots{border-color:transparent;min-width:auto;padding:0 2px}
.coastal-archive__empty{margin:34px 0 0;border:1px solid var(--line);background:var(--sea-glass-pale);padding:44px 30px;text-align:center;font-size:15px;color:var(--soft)}
.coastal-archive__back{display:inline-flex;align-items:center;gap:9px;margin:40px 0 0;color:var(--deep);font-size:13px;font-weight:700}
.coastal-archive__back:hover{color:var(--coral)}
@media (max-width:1160px){.coastal-archive__item{grid-template-columns:minmax(0,1fr) 236px;gap:30px}
.coastal-archive__posttitle{font-size:21px}}
@media (max-width:760px){.coastal-archive{padding-bottom:48px}
.coastal-archive .container{width:min(100% - 36px,var(--coastal-archive-width))}
.coastal-archive__header{padding:34px 0 24px}
.coastal-archive__title{font-size:clamp(31px,8.6vw,42px);margin-top:18px}
.coastal-archive__desc{font-size:14px;line-height:1.9;margin-top:20px}
.coastal-archive__listhead{padding:20px 0 2px;font-size:10px;letter-spacing:.1em}
.coastal-archive__item{grid-template-columns:1fr;gap:16px;padding:24px 0}
.coastal-archive__thumb{order:-1;aspect-ratio:16/9}
.coastal-archive__posttitle{font-size:19px;margin:9px 0 8px}
.coastal-archive__excerpt{font-size:12px;line-height:1.8}
.coastal-archive__pagination{gap:7px;margin-top:34px}
.coastal-archive__page{min-width:38px;height:38px;font-size:12px;padding:0 10px}
.coastal-archive__empty{padding:34px 18px;font-size:14px}}
@media (prefers-reduced-motion:reduce){.coastal-archive *,.coastal-archive *:before,.coastal-archive *:after{transition:none!important;scroll-behavior:auto!important}}

/* v1.0.3: the sticky rail TOC is the canonical article TOC. Hide the plugin's
   in-content TOC box inside Coastal articles to avoid duplication, and make
   sure the [hidden] state on the rail always wins. */
.coastal-article .ez-toc-container{display:none}
.coastal-article .ca-aside[hidden]{display:none}

/* v1.0.4: the rail is server-rendered (TOC + related + popular) so it is never
   empty; only the TOC block hides when a post has no headings. */
.coastal-article .ca-rail-toc[hidden]{display:none}
.coastal-article .ca-rail-block{margin-top:28px;border-top:2px solid var(--deep);padding-top:17px}
.coastal-article .ca-rail-list{list-style:none;margin:0;padding:0}
.coastal-article .ca-rail-list li{border-bottom:1px solid var(--line)}
.coastal-article .ca-rail-list a{display:block;padding:10px 2px;color:var(--ink);text-decoration:none;line-height:1.55}
.coastal-article .ca-rail-list a:hover{color:var(--coral)}
.coastal-article .ca-rail-list time{display:block;color:var(--soft);font-size:11px;margin-top:2px}
@media(max-width:960px){.coastal-article .ca-rail-block{display:none}}

/* v1.0.8: when the TOC block is hidden (no headings), drop the first rail
   block's top border so it does not double up with the aside's own rule. */


/* v1.0.9/v1.1.2: only the TOC pins (sticky), inside its own flex:1 wrapper;
   the wrapper's box ends where the related/popular blocks begin, so the
   pinned TOC can never travel into (or overlap) them. The blocks sit at
   the bottom of the full-height rail and scroll into view at the end. */
.coastal-article .ca-rail-toc{position:sticky;top:24px}
.coastal-article .ca-rail-scroll{flex:1 1 auto;min-height:0}

/* v1.1.1: keep the pinned TOC clear of the WordPress admin bar (32px) when
   logged in; visitors without the bar keep the 24px offset. */
body.admin-bar .coastal-article .ca-rail-toc{top:56px}

/* v1.2.0 — press-informed prose (beautiful-article 方法論移植）:
   引言去盒子化（無填色/無粗左邊、以字體與引號記號立住）、表格 Data-Ink 化
   （去直線與填色、只留頂線/表頭線/列髮絲線）、程式碼書頁化（奶油紙面+線邊界）、
   h2 章節編號（CSS counter、陶土色、與目錄對應）、首段 Lead、三點分隔線。 */
.coastal-article .ca-content{counter-reset:ca-sec}
.coastal-article .ca-content h2{counter-increment:ca-sec}
.coastal-article .ca-content h2:before{content:counter(ca-sec,decimal-leading-zero);display:block;font:700 13px var(--sans);letter-spacing:.3em;color:var(--coral);margin-bottom:12px}
.coastal-article .ca-content > p:first-of-type{font-size:1.13em;line-height:1.95;color:var(--ink)}
.coastal-article .ca-content blockquote,.coastal-article .ca-content .wp-block-quote{border:0;background:transparent;padding:8px 0 8px 42px;position:relative}
.coastal-article .ca-content blockquote:before,.coastal-article .ca-content .wp-block-quote:before{content:"\201C";position:absolute;left:0;top:-6px;font:800 52px/1 Georgia,serif;color:var(--coral)}
.coastal-article .ca-content pre,.coastal-article .ca-content .wp-block-code{background:#FBF9F2;color:#22312F;border:1px solid var(--line)}
.coastal-article .ca-content pre code{background:none;color:inherit;padding:0}
.coastal-article .ca-content table{border-top:2px solid var(--deep);border-bottom:2px solid var(--deep)}
.coastal-article .ca-content th,.coastal-article .ca-content td{border:0;border-bottom:1px solid var(--line)}
.coastal-article .ca-content th{background:transparent;border-bottom:1.5px solid var(--deep)}
.coastal-article .ca-content hr{border:0;text-align:center;margin:46px 0}
.coastal-article .ca-content hr:before{content:"· · ·";letter-spacing:1.2em;color:#A4B5AE;font-size:18px}
.coastal-article .ca-content a:hover{color:var(--coral);text-decoration-color:var(--coral)}
