/* ===========================================================
   Paper pages (Surfaces Explained first) — site design language,
   neutral surfaces, homepage cards, blue/rust buttons.
   =========================================================== */

:root{ --accent:#E30022; --line:#e4e6e9; }

.psf{background:#fff}
.psf .wrap{max-width:1180px;margin:0 auto;padding:0 40px}
@media(max-width:680px){.psf .wrap{padding:0 22px}}
/* Hero: identical to the home page (monogram at the column edge, text beside it,
   the whole block centred in the wrap). On interior pages the image can be taller
   than the copy, so vertically centre the text column against the image. */
.psf .hero--has-art .hero__grid{align-items:center}
/* Cap hero image height on builder/brand pages so a very tall upload (e.g. a
   single upright brush) can't tower down the page. Scoped to .psf so the home
   page hero is never affected. object-fit keeps it proportional and centred. */
.psf .hero__img{max-height:720px;object-fit:contain;object-position:top}
.psf-body{padding:0 0 8px}
.psd .psf-body{padding-top:12px}/* mill/brand pages: breathing room below the hero */
.psf-body > .pg-band:first-child{padding-top:40px}/* breathing room under the hero */

/* ===== Alternating section bands (so each section reads as distinct) ===== */
.pg-band{padding:52px 0}
.pg-band--tint{background:var(--hero-bg,#FAFAFA)}
.pg-band > .wrap > *:first-child{margin-top:0}
.psf h3{font-weight:800;font-size:20px;line-height:1.25;color:var(--ink);margin:1.9rem 0 .5rem;max-width:none}

.psf-intro{font-size:18px;line-height:1.7;color:#34322c;margin:0 0 1.4rem;max-width:none}
.psf-callout{background:#FAFAFA;border:1px solid var(--line);border-left:4px solid var(--rust,#a8552a);border-radius:0 8px 8px 0;padding:16px 20px;font-size:18px;color:var(--ink-2);line-height:1.65;margin:1.4rem 0;max-width:none}
.psf-callout b{color:var(--ink)}
/* A bold lead that opens the callout is lifted out to sit as a rust heading
   ABOVE the card (see g_callout.php). */
.psf .psf-callout__lead{color:var(--rust,#a8552a);font-size:20px;font-weight:800;line-height:1.3;margin:0 0 .55rem}
.psf-callout a{color:var(--accent);font-weight:600;text-decoration:none}
.psf-callout a:hover{text-decoration:underline}

.psf-concepts{background:#f4f3f1;border-radius:12px;padding:16px 18px;margin:1.5rem 0;max-width:none}
.psf-concepts .ct{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);margin-bottom:11px}
.psf-pills{display:flex;flex-wrap:wrap;gap:9px}
.psf-pill{font-size:13px;font-weight:600;color:var(--blue);border:1px solid var(--blue);background:#fff;border-radius:999px;padding:6px 13px;text-decoration:none}
.psf-pill:hover{background:rgba(48,68,82,.07)}
.psf-pill span{color:var(--accent)}

.psf-scale{display:flex;align-items:center;gap:10px;margin:1.8rem 0 .7rem;font-size:11px;font-weight:700;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em}
.psf-scale .bar{flex:1;height:8px;border-radius:4px;background:linear-gradient(90deg,#eceef0,#cfd3d8)}

.psf-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:8px}
@media(max-width:680px){.psf-grid{grid-template-columns:1fr}}
.psf-card{background:#f4f3f1;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 12px 30px -14px rgba(40,40,40,.2),0 2px 6px rgba(40,40,40,.06)}
.psf-card--pick{box-shadow:0 0 0 2px var(--blue),0 12px 30px -14px rgba(40,40,40,.22)}
.psf-card__ph{height:118px;display:flex;align-items:flex-end;padding:8px 12px;font-size:11px;color:#6f7378}
.psf-card__ph--img{padding:0}
.psf-card__ph--img img{width:100%;height:118px;object-fit:cover;display:block}
.ph--hp{background:#eceef0}
.ph--sp{background:repeating-linear-gradient(45deg,#eceef0,#eceef0 7px,#e3e6e9 7px,#e3e6e9 14px)}
.ph--cp{background:repeating-linear-gradient(45deg,#eaedf0,#eaedf0 11px,#dfe3e7 11px,#dfe3e7 22px)}
.ph--rough{background:repeating-linear-gradient(45deg,#e8ebee,#e8ebee 17px,#d8dde2 17px,#d8dde2 34px)}
.psf-card__bd{padding:15px 17px 17px;display:flex;flex-direction:column;flex:1}
.psf-card__top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.psf-card__h{font-weight:800;font-size:19px;color:var(--ink);margin:0;line-height:1.15}
.psf-card__alt{font-size:11px;font-weight:700;color:var(--ink-3);white-space:nowrap}
.psf-card__flag{font-size:10px;font-weight:700;color:#fff;background:var(--blue);padding:2px 8px;border-radius:5px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.psf-card__tex{font-size:12.5px;color:var(--accent);font-weight:700;margin:3px 0 9px}
.psf-card__bd p{font-size:14px;color:var(--ink-2);line-height:1.6;margin:0 0 10px}
.psf-best{font-size:12.5px;background:#fff;border-radius:8px;padding:9px 11px;line-height:1.5;margin-bottom:10px}
.psf-best b{display:block;font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);margin-bottom:3px}
.psf-card__more{font-size:13px;color:var(--accent);text-decoration:none;font-weight:700;margin-top:auto}
.psf-card__more:hover{text-decoration:underline}

.psf-choose{margin-top:22px;background:#f4f3f1;border-radius:16px;padding:20px 24px;box-shadow:0 12px 30px -14px rgba(40,40,40,.2),0 2px 6px rgba(40,40,40,.06)}
.psf-choose h2{font-weight:800;font-size:22px;color:var(--ink);margin:0 0 8px}
.psf-choose p{font-size:15.5px;color:var(--ink-2);line-height:1.65;margin:0 0 8px}
.psf-choose a{color:var(--accent);font-weight:600;text-decoration:none}

.psf-buy{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.psf-buy a{font-size:13px;font-weight:700;letter-spacing:.04em;text-decoration:none;padding:13px 22px;border-radius:8px}
.psf-buy a.is-primary{background:var(--rust);color:#fff}
.psf-buy a.is-primary:hover{background:#8f461f}
.psf-buy a.is-alt{background:#fff;color:var(--blue);border:1px solid var(--blue)}
.psf-buy a.is-alt:hover{background:rgba(48,68,82,.07)}
.psf-disclosure{font-size:11.5px;color:var(--ink-3);margin-top:10px}

.psf-foot{margin-top:1.8rem;padding-top:1.1rem;border-top:1px solid var(--line);font-size:13px;color:var(--ink-2)}
.psf-foot p{margin:0 0 .5rem}
.psf-foot a{color:var(--accent);text-decoration:none}
.psf-foot a:hover{text-decoration:underline}

/* ===== Paper Surface deep-dive (Rough / Hot Press / Soft Press) ===== */
.psf h2{font-weight:800;font-size:26px;line-height:1.15;color:var(--ink);margin:2.4rem 0 .6rem}
.psf-lead{font-size:18px;line-height:1.7;color:#34322c;margin:0 0 .6rem;max-width:none}
.psd-pickline{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--blue);color:#fff;padding:4px 11px;border-radius:6px;margin-top:14px}

.psd-top{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:4px 0 1.8rem;align-items:stretch}
.psd-top--solo{grid-template-columns:1fr}
@media(max-width:680px){.psd-top{grid-template-columns:1fr}}
.psd-imgwrap{border-radius:16px;overflow:hidden;min-height:230px;display:flex;background:#eceef0}
.psd-imgwrap.has-img{padding:0}
.psd-imgwrap img{width:100%;height:100%;min-height:230px;object-fit:cover;display:block}
.psd-facts{background:#f4f3f1;border-radius:16px;padding:22px 24px;box-shadow:0 12px 30px -14px rgba(40,40,40,.2),0 2px 6px rgba(40,40,40,.06)}
.psd-facts__l{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:0 0 6px}
.psd-facts__grid{display:grid;grid-template-columns:1fr}
.psd-top--solo .psd-facts__grid{grid-template-columns:1fr 1fr;column-gap:34px}
@media(max-width:560px){.psd-top--solo .psd-facts__grid{grid-template-columns:1fr}}
.psd-fact{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.psd-fact span:first-child{color:var(--ink-2)}
.psd-fact span:last-child{color:var(--ink);font-weight:700;text-align:right}

.psd-beh{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:10px}
@media(max-width:760px){.psd-beh{grid-template-columns:1fr 1fr}}
.psd-behcard{background:#f4f3f1;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 12px 30px -14px rgba(40,40,40,.2),0 2px 6px rgba(40,40,40,.06)}
.psd-behcard__ph{height:96px;background:#e7eaed}
.psd-behcard__ph img{width:100%;height:96px;object-fit:cover;display:block}
.psd-behcard__b{padding:15px 16px 17px}
.psd-behcard__t{font-weight:800;font-size:15.5px;color:var(--ink);line-height:1.2}
.psd-behcard__n{font-size:13px;color:var(--ink-2);margin-top:5px;line-height:1.5}

.psd-for{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:10px}
@media(max-width:680px){.psd-for{grid-template-columns:1fr}}
.psd-for__col{background:#f4f3f1;border-radius:16px;padding:18px 20px;font-size:14.5px;line-height:1.6;color:var(--ink-2);box-shadow:0 12px 30px -14px rgba(40,40,40,.2),0 2px 6px rgba(40,40,40,.06)}
.psd-for__l{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px}
.psd-for__col.neg .psd-for__l{color:var(--rust)}

.psd-tech{margin:1rem 0}
.psd-tech ul{margin:0;padding-left:1.1rem}
.psd-tech li{font-size:15px;line-height:1.65;color:#34322c;margin:0 0 .7rem}
.psd-tech b{color:var(--ink)}
.psd-tech a{color:var(--accent);font-weight:600;text-decoration:none}

.psd-brandgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:16px;margin:1rem 0}
.psd-brandcard{background:#f4f3f1;border-radius:16px;padding:18px 20px;display:flex;flex-direction:column;box-shadow:0 12px 30px -14px rgba(40,40,40,.2),0 2px 6px rgba(40,40,40,.06)}
.psd-brandcard__h{font-weight:800;font-size:16.5px;color:var(--ink);line-height:1.2}
.psd-brandcard__h a{color:inherit;text-decoration:none}
.psd-brandcard__h a:hover{color:var(--accent)}
.psd-brandcard__c{font-size:13.5px;color:var(--ink-2);line-height:1.55;margin:8px 0 14px;flex:1}
.psd-brandcard__buy{font-size:13px;font-weight:700;color:var(--accent);text-decoration:none;margin-top:auto}
.psd-brandcard__buy:hover{text-decoration:underline}

.psd-note{background:var(--tint-blue,#eef1f8);border:1px solid #cdd6ec;border-left:5px solid var(--blue);border-radius:0 12px 12px 0;padding:16px 20px;margin:1.8rem 0;font-size:18px;line-height:1.62;color:var(--ink-2)}
.psd-note__tag{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--blue);margin-bottom:6px}

/* ===== Cotton vs Cellulose — side-by-side comparison table ===== */
.pcmp{margin:1.1rem 0 .4rem;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.pcmp__head,.pcmp__row{display:grid;grid-template-columns:1fr 1.35fr 1.35fr;gap:0}
.pcmp__head{background:#FAFAFA;border-bottom:1px solid var(--line)}
.pcmp__head>div{padding:13px 16px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}
.pcmp__head>div.pcmp-cot{color:var(--ink);border-left:3px solid var(--blue)}
.pcmp__head>div.pcmp-cel{color:var(--ink-3);border-left:3px solid var(--line)}
.pcmp__row{border-top:1px solid var(--line)}
.pcmp__row:first-of-type{border-top:none}
.pcmp__row>div{padding:13px 16px;font-size:14px;line-height:1.5}
.pcmp__row .pcmp-prop{font-weight:700;color:var(--ink);background:#fbfaf8}
.pcmp__row .pcmp-cot{color:#2a3f4d;background:rgba(48,68,82,.045);border-left:3px solid var(--blue)}
.pcmp__row .pcmp-cel{color:var(--ink-2);border-left:3px solid var(--line)}
@media(max-width:680px){
	.pcmp__head{display:none}
	.pcmp__row{grid-template-columns:1fr}
	.pcmp__row>div{border-top:1px solid var(--line)}
	.pcmp__row .pcmp-prop{border-top:none}
	.pcmp__row .pcmp-cot::before{content:"Cotton — ";font-weight:700;color:var(--blue)}
	.pcmp__row .pcmp-cel::before{content:"Cellulose — ";font-weight:700;color:var(--ink-3)}
}

/* ===== Paper Weights table ===== */
.pwt{margin:1.1rem 0 .4rem;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.pwt__head,.pwt__row{display:grid;grid-template-columns:.8fr 1fr 2.6fr;gap:0;align-items:center}
.pwt__head{background:#FAFAFA;border-bottom:1px solid var(--line)}
.pwt__head>div{padding:12px 16px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}
.pwt__row{border-top:1px solid var(--line)}
.pwt__row:first-of-type{border-top:none}
.pwt__row>div{padding:13px 16px;font-size:14.5px;line-height:1.5}
.pwt__row .pwt-lb{font-weight:800;color:var(--ink);font-size:16px}
.pwt__row .pwt-gsm{font-weight:700;color:var(--blue)}
.pwt__row .pwt-use{color:var(--ink-2)}
@media(max-width:680px){
	.pwt__head{display:none}
	.pwt__row{grid-template-columns:1fr 1fr;gap:2px 14px}
	.pwt__row .pwt-use{grid-column:1/3}
}

.psf-sources{margin-top:1.4rem;font-size:12.5px;color:var(--ink-3);line-height:1.6}
.psf-sources b{display:block;font-size:11px;letter-spacing:.05em;text-transform:uppercase;margin-bottom:4px}
.psf-sources a{color:var(--ink-2);text-decoration:none;border-bottom:1px solid var(--line)}
.psf-kicker{font-family:var(--script);font-size:30px;line-height:1.25;color:var(--ink);margin:2rem 0 .4rem;max-width:680px}

/* ===== Paper Guide (flexible long-form: how-made, sizing, stretching, etc.) ===== */
.pg-rt{font-size:18px;line-height:1.7;color:#34322c;max-width:none;margin:0 0 .4rem}
.pg-rt p{margin:0 0 1rem}.pg-rt p:last-child{margin-bottom:0}
.pg-rt b{color:var(--ink)}
.pg-rt a{color:var(--accent);font-weight:600;text-decoration:none}
.pg-rt a:hover{text-decoration:underline}
.pg-rt ul{margin:.4rem 0 1rem;padding-left:1.1rem}
.pg-rt li{margin:0 0 .5rem}
.pg-intro{font-size:18px;color:var(--ink-2);max-width:760px;margin:0 0 .9rem;line-height:1.6}

.pg-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));gap:16px;margin:1rem 0 1.5rem}
.pg-card{background:#f4f3f1;border-radius:16px;padding:18px 20px;box-shadow:0 12px 30px -14px rgba(40,40,40,.2),0 2px 6px rgba(40,40,40,.06);display:flex;flex-direction:column}
.pg-card__t{font-weight:800;font-size:16.5px;color:var(--ink);line-height:1.2}
.pg-card__tag{font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--rust);margin:6px 0 9px}
.pg-card--star .pg-card__tag{color:var(--rust)}
.pg-card__b{font-size:18px;color:var(--ink-2);line-height:1.55}

/* Numbered steps as cards — matches the red-number .usecard pattern */
.pg-stepcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,380px));justify-content:center;gap:16px;margin:1rem auto 1.6rem}
/* The step-cards centre themselves; centre the heading + intro above them too so
   the section reads as one centred block instead of a left heading over centred cards. */
.pg-band .wrap:has(> .pg-stepcards) > h2,
.pg-band .wrap:has(> .pg-stepcards) > h3,
.pg-band .wrap:has(> .pg-stepcards) > .pg-intro{text-align:center}
.pg-stepcard{background:#f4f3f1;border-radius:16px;padding:24px 24px;display:flex;flex-direction:column;box-shadow:0 12px 30px -14px rgba(40,40,40,.2),0 2px 6px rgba(40,40,40,.06)}
.pg-stepcard__head{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.pg-stepcard__num{width:46px;height:46px;border-radius:50%;background:var(--accent);color:#fff;font-weight:800;font-size:20px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.pg-stepcard__t{font-weight:800;font-size:18px;color:var(--ink);line-height:1.2}
.pg-stepcard__b{font-size:18px;color:var(--ink-2);line-height:1.6}

.pg-check{max-width:none;margin:.7rem 0 1.5rem;padding:0;list-style:none}
.pg-check li b{color:var(--ink);display:block;margin-bottom:1px}

.pg-cta{background:#f4f3f1;border-radius:16px;padding:36px 56px;margin:1.5rem 0;box-shadow:0 12px 30px -14px rgba(40,40,40,.2),0 2px 6px rgba(40,40,40,.06);text-align:center}
.pg-cta__h{font-weight:800;font-size:21px;color:var(--ink);line-height:1.2;margin-bottom:6px}
.pg-cta__t{font-size:18px;color:var(--ink-2);line-height:1.6;margin:0 auto;max-width:640px}
.pg-cta .psf-buy{margin-top:18px;justify-content:center}
.pg-check li{position:relative;padding:0 0 0 30px;margin:0 0 .7rem;font-size:18px;line-height:1.6;color:#34322c}
.pg-check li::before{content:"";position:absolute;left:0;top:3px;width:19px;height:19px;border-radius:5px;background-color:#e3e6ea;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23304452' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");background-size:12px;background-repeat:no-repeat;background-position:center}

/* ===== Paper Brands / Mills hub ===== */
.pbh-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin:1.1rem 0 1.6rem}
.pbh-card{background:#f4f3f1;border-radius:16px;padding:20px 22px;box-shadow:0 12px 30px -14px rgba(40,40,40,.2),0 2px 6px rgba(40,40,40,.06);display:flex;flex-direction:column}
.pbh-card__h{font-weight:800;font-size:19px;color:var(--ink);line-height:1.15}
.pbh-card__meta{font-size:12px;font-weight:600;color:var(--ink-3);margin:6px 0 10px}
.pbh-card__b{font-size:14px;color:var(--ink-2);line-height:1.6;flex:1}
.pbh-card__more{font-size:13px;font-weight:700;color:var(--accent);text-decoration:none;margin-top:14px}
.pbh-card__more:hover{text-decoration:underline}

.pbh-tbl{margin:1rem 0 1.4rem;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.pbh-tbl__head,.pbh-tbl__row{display:grid;grid-template-columns:1.5fr .7fr 1fr 1.2fr 2.2fr;gap:0;align-items:center}
.pbh-tbl__head{background:#FAFAFA;border-bottom:1px solid var(--line)}
.pbh-tbl__head>div{padding:11px 15px;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}
.pbh-tbl__row{border-top:1px solid var(--line);font-size:13.5px}
.pbh-tbl__row:first-of-type{border-top:none}
.pbh-tbl__row>div{padding:11px 15px;color:var(--ink-2)}
.pbh-tbl__row .m{font-weight:700;color:var(--ink)}

/* ===== Paper Mill deep-dive: at-a-glance + timeline ===== */
/* Quick facts as a slim strip that sits under the hero and reads as its
   metadata — no dark card, no shadow: a light row of label + value pairs
   separated by hairline dividers, wrapping gracefully. */
.sec--glance{padding:2px 0 20px}
.mill-glance{background:none;border:0;border-radius:0;overflow:visible;box-shadow:none;padding:6px 0;margin:0;max-width:none}
.mill-glance__l{display:none}
.mill-glance__grid{display:flex;flex-wrap:wrap;gap:12px 0}
.mill-fact{flex:1 1 30%;min-width:180px;display:flex;flex-direction:column;gap:3px;padding:2px 26px;border-left:1px solid var(--line)}
.mill-fact:nth-child(3n+1){border-left:0;padding-left:0}   /* first item in each row of three: no divider */
.mill-fact span:first-child{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.mill-fact span:last-child{font-size:15px;font-weight:700;color:var(--ink)}
@media(max-width:640px){.mill-fact{flex:1 1 100%;border-left:0;padding-left:0}.mill-fact:nth-child(n){border-left:0;padding-left:0}}

/* Centre the timeline block on the page (title centred, entries stay left-aligned inside). */
.sec--tl h2{text-align:center}
.pg-tl{margin:1.4rem 0 1.8rem}
.pg-tl__h{text-align:center;margin:0 0 .2rem}
.mill-tl{margin:.7rem auto 1.5rem;max-width:840px}
.mill-tl__row{display:grid;grid-template-columns:96px 1fr;gap:18px;padding:13px 0;border-top:1px solid var(--line)}
.mill-tl__row:first-child{border-top:none}
.mill-tl__y{font-weight:800;color:var(--accent);font-size:15px}
.mill-tl__t{font-size:18px;color:var(--ink-2);line-height:1.55}
@media(max-width:560px){.mill-tl__row{grid-template-columns:1fr;gap:2px}}
@media(max-width:680px){
	.pbh-tbl__head{display:none}
	.pbh-tbl__row{grid-template-columns:1fr 1fr;gap:1px 12px;padding:10px 0}
	.pbh-tbl__row>div{padding:2px 15px}
	.pbh-tbl__row .m{grid-column:1/3;font-size:15px}
	.pbh-tbl__row .k{grid-column:1/3}
}

/* ===== Guide image / figure block ===== */
.pg-figure{margin:1.9rem 0;max-width:760px}
.pg-figure--inset{max-width:520px}
.pg-figure--full{max-width:760px}
.pg-figure--wide{max-width:1000px}
.pg-figure__img{display:block;width:100%;height:auto;border-radius:14px}
.pg-figure__cap{font-size:13px;color:var(--ink-3);line-height:1.55;margin-top:10px;font-style:italic;max-width:640px}
.pg-figure__ph{aspect-ratio:16/8;border:2px dashed var(--line);background:#f4f3f1;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center;padding:20px}
.pg-figure__ph-mark{font-size:32px;line-height:1;color:var(--rust);opacity:.55}
.pg-figure__ph-note{font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--ink-3);max-width:420px;line-height:1.5}

/* ===== Guide "Image + text" feature — reuses the pigment .story component ===== */
.fullbleed{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.story{background:#fff;overflow:hidden;padding:45px 0;margin:0}
.story__row{max-width:1180px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.story__media{margin:0;display:flex;flex-direction:column;width:100%}
.story__media img{width:100%;height:auto;object-fit:cover;border-radius:12px}
.story__media figcaption{margin-top:14px;font-size:15px;color:var(--ink-2);font-style:italic}
.story__media .pg-figure__ph{width:100%;min-height:360px}
/* Matched-height variant: brand/guide feature sections opt in via .story--fill */
.story--fill .story__row{align-items:stretch}
.story--fill .story__media img{height:100%;flex:1 1 auto;min-height:0}
.story--fill .story__media .pg-figure__ph{height:100%;min-height:0}
.story__card{background:var(--card,#f4f3f1);border-radius:12px;padding:44px 48px;margin:0;box-shadow:0 18px 40px -26px rgba(30,40,50,.4);display:flex;flex-direction:column;justify-content:center}
.story__cardin{max-width:none;width:100%}
.story__title{font-weight:800;font-size:34px;letter-spacing:-.01em;color:var(--ink);margin:0 0 18px;line-height:1.12}
.story__card p{font-size:18px;line-height:1.7;color:var(--ink-2);margin:0 0 1.1rem}
.story__card p:last-of-type{margin-bottom:0}
.story__card p strong,.story__card p b{color:var(--ink)}
.story__more{display:inline-block;margin-top:4px;color:var(--accent);font-weight:700;font-size:16.5px;text-decoration:none}
.story__more:hover{color:var(--accent-dark,#b00018);text-decoration:none}
/* reversed: card on the LEFT (text left-aligned, fully readable), image on the RIGHT */
.story--rev .story__row{grid-template-columns:1fr 1fr;padding:0 40px}
.story--rev .story__card{order:1;margin:0;padding:44px 48px}
.story--rev .story__cardin{margin-left:0;max-width:none;width:100%}
.story--rev .story__media{order:2}
/* Feature image size control (editable per card). Overrides the .story--fill
   full-height stretch so a long text card no longer balloons the image. */
.story--fill.story--img-s .story__row,
.story--fill.story--img-m .story__row,
.story--fill.story--img-l .story__row{align-items:center}
.story--fill.story--img-s .story__media,
.story--fill.story--img-m .story__media,
.story--fill.story--img-l .story__media{align-self:center}
.story--fill.story--img-s .story__media img,
.story--fill.story--img-m .story__media img,
.story--fill.story--img-l .story__media img{flex:0 0 auto;align-self:center;width:auto;max-width:100%;height:auto;object-fit:contain}
.story--fill.story--img-s .story__media img{max-height:230px}
.story--fill.story--img-m .story__media img{max-height:360px}
.story--fill.story--img-l .story__media img{max-height:520px}
.story--img-s .story__row{grid-template-columns:300px 1fr}
.story--img-m .story__row{grid-template-columns:430px 1fr}
.story--img-l .story__row{grid-template-columns:560px 1fr}
.story--img-s.story--rev .story__row{grid-template-columns:1fr 300px}
.story--img-m.story--rev .story__row{grid-template-columns:1fr 430px}
.story--img-l.story--rev .story__row{grid-template-columns:1fr 560px}
/* even out the rhythm when a feature card is followed by a paragraph then step cards */
.pg-rt + .pg-stepcards{margin-top:2.2rem}
@media(max-width:900px){
	.story__row,.story--rev .story__row{grid-template-columns:1fr;gap:24px;padding:0 22px}
	.story__card,.story--rev .story__card{margin-right:0;margin-left:0;padding:32px 26px;border-radius:12px}
	.story__cardin,.story--rev .story__cardin{max-width:none}
	.story__media,.story--rev .story__media{order:0;max-width:380px;justify-self:center}
}

/* ===== Section callout (dark blue, white, larger) — normal section width ===== */
.pg-seccallout{width:80%;max-width:none;margin:1.7rem auto;background:var(--slate,#304452);color:#fff;border-radius:8px;padding:30px 48px;font-family:var(--sans);font-size:20px;font-weight:600;line-height:1.6;box-shadow:0 12px 30px -14px rgba(40,40,40,.28)}
.pg-seccallout p{margin:0 0 .85rem}
.pg-seccallout p:last-child{margin-bottom:0}
.pg-seccallout strong,.pg-seccallout b{color:#fff;font-weight:700}
.pg-seccallout a{color:#fff;text-decoration:underline}
.pg-seccallout a:hover{opacity:.85}
.psf-body .wrap > .pg-seccallout:first-child{margin-top:2px}
@media(max-width:680px){.pg-seccallout{padding:22px 22px;font-size:17px}}

/* ===== Mill/Brand "story" as a grey card + photo (card left, photo right) ===== */
.mill-story{display:grid;grid-template-columns:1.25fr .75fr;gap:26px;align-items:stretch;margin:1.4rem 0 2rem;max-width:900px}
.mill-story__card{background:#f4f3f1;border-radius:16px;padding:30px 34px;box-shadow:0 12px 30px -14px rgba(40,40,40,.2),0 2px 6px rgba(40,40,40,.06)}
.mill-story__card h2{margin:0 0 12px!important}
.mill-story__card .pg-rt{max-width:none;margin:0}
.mill-story__media{margin:0;display:flex}
.mill-story__media img{width:100%;height:100%;object-fit:cover;border-radius:14px;filter:drop-shadow(0 18px 26px rgba(30,40,60,.16))}
.mill-story__media .pg-figure__ph{width:100%;height:100%;aspect-ratio:auto}
@media(max-width:760px){.mill-story{grid-template-columns:1fr;gap:18px}.mill-story__media .pg-figure__ph{aspect-ratio:4/5}}

/* ===== Guide: pros & cons platform cards ===== */
.pg-pc{display:flex;flex-direction:column;gap:22px;margin:22px 0 6px}
.pg-pc__card{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 1px 2px rgba(31,30,27,.03)}
.pg-pc__head{padding:20px 22px 16px;border-bottom:1px solid var(--line);background:var(--panel)}
.pg-pc__tag{font-size:12px;letter-spacing:.09em;text-transform:uppercase;font-weight:700;color:var(--rust);margin-bottom:6px}
.pg-pc__name{font-family:var(--serif,Georgia,serif);font-size:clamp(20px,2.2vw,26px);line-height:1.15;margin:0 0 6px;color:var(--ink)}
.pg-pc__blurb{margin:0;color:var(--ink-2);font-size:15.5px;line-height:1.5}
.pg-pc__cols{display:grid;grid-template-columns:1fr 1fr}
.pg-pc__col{padding:18px 22px 20px}
.pg-pc__col--pro{background:#f4f7f3}
.pg-pc__col--con{background:#faf4f1;border-left:1px solid var(--line)}
.pg-pc__ch{display:flex;align-items:center;gap:7px;font-size:12.5px;letter-spacing:.07em;text-transform:uppercase;font-weight:700;margin-bottom:10px}
.pg-pc__col--pro .pg-pc__ch{color:#3f7a4d}
.pg-pc__col--con .pg-pc__ch{color:#a8552a}
.pg-pc__col--pro .pg-pc__ch::before{content:"\2714";font-size:13px}
.pg-pc__col--con .pg-pc__ch::before{content:"\2716";font-size:12px}
.pg-pc__col ul{list-style:none;margin:0;padding:0}
.pg-pc__col li{position:relative;padding:0 0 0 20px;margin:0 0 9px;font-size:15px;line-height:1.5;color:var(--ink)}
.pg-pc__col li:last-child{margin-bottom:0}
.pg-pc__col li::before{position:absolute;left:0;top:0;font-weight:700}
.pg-pc__col--pro li::before{content:"+";color:#3f7a4d}
.pg-pc__col--con li::before{content:"\2013";color:#c07a5a}
@media(max-width:640px){.pg-pc__cols{grid-template-columns:1fr}.pg-pc__col--con{border-left:0;border-top:1px solid var(--line)}}

/* ===== Guide: numbered alternating text | image stages ===== */

/* Numbered feature stages (numfeature) — reuses .story, adds a rust step badge */
.story--num .story__num{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--rust,#a8552a);margin:0 0 16px}
.story--num .story__num span{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--rust,#a8552a);color:#fff;font-size:16px;font-weight:800;letter-spacing:0;flex:0 0 auto}
.pg-numf__head h2{margin-top:0}

/* ===== Guide: pull quote (eyebrow left · big centred statement · attribution right) ===== */
.pullq{margin:40px auto;width:80%;max-width:80%}
.pullq__eyebrow{display:flex;align-items:flex-start;gap:12px;text-align:left;margin:0 0 26px;font-size:14px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--rust,#a8552a)}
.pullq__mark{font-family:Georgia,'Times New Roman',serif;font-size:46px;line-height:.7;color:var(--rust,#a8552a);margin-top:2px}
.pullq__eyebrow-t{padding-top:8px}
.pullq__body{text-align:center;margin:0 auto 22px;max-width:none;font-weight:800;font-size:clamp(34px,6vw,64px);line-height:1.05;letter-spacing:-.02em;color:var(--ink,#1f1e1b)}
.pullq__attr{text-align:right;margin:0;font-weight:700;font-size:19px;color:var(--rust,#a8552a)}
.pullq__attr a{color:var(--rust,#a8552a);text-decoration:underline;text-underline-offset:3px}
.pullq__attr a:hover{color:var(--slate,#304452)}
@media(max-width:640px){.pullq{width:92%;max-width:92%}.pullq__body{font-size:clamp(28px,9vw,40px);max-width:none}}

/* ===== Guide: lead capture (free bundle + email form) ===== */
.leadcap{margin:34px 0}
.leadcap__row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,52px);align-items:center}
.leadcap__media img{width:100%;height:auto;border-radius:14px;display:block}
.leadcap__media .pg-figure__ph{aspect-ratio:4/3;border:2px dashed var(--line);border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:var(--panel);color:var(--ink-3)}
.leadcap__card{background:var(--panel,#f4f3f1);border:1px solid var(--line);border-radius:16px;padding:clamp(24px,3vw,38px)}
.leadcap__eyebrow{margin:0 0 8px;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--rust,#a8552a)}
.leadcap__h{font-family:var(--serif,Georgia,serif);font-size:clamp(24px,3vw,34px);line-height:1.12;margin:0 0 12px;color:var(--ink)}
.leadcap__sub{color:var(--ink-2);font-size:16px;line-height:1.55;margin-bottom:16px}
.leadcap__list{list-style:none;margin:0 0 20px;padding:0}
.leadcap__list li{position:relative;padding:0 0 0 26px;margin:0 0 9px;font-size:15.5px;line-height:1.5;color:var(--ink)}
.leadcap__list li::before{content:"\2713";position:absolute;left:0;top:0;color:#3f7a4d;font-weight:800}
.leadcap__ph-form{display:flex;gap:10px;flex-wrap:wrap}
.leadcap__ph-form input[type=email]{flex:1 1 220px;min-width:0;padding:14px 16px;border:1px solid var(--line);border-radius:10px;font-size:16px;background:#fff}
.leadcap__ph-form button{padding:14px 22px;border:0;border-radius:10px;background:var(--rust,#a8552a);color:#fff;font-weight:700;font-size:16px;cursor:pointer}
.leadcap__ph-form button:hover{background:#8f4522}
.leadcap__connect{margin:10px 0 0;font-size:12.5px;color:var(--ink-3);font-style:italic}
.leadcap__note{margin:12px 0 0;font-size:13px;color:var(--ink-3)}
@media(max-width:760px){.leadcap__row{grid-template-columns:1fr;gap:22px}.leadcap__media{max-width:420px;margin:0 auto}}

/* ===== Guide rich text with an optional image beside it ===== */
.pg-rt-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,48px);align-items:center;margin:6px 0}
.pg-rt-split--left .pg-rt-split__text{order:2}
.pg-rt-split--left .pg-rt-split__media{order:1}
.pg-rt-split__text h2{margin-top:0}
.pg-rt-split__media{margin:0}
.pg-rt-split__media img{width:100%;height:auto;border-radius:14px;display:block}
.pg-rt-split__media figcaption{margin-top:10px;font-size:14px;color:var(--ink-3);font-style:italic;text-align:center}
/* Image size beside text (editable per block). Narrows the image column; text keeps the rest. */
.pg-rt-split--img-s{grid-template-columns:1fr 240px}
.pg-rt-split--img-m{grid-template-columns:1fr 340px}
.pg-rt-split--img-l{grid-template-columns:1fr 460px}
.pg-rt-split--left.pg-rt-split--img-s{grid-template-columns:240px 1fr}
.pg-rt-split--left.pg-rt-split--img-m{grid-template-columns:340px 1fr}
.pg-rt-split--left.pg-rt-split--img-l{grid-template-columns:460px 1fr}
@media(max-width:760px){.pg-rt-split{grid-template-columns:1fr;gap:20px}.pg-rt-split--left .pg-rt-split__text{order:1}.pg-rt-split--left .pg-rt-split__media{order:2}.pg-rt-split__media{max-width:460px;margin:0 auto}}

/* ===== Universal guide button (.pg-btn) — restyle every related-link button from here ===== */
.pg-btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--sans,inherit);font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase;padding:13px 22px;border-radius:9px;border:1px solid var(--rust,#a8552a);cursor:pointer;transition:background .15s,color .15s,border-color .15s;line-height:1}
.pg-btn span{transition:transform .15s}
.pg-btn:hover span{transform:translateX(3px)}
.pg-btn--primary{background:var(--rust,#a8552a);color:#fff}
.pg-btn--primary:hover{background:#8f461f;border-color:#8f461f;color:#fff;text-decoration:none}
.pg-btn--alt{background:transparent;color:var(--slate,#304452);border-color:var(--slate,#304452)}
.pg-btn--alt:hover{background:rgba(48,68,82,.07);color:var(--slate,#304452);text-decoration:none}

/* Related-links row placed under a section */
.pg-linkbtns{margin:6px 0 30px}
.pg-linkbtns__h{margin:0 0 12px;font-size:12.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3,#a8a49b)}
.pg-linkbtns__row{display:flex;flex-wrap:wrap;gap:12px}

/* Inline links inside body prose (subtle, SEO-friendly) */
.pg-rt a,.pg-rt-split__text a,.story__body a{color:var(--rust,#a8552a);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;text-decoration-color:rgba(168,85,42,.4)}
.pg-rt a:hover,.pg-rt-split__text a:hover,.story__body a:hover{text-decoration-color:var(--rust,#a8552a)}

/* FAQ accordion */
.pg-faq{margin:34px 0 8px;border-top:1px solid var(--line,#e7e3da)}
.pg-faq__h{font-family:var(--serif,Georgia,serif);font-size:clamp(24px,3vw,32px);margin:26px 0 14px;color:var(--ink)}
.pg-faq__item{border-bottom:1px solid var(--line,#e7e3da)}
.pg-faq__q{cursor:pointer;list-style:none;padding:18px 40px 18px 0;position:relative;font-weight:700;font-size:18px;line-height:1.4;color:var(--ink);transition:color .15s}
.pg-faq__q::-webkit-details-marker{display:none}
.pg-faq__q:hover{color:var(--rust,#a8552a)}
.pg-faq__q::after{content:"+";position:absolute;right:6px;top:16px;font-size:24px;font-weight:400;color:var(--rust,#a8552a);transition:transform .2s}
.pg-faq__item[open] .pg-faq__q::after{content:"\2212"}
.pg-faq__a{padding:0 40px 20px 0;font-size:16.5px;line-height:1.65;color:var(--ink-2,#5c5b55)}
.pg-faq__a p{margin:0 0 .8rem}.pg-faq__a p:last-child{margin-bottom:0}

/* ===== Guide: multi-column section (image over each) ===== */
.pg-cols{margin:10px 0 30px}
.pg-cols__h{font-family:var(--sans);font-weight:800;font-size:26px;line-height:1.15;margin:0 0 8px;color:var(--ink)}
.pg-cols__grid{display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin-top:18px}
.pg-cols--2 .pg-cols__grid{grid-template-columns:repeat(2,1fr)}
.pg-cols--3 .pg-cols__grid{grid-template-columns:repeat(3,1fr)}
.pg-cols--4 .pg-cols__grid{grid-template-columns:repeat(4,1fr)}
.pg-cols__media{margin:0 0 14px}
.pg-cols__media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;display:block}
.pg-cols__media .pg-figure__ph{aspect-ratio:4/3;border:2px dashed var(--line);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:var(--panel);color:var(--ink-3)}
.pg-cols__ch{font-family:var(--sans);font-weight:800;font-size:21px;line-height:1.2;margin:0 0 10px;color:var(--ink)}
.pg-cols__ct{font-size:18px;line-height:1.7;color:#34322c}
.pg-cols__ct p{margin:0 0 .7rem}.pg-cols__ct p:last-child{margin-bottom:0}
@media(max-width:760px){.pg-cols--2 .pg-cols__grid,.pg-cols--3 .pg-cols__grid,.pg-cols--4 .pg-cols__grid{grid-template-columns:1fr;gap:24px}}

/* ===== Guide: full-width image with overlay + text ===== */
.pg-ovl{position:relative;width:100vw;margin-left:calc(50% - 50vw);overflow:hidden;display:flex;align-items:center;min-height:520px;margin-top:64px;margin-bottom:40px}
.pg-ovl__media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pg-ovl__ph{background:#54636c;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.7);font-size:15px;letter-spacing:.05em}
.pg-ovl__scrim{position:absolute;inset:0;background:#0d1a24}
.pg-ovl__inner{position:relative;z-index:2;text-align:center}
.pg-ovl .pg-ovl__inner{padding-top:112px;padding-bottom:112px}
.pg-ovl__eyebrow{margin:0 0 16px;font-size:13px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#e7b48f}
.pg-ovl__body{color:#fff;font-weight:400;font-size:clamp(26px,3.4vw,42px);line-height:1.28;letter-spacing:0;max-width:24ch;margin:0 auto}
.pg-ovl__body em{color:#fff;font-style:normal}

.pg-rt-split__media .pg-figure__ph{aspect-ratio:4/3;border:2px dashed var(--line);border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:var(--panel);color:var(--ink-3)}
