/* Visual edition: archival typography, dark mineral surfaces and warm paper. */
:root{--ink:#1e1b19;--muted:#625f5a;--blue:#9d642f;--teal:#9d642f;--coral:#c9975c;--line:#d9d0c4;--paper:#f7f3ed;--sky:#f7f3ed;--mint:#f4eadb;--shadow:0 18px 44px rgba(31,22,13,.13)}
body{background:#f8f5f0;color:var(--ink);font-family:Georgia,'Times New Roman',serif;line-height:1.57}
button,input,select{font-family:inherit}
h1,h2,h3,.guide-card strong{font-family:Georgia,'Times New Roman',serif;font-weight:500;letter-spacing:-.04em}
p{line-height:1.7}
.masthead{background:#100e0e;border-bottom:1px solid rgba(220,190,144,.28);box-shadow:none}
.header-main{min-height:82px;gap:1.5rem}
.brand img{width:clamp(210px,21vw,284px);height:auto}
nav{gap:clamp(.65rem,1.25vw,1.3rem);font-size:.88rem;font-weight:500}
nav a{color:#eee3d4}
nav a:hover,nav a.selected{color:#e9bd84}
nav .lang{border:1px solid #b28d65;border-radius:5px;color:#f8ead9;padding:.46rem .72rem}
.eyebrow{color:#9c6a37;font-size:.76rem;letter-spacing:.15em}
.button{background:#e7bd87;color:#24170c;border-radius:5px;min-height:49px;padding:.78rem 1.2rem;box-shadow:0 8px 24px rgba(0,0,0,.12);font-weight:700;text-decoration:none}
.button:hover,.button:focus-visible{background:#f2cf9b;color:#24170c}
.button.secondary{color:#352315;background:#e6c397;border-radius:5px}
.text-link{color:#87582b}
.visual-home{overflow:hidden;background:#f8f5f0}
.visual-hero{position:relative;min-height:665px;display:flex;align-items:center;background-color:#110f12;background-position:center;background-size:cover;isolation:isolate}
.visual-hero-it{background-image:url('/hero-it-history.webp')}
.visual-hero-en{background-image:url('/hero-en-history.webp')}
.visual-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(12,9,9,.56) 0%,rgba(10,8,8,.72) 23%,rgba(12,9,9,.66) 45%,rgba(12,9,9,.18) 80%),linear-gradient(0deg,rgba(7,7,8,.52),transparent 35%)}
.visual-hero-en::before{background:linear-gradient(90deg,rgba(3,12,24,.52),rgba(3,12,24,.5) 45%,rgba(3,12,24,.07) 78%),linear-gradient(0deg,rgba(3,12,24,.44),transparent 35%)}
.visual-hero-inner{padding:5rem 0 5.5rem;display:flex;align-items:center;min-height:665px}
.visual-hero-copy{width:min(690px,100%);margin-left:clamp(0px,11vw,165px);text-shadow:0 2px 24px rgba(0,0,0,.35)}
.visual-hero .eyebrow{color:#f1cb91}
.visual-hero h1{color:#fff;font-size:clamp(2.7rem,4.7vw,5.5rem);text-transform:uppercase;line-height:1.05;letter-spacing:-.045em;margin:.7rem 0 1rem;max-width:660px}
.visual-hero-motto{color:#ffedd5;font-size:clamp(2rem,3vw,3.6rem);line-height:1.13;margin:0 0 1.6rem;max-width:550px}
.visual-hero .visual-hero-lead{color:#f1e9e1;font-family:ui-sans-serif,system-ui,sans-serif;font-size:1.04rem;line-height:1.68;max-width:565px}
.visual-hero .hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.9rem;margin-top:1.8rem}
.hero-outline{display:inline-flex;align-items:center;justify-content:center;min-height:49px;padding:.7rem 1.15rem;border:1px solid #e7c49e;border-radius:5px;color:#fff;text-decoration:none;font-weight:700}
.hero-outline:hover{background:rgba(255,255,255,.12)}
.signal-pillars{background:#15110f;color:#f4e9dc;border-bottom:1px solid #5a4631}
.signal-pillars-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:1.5rem 0}
.signal-pillars-grid>div{min-height:114px;padding:1rem 1.4rem;display:grid;align-content:center;gap:.1rem;border-right:1px solid rgba(233,192,139,.38)}
.signal-pillars-grid>div:first-child{padding-left:0}
.signal-pillars-grid>div:last-child{border:0}
.signal-pillars-grid b{color:#d9a971;font-size:1.35rem;font-weight:400}
.signal-pillars-grid strong{font-size:1rem;line-height:1.25;text-transform:uppercase;letter-spacing:.035em;font-weight:600}
.signal-pillars-grid span{color:#c8bbae;font-family:ui-sans-serif,system-ui,sans-serif;font-size:.84rem}
.visual-topics{background:#f8f5f0}
.visual-home .section-row h2{font-size:clamp(2.15rem,3.3vw,3.6rem);letter-spacing:-.045em}
.visual-home .section-row p{color:#65605b}
.signal-topic-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.65rem}
.signal-topic{position:relative;display:flex;flex-direction:column;justify-content:end;min-height:245px;padding:1rem;color:#fff;text-decoration:none;overflow:hidden;background:#211e20;isolation:isolate}
.signal-topic::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(2,8,16,.08) 30%,rgba(2,8,16,.93));transition:background .25s}
.signal-topic img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;filter:saturate(.72);transition:transform .3s}
.signal-topic:hover img{transform:scale(1.05)}
.signal-topic span{font-size:1.16rem;line-height:1.16;font-weight:600}
.signal-topic strong{font-family:ui-sans-serif,system-ui,sans-serif;font-size:.78rem;font-weight:500;color:#e8d5bd;margin-top:.45rem}
.visual-method{background:#f2ede5}
.visual-method>.wrap:first-child{display:grid;grid-template-columns:.8fr 1.2fr;gap:5%;align-items:start}
.visual-method h2{font-size:clamp(2.1rem,3.4vw,3.8rem);margin:.7rem 0 1rem;max-width:480px}
.visual-method p{color:#5c554f;max-width:520px}
.visual-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;list-style:none;margin:1.6rem 0 0;padding:0;counter-reset:none}
.visual-steps li{border-top:1px solid #c9ae8d;padding:1.4rem .65rem;display:grid;gap:.5rem}
.visual-steps b{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;border:1px solid #be9e75;color:#6b472b;font-weight:400;font-size:1.1rem}
.visual-steps strong{font-size:1.14rem;font-weight:600}
.visual-steps span{font-family:ui-sans-serif,system-ui,sans-serif;color:#625b54;font-size:.83rem;line-height:1.45}
.visual-method-image{margin-top:2.8rem;height:255px;overflow:hidden;position:relative}
.visual-method-image::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,245,240,.55),transparent 40%)}
.visual-method-image img{display:block;width:100%;height:100%;object-fit:cover;filter:sepia(.34) saturate(.75)}
.visual-editorial{background:#fbfaf7}
.visual-feature-grid{display:grid;grid-template-columns:1.32fr .68fr;gap:1.25rem}
.visual-feature-main,.visual-feature-side{display:flex;flex-direction:column;text-decoration:none;overflow:hidden;background:#171d22;color:#fff}
.visual-feature-main img{width:100%;height:335px;object-fit:cover;display:block}
.visual-feature-main>div,.visual-feature-side{padding:clamp(1.5rem,2.4vw,2.4rem)}
.visual-feature-main span,.visual-feature-side span{color:#deb88d;font-family:ui-sans-serif,system-ui,sans-serif;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}
.visual-feature-main h3,.visual-feature-side h3{font-size:clamp(1.7rem,2.7vw,3rem);margin:.9rem 0;line-height:1.13}
.visual-feature-main p,.visual-feature-side p{font-family:ui-sans-serif,system-ui,sans-serif;color:#d1cfc9;font-size:.97rem;line-height:1.65}
.visual-feature-main strong,.visual-feature-side strong{color:#ebc18c;margin-top:auto;padding-top:1rem;font-size:.93rem}
.visual-feature-side{background:linear-gradient(145deg,rgba(14,23,36,.35),rgba(8,12,21,.9)),url('/hero-en-history.webp') center/cover;min-height:570px;justify-content:end}
.visual-utility{background:#f0e6d8;padding:4rem 0}
.visual-utility-grid{display:grid;grid-template-columns:1fr .95fr 1fr;gap:1.5rem;align-items:stretch}
.visual-utility-grid>div{padding:1.5rem .4rem}
.visual-utility-grid h2{font-size:clamp(1.7rem,2.3vw,2.5rem);margin:.6rem 0}
.visual-utility-grid p{color:#62594f}
.visual-utility-grid .visual-data{padding:1.8rem;background:#151b22;color:#f4e9d8;display:grid;grid-template-columns:1fr 1fr;align-content:center;gap:.7rem 1rem;box-shadow:var(--shadow)}
.visual-data>span,.visual-data p{grid-column:1/-1}
.visual-data>span{color:#e4bf8f;letter-spacing:.13em;font-size:.8rem}
.visual-data>div{display:grid;border-right:1px solid #8b7865}
.visual-data>div:nth-of-type(2){border:0}
.visual-data b{font-size:2.7rem;line-height:1.1;font-weight:400}
.visual-data small{color:#dfd1c3}
.visual-utility-grid .visual-data p{color:#baa99a;font-size:.8rem;line-height:1.5;margin:.5rem 0 0}
.visual-last-cta{position:relative;color:#fff;text-align:center;padding:5.4rem 0;background:linear-gradient(90deg,rgba(9,15,23,.46),rgba(9,15,23,.72)),url('/hero-en-history.webp') center 62%/cover}
.visual-last-cta h2{font-size:clamp(2rem,3.1vw,3.7rem);max-width:900px;margin:1rem auto 1.6rem}
.visual-last-cta .eyebrow{color:#edc596}
/* Interior pages share the same visual language. */
.inner-page{background:#faf8f3}
.page-heading{border-color:#d6cabb}
.page-heading h1{color:#241b17}
.page-heading p,.article-lead{color:#5c554f}
.post-card{background:#f8f4ee;border-color:#d6c9ba;border-radius:5px}
.post-card:first-child{background:#1b1a1b}
.post-art{border-radius:0}
.post-art img{display:block;width:100%;height:100%;object-fit:cover}
.post-art-wide{border-radius:4px}
.article-byline{font-size:.9rem;color:#756b60;margin:.6rem 0 1.5rem}.article-byline a{color:#8f6331;text-decoration:underline;text-underline-offset:3px}.article-image-note{font-size:.82rem;color:#756b60;margin:-2.5rem 0 2.5rem;font-style:italic}
.post-card-copy h2 a{color:#221b18}
.post-card:first-child .post-card-copy h2 a{color:#fff}
.post-card-copy p{color:#62594f}
.post-card:first-child p{color:#e4d8cb}
.post-card-end .text-link,.social-share a,.social-share button{color:#8a5c33}
.category-chip{display:inline-block;border:1px solid #bd9263;background:#f4e7d5;color:#664426;padding:.5rem .85rem;text-decoration:none;font-weight:700;margin:1rem 0}
.topic-directory{display:grid;grid-template-columns:repeat(2,1fr);gap:1.3rem}
.topic-directory-card{display:grid;grid-template-columns:.42fr .58fr;background:#f1e9dc;color:#231d19;text-decoration:none;border:1px solid #ddcfbc;min-height:230px;overflow:hidden}
.topic-directory-card img{width:100%;height:100%;object-fit:cover}
.topic-directory-card>div{padding:1.5rem}
.topic-directory-card h2{font-size:1.9rem;margin:.2rem 0 .7rem}
.topic-directory-card p{font-family:ui-sans-serif,system-ui,sans-serif;color:#665a4e;font-size:.95rem}
.topic-directory-card strong{color:#885b30}
.society-banner{background:linear-gradient(90deg,rgba(9,12,17,.88),rgba(9,12,17,.46)),url('/gen-z-gym.webp') center 47%/cover;color:#fff;padding:3.5rem 0 4.5rem}
.society-banner .text-link,.society-banner .eyebrow{display:block;color:#efc799}
.society-banner .eyebrow{margin-top:2.2rem}
.society-banner h1{font-size:clamp(3.1rem,5.5vw,6rem);margin:.6rem 0}
.society-banner p{font-size:1.18rem;max-width:720px;color:#f0e9e2}
.society-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;margin:3rem 0}
.society-article{background:#f1e9dc;border:1px solid #d9cbb8;padding:2rem;display:flex;flex-direction:column}
.society-article h2{font-size:clamp(1.8rem,2.5vw,2.8rem);margin:.7rem 0}
.society-article h2 a{color:#251c16;text-decoration:none}
.society-article p{color:#62584d}
.society-article .text-link{margin-top:auto}
.society-related{border-top:1px solid #cbbda9;padding:2rem 0}
.society-related h2{font-size:2rem;margin:.5rem 0}
.source-box,.formula,.search-box,.reader-panel{background:#f1e8db;border-color:#dfd1bf}
.source-box a,.related-reading a{color:#76502d}
.related-reading,.newsletter-panel{background:#1c2229;color:#fff}
.newsletter-panel p{color:#e1dbd5}
.membership-teaser,.support-card-accent{background:#1e242c}
.membership-teaser .button{background:#e7bd87;color:#25180c}
.availability{background:#f3e4cf;color:#68421f}
.footer{background:#14110f;color:#eee5da}
.footer p,.footer .photo-credit,.partner-label,.footer-bottom{color:#c9bba9}
.footer-links a,.footer-bottom a,.footer a{color:#e9d9c3}
.partner{border-color:#493f36}
.footer .brand img{width:270px}
@media(max-width:1150px){.signal-topic-grid{grid-template-columns:repeat(3,1fr)}.visual-hero-copy{margin-left:clamp(0px,7vw,100px)}nav{gap:.6rem}}
@media(max-width:850px){.visual-hero,.visual-hero-inner{min-height:585px}.visual-hero-copy{margin-left:0;max-width:620px}.visual-method>.wrap:first-child{grid-template-columns:1fr}.visual-feature-grid,.visual-utility-grid{grid-template-columns:1fr}.visual-feature-side{min-height:330px}.visual-data{min-height:260px}.signal-pillars-grid{grid-template-columns:repeat(2,1fr)}.signal-pillars-grid>div:nth-child(2){border:0}.signal-pillars-grid>div:nth-child(-n+2){border-bottom:1px solid rgba(233,192,139,.38)}}
@media(max-width:650px){.header-main{padding:.8rem 0}.brand img{width:230px}nav{display:flex;overflow:auto;white-space:nowrap;flex-wrap:nowrap;gap:1rem;width:100%;font-size:.86rem}.visual-hero{background-position:37% center}.visual-hero-en{background-position:56% center}.visual-hero::before{background:linear-gradient(90deg,rgba(6,6,7,.72),rgba(6,6,7,.46)),linear-gradient(0deg,rgba(6,6,7,.52),transparent 40%)}.visual-hero,.visual-hero-inner{min-height:560px}.visual-hero-inner{padding:3.5rem 0}.visual-hero h1{font-size:clamp(2.55rem,10vw,4rem)}.visual-hero-motto{font-size:clamp(1.8rem,7vw,2.7rem)}.visual-hero .visual-hero-lead{font-size:.95rem}.signal-pillars-grid>div{min-height:115px;padding:.8rem}.signal-pillars-grid strong{font-size:.86rem}.signal-pillars-grid span{font-size:.74rem}.signal-topic-grid{grid-template-columns:repeat(2,1fr)}.signal-topic{min-height:210px}.visual-steps{grid-template-columns:repeat(2,1fr)}.visual-method-image{height:160px}.visual-feature-main img{height:240px}.visual-utility-grid>div{padding:1rem 0}.topic-directory,.society-list{grid-template-columns:1fr}.topic-directory-card{grid-template-columns:.35fr .65fr;min-height:200px}.topic-directory-card h2{font-size:1.5rem}.society-banner{padding:2.5rem 0}.society-banner h1{font-size:3rem}.post-card:first-child{grid-column:auto}.post-art-wide{min-height:200px}}
@media(prefers-reduced-motion:reduce){.signal-topic img{transition:none}}
