/* Habliva Idiomas — hoja de estilos principal */

@font-face{font-family:'Karla';font-style:normal;font-weight:300 700;font-display:swap;src:url('../fonts/karla-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/ibmplexmono-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/ibmplexmono-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/instrumentserif-400-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/instrumentserif-400-italic-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

:root{
  --bg:#FBF7F1; --ink:#1E1A16; --ink-soft:#3B322A; --ink2:#332C25;
  --text:#4A4038; --text-soft:#5A4F45; --text-mute:#6B5E52; --text-mute2:#7A6C5E; --text-mute3:#8A7B6B;
  --border:#E6DCCF; --border-soft:#EFE7DA; --input-border:#DCD1C1;
  --surface:#FFFFFF; --surface-alt:#F5EFE6; --surface-alt2:#FDFBF7;
  --accent:#B5613C; --accent-hover:#8E4526; --accent-soft:#E9A588; --accent-tag:#9A6650;
  --dark:#1E1A16; --dark-soft:#35302A; --dark-border:#3A342D; --dark-text:#F4EFE7; --dark-text-mute:#C6BCB0; --dark-text-mute2:#9C9186; --dark-text-mute3:#7C7268; --dark-text-mute4:#A79C90; --dark-bar:#5A544C; --dark-bar-text:#E6DFD6;
  --teal:#17798F; --teal-dark:#0F5566; --teal-mid:#2E5C66; --teal-mid2:#2E6D7C; --teal-bg:#EAF5F7; --teal-border:#CFE4E9;
  --font-serif:'Instrument Serif',Georgia,'Times New Roman',serif;
  --font-sans:'Karla',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --font-mono:'IBM Plex Mono',ui-monospace,'Cascadia Code','Segoe UI Mono',Consolas,monospace;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;min-height:100vh}
main{flex:1;width:100%}
img{max-width:100%;display:block;object-fit:cover}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent-hover);text-decoration:underline}
h1,h2,h3,h4{font-family:var(--font-serif);font-weight:400;margin:0}
p{margin:0}
ul,ol{margin:0}
button{font-family:var(--font-sans)}
summary{cursor:pointer;list-style:none}
summary::-webkit-details-marker{display:none}
details[open] summary span.plus{transform:rotate(45deg)}
::selection{background:#E8CDBE}
table{border-collapse:collapse;width:100%}

/* ---------- layout helpers ---------- */
.container{max-width:1180px;margin:0 auto;padding:0 24px}
.container--md{max-width:900px}
.container--article{max-width:760px}
.container--legal{max-width:800px}
.container--narrow{max-width:820px}
.container--faq{max-width:860px}

.section{padding:76px 24px}
.section--tight{padding:36px 24px 20px}
.section--top{padding:64px 24px 20px}
.section--bottom{padding:40px 24px 80px}
.section--noborder{border:0}

.grid{display:grid;gap:20px}
.grid-2{grid-template-columns:1fr 1fr}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-hero{grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.grid-method{grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.grid-cta{grid-template-columns:1fr auto;gap:40px;align-items:center}
.grid-corp{grid-template-columns:1fr 1fr;gap:44px}
.grid-contact{grid-template-columns:1fr 1fr;gap:56px}
.grid-campus{grid-template-columns:1.4fr 1fr;gap:32px}
.grid-table{grid-template-columns:1.2fr 1fr 1fr 1.6fr}
.grid-cookie-table{grid-template-columns:1fr 1.6fr .8fr}

@media (max-width:900px){
  .grid-2,.grid-3,.grid-4,.grid-hero,.grid-method,.grid-corp,.grid-contact,.grid-campus{grid-template-columns:1fr}
  .grid-cta{grid-template-columns:1fr}
  .header-inner{gap:16px}
  .nav{gap:14px;font-size:14px}
}
@media (max-width:640px){
  .grid-3,.grid-4{grid-template-columns:1fr 1fr}
  .section{padding:48px 20px}
  h1{font-size:clamp(30px,9vw,44px) !important}
}
@media (max-width:480px){
  .grid-3,.grid-4{grid-template-columns:1fr}
  .grid-table,.grid-cookie-table{font-size:13px}
}

/* ---------- header / promo / nav ---------- */
.promo-bar{background:var(--teal);color:#F3FBFC;font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;text-align:center;padding:9px 16px}
.site-header{position:sticky;top:0;z-index:40;background:rgba(251,247,241,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.header-inner{max-width:1180px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:28px}
.logo{display:flex;align-items:baseline;gap:8px;text-decoration:none;color:var(--ink)}
.logo:hover{text-decoration:none;color:var(--ink)}
.logo-main{font-family:var(--font-serif);font-size:27px;letter-spacing:-.01em}
.logo-sub{font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}
.nav{display:flex;flex-wrap:wrap;gap:20px;margin-left:auto;font-size:14.5px;font-weight:500}
.nav a{color:var(--ink-soft)}
.nav a:hover{color:var(--accent)}
.nav a.is-active{color:var(--accent)}
.cart-btn{display:flex;align-items:center;gap:8px;border:1px solid var(--ink);background:var(--ink);color:var(--bg);border-radius:999px;padding:9px 16px;font-family:var(--font-sans);font-size:13.5px;font-weight:600;cursor:pointer}
.cart-btn:hover{background:var(--accent);border-color:var(--accent)}
.cart-badge{background:var(--accent);border-radius:999px;min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:11px}

/* ---------- typography helpers ---------- */
.eyebrow{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin:0 0 16px}
.h-display{font-size:clamp(34px,5.4vw,70px);line-height:1.03;letter-spacing:-.02em;margin:0 0 22px}
.lede{font-size:19px;line-height:1.65;color:var(--text);max-width:56ch;margin:0 0 20px}
.mono-tag{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-mute2)}

/* ---------- buttons ---------- */
.btn{display:inline-block;border-radius:999px;font-weight:600;text-decoration:none;cursor:pointer;font-family:var(--font-sans);border:0;text-align:center}
.btn:hover{text-decoration:none}
.btn--primary{background:var(--accent);color:#fff;padding:15px 28px;font-size:15px}
.btn--primary:hover{background:var(--accent-hover);color:#fff}
.btn--outline{border:1px solid #C9BCAC;color:var(--ink);padding:15px 28px;font-size:15px;background:none}
.btn--outline:hover{border-color:var(--ink);color:var(--ink)}
.btn--outline-dark{border:1px solid var(--ink);color:var(--ink);padding:13px 24px;font-size:15px;background:none;white-space:nowrap}
.btn--outline-dark:hover{background:var(--ink);color:var(--bg)}
.btn--dark{background:var(--ink);color:var(--bg);padding:16px 32px;font-size:16px;white-space:nowrap}
.btn--dark:hover{background:var(--accent);color:#fff}
.btn--sm{padding:10px 18px;font-size:13.5px}
.btn--full{width:100%;padding:15px;font-size:16px}
.link-arrow{font-weight:600;color:var(--accent)}
.link-arrow:hover{color:var(--accent-hover)}

/* ---------- cards / tiles ---------- */
.tile{border:1px solid var(--border);border-radius:3px;padding:22px;background:var(--surface);text-decoration:none;color:var(--ink);display:block}
.tile:hover{border-color:var(--accent);text-decoration:none}
.tile-lang{font-family:var(--font-serif);font-size:26px;margin-bottom:6px}
.tile-meta{font-size:14px;color:var(--text-mute)}
.tile--accent{border-color:var(--teal);background:var(--teal-bg);color:var(--teal-dark)}
.tile--accent:hover{border-color:var(--teal-dark)}
.tile--accent .tile-meta{color:var(--teal-mid2)}

.card{border:1px solid var(--border);background:var(--surface);border-radius:3px;overflow:hidden}
.card-photo{width:100%;height:150px;object-fit:cover;background:var(--surface-alt)}
.card-photo--sm{height:132px}
.card-photo--lg{height:230px}
.card-body{padding:24px}
.card-body--sm{padding:22px}
.card-title{font-family:var(--font-serif);font-weight:400;font-size:27px;margin:0 0 8px}
.card-title--sm{font-size:25px;margin:0 0 4px}
.card-desc{font-size:15px;line-height:1.6;color:var(--text-soft);margin:0 0 16px}
.card-role{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:var(--accent);margin-bottom:12px}
.card-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border-soft);padding-top:14px;gap:12px}
.price-tag{font-family:var(--font-mono);font-size:13px;color:var(--ink)}
.card-list{margin:0 0 18px;padding-left:18px;font-size:14.5px;color:var(--text);line-height:1.8}

.figure{margin:0;background:var(--surface);border:1px solid var(--border);border-radius:3px;padding:26px}
.figure blockquote{margin:0 0 18px;font-size:17px;line-height:1.6;color:var(--ink2)}
.figure figcaption{font-size:14px;color:var(--text-mute)}

.stat-dark{background:var(--dark);color:var(--dark-text);border-radius:3px;padding:28px}
.stat-dark .num{font-family:var(--font-serif);font-size:42px;margin-bottom:6px}
.stat-dark .lbl{color:#B0A599;font-size:15px}

.info-box{border:1px solid var(--border);border-radius:3px;padding:22px;background:var(--surface-alt)}
.info-box h4{margin:0 0 8px;font-size:16px;font-weight:700;font-family:var(--font-sans)}
.info-box p{margin:0;font-size:14.5px;line-height:1.6;color:var(--text-soft)}

.price-box{background:var(--surface);border:1px solid var(--teal-border);border-radius:3px;padding:18px 20px}
.price-box strong{display:block;margin-bottom:4px}
.price-box span{font-size:14.5px;color:var(--text)}

/* ---------- step list (método) ---------- */
.step{border-top:2px solid var(--accent);padding-top:18px}
.step-num{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;color:var(--accent);margin-bottom:8px}
.step h3{font-size:24px;margin:0 0 8px}
.step p{font-size:14.5px;line-height:1.65;color:var(--text-soft)}

/* rules list dark section */
.rules{display:grid;gap:2px}
.rule-item{border-top:1px solid var(--dark-border);padding:20px 0}
.rule-item:last-child{border-bottom:1px solid var(--dark-border)}
.rule-num{font-family:var(--font-mono);font-size:11px;color:var(--dark-text-mute2);letter-spacing:.14em}
.rule-title{font-size:19px;margin-top:6px}
.rule-desc{color:var(--dark-text-mute4);font-size:14.5px;margin-top:6px}

/* ---------- level table ---------- */
.level-table{border:1px solid var(--border);border-radius:3px;overflow:hidden;background:var(--surface)}
.level-head{background:var(--surface-alt);font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-mute2)}
.level-head>div,.level-row>div{padding:14px 18px}
.level-row{border-top:1px solid var(--border-soft);font-size:15px;color:var(--ink-soft)}
.level-row:nth-child(even){background:var(--surface-alt2)}
.level-row div:first-child{font-weight:600}
.level-table-wrap{overflow-x:auto}

/* cookies table */
.cookie-table{border:1px solid var(--border);border-radius:3px;overflow:hidden;background:var(--surface);margin-bottom:22px}
.cookie-head{background:var(--surface-alt);font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-mute2)}
.cookie-head>div,.cookie-row>div{padding:12px 16px}
.cookie-row{border-top:1px solid var(--border-soft);font-size:15px}
.cookie-row:nth-child(even){background:var(--surface-alt2)}
.cookie-row div:first-child{font-weight:600}
.cookie-table-wrap{overflow-x:auto}

/* ---------- forms ---------- */
.form-card{background:var(--surface);border:1px solid var(--border);border-radius:3px;padding:30px;display:grid;gap:16px}
.field{display:grid;gap:6px;font-size:14px;font-weight:600;color:var(--ink-soft)}
.field input[type=text],.field input[type=email],.field input[type=tel],.field select,.field textarea{
  border:1px solid var(--input-border);border-radius:2px;padding:12px 14px;font-family:var(--font-sans);font-size:15px;background:var(--surface-alt2);color:var(--ink);width:100%
}
.field textarea{resize:vertical}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:480px){.field-row{grid-template-columns:1fr}}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.6;color:var(--text-soft)}
.consent input{margin-top:3px}
.form-note{margin:0;font-family:var(--font-mono);font-size:11px;color:var(--text-mute3);line-height:1.6}
.success-box{background:var(--teal-bg);border:1px solid var(--teal-border);border-radius:2px;padding:14px 16px;font-size:15px;color:var(--teal-dark)}
.success-box[hidden]{display:none}

/* quiz */
.quiz-card{background:var(--surface);border:1px solid var(--border);border-radius:3px;padding:30px}
.quiz-q{border-bottom:1px solid var(--border-soft);padding-bottom:22px;margin-bottom:22px}
.quiz-q-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;color:#A2937F;margin-bottom:8px}
.quiz-q p{font-size:17.5px;margin:0 0 14px;color:var(--ink)}
.quiz-opts{display:flex;flex-wrap:wrap;gap:10px}
.quiz-opt{border:1px solid var(--input-border);background:var(--surface-alt2);color:var(--ink);border-radius:999px;padding:9px 18px;font-family:var(--font-sans);font-size:14.5px;cursor:pointer}
.quiz-opt.is-selected{border-color:var(--ink);background:var(--ink);color:var(--bg)}
.quiz-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.quiz-progress{font-family:var(--font-mono);font-size:12px;color:var(--text-mute2)}
.quiz-result{margin-top:26px;background:var(--teal-bg);border:1px solid var(--teal-border);border-radius:3px;padding:24px;display:none}
.quiz-result.is-visible{display:block}
.quiz-result-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;color:var(--teal-dark);margin-bottom:8px}
.quiz-result-level{font-family:var(--font-serif);font-size:38px;color:var(--teal-dark);margin-bottom:10px}
.quiz-result-advice{margin:0 0 16px;font-size:16px;line-height:1.65;color:var(--teal-mid)}

/* FAQ */
.faq-list{border-top:1px solid var(--border)}
.faq-item{border-bottom:1px solid var(--border);padding:20px 0}
.faq-item summary{display:flex;justify-content:space-between;gap:20px;font-size:18.5px;font-weight:600}
.faq-item summary .plus{color:var(--accent);transition:transform .2s}
.faq-item p{margin:14px 0 0;font-size:16.5px;line-height:1.7;color:var(--text)}

/* CTA banner */
.cta-panel{border:1px dashed #C9BCAC;border-radius:3px;padding:26px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.cta-panel--soft{border:1px solid var(--border);background:var(--surface-alt);border-radius:3px;padding:26px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}

/* ---------- footer ---------- */
.site-footer{background:var(--dark);color:var(--dark-text-mute);margin-top:auto}
.footer-grid{max-width:1180px;margin:0 auto;padding:60px 24px 30px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
@media (max-width:760px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.footer-grid{grid-template-columns:1fr}}
.footer-logo{display:flex;align-items:baseline;gap:8px;margin-bottom:16px}
.footer-logo .logo-main{color:var(--dark-text)}
.footer-logo .logo-sub{color:var(--accent-soft)}
.footer-about{font-size:14.5px;line-height:1.7;margin:0 0 16px;max-width:34ch}
.footer-addr{font-family:var(--font-mono);font-size:12.5px;line-height:1.9;margin:0;color:var(--dark-text-mute2)}
.footer-heading{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--dark-text-mute3);margin-bottom:14px}
.footer-links{display:grid;gap:9px;font-size:14.5px}
.footer-links a{color:var(--dark-text-mute)}
.footer-links a:hover{color:#fff}
.footer-bottom{border-top:1px solid var(--dark-soft)}
.footer-bottom-inner{max-width:1180px;margin:0 auto;padding:20px 24px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;font-family:var(--font-mono);font-size:11.5px;color:var(--dark-text-mute3)}

/* ---------- whatsapp float ---------- */
.whats-float{position:fixed;right:22px;bottom:22px;z-index:45;background:var(--teal);color:#FFF;border-radius:999px;padding:14px 22px;font-weight:700;font-size:14.5px;box-shadow:0 8px 24px rgba(30,26,22,.22);text-decoration:none}
.whats-float:hover{color:#fff;background:var(--teal-dark);text-decoration:none}
@media (max-width:480px){.whats-float{right:14px;bottom:14px;padding:12px 18px;font-size:13px}}

/* ---------- cart drawer ---------- */
.cart-overlay{position:fixed;inset:0;background:rgba(30,26,22,.45);z-index:60;display:none}
.cart-overlay.is-open{display:block}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:430px;max-width:92vw;background:var(--bg);z-index:61;display:flex;flex-direction:column;box-shadow:-14px 0 44px rgba(30,26,22,.2);transform:translateX(100%);transition:transform .22s ease-out}
.cart-drawer.is-open{transform:translateX(0)}
.cart-head{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;border-bottom:1px solid var(--border)}
.cart-head h2{font-family:var(--font-serif);font-size:26px}
.cart-close{background:none;border:0;font-size:24px;cursor:pointer;color:var(--text-mute);line-height:1}
.cart-body{flex:1;overflow:auto;padding:20px 24px}
.cart-empty{font-size:16px;color:var(--text-soft);line-height:1.7}
.cart-line{display:grid;grid-template-columns:1fr auto;gap:12px;padding:16px 0;border-bottom:1px solid var(--border-soft)}
.cart-line-name{font-size:16px;font-weight:600;line-height:1.3;margin-bottom:4px}
.cart-line-unit{font-family:var(--font-mono);font-size:12px;color:var(--text-mute2);margin-bottom:10px}
.cart-qty{display:flex;align-items:center;gap:10px}
.qty-btn{width:28px;height:28px;border:1px solid var(--input-border);background:var(--surface);border-radius:2px;cursor:pointer;font-size:16px;line-height:1}
.qty-val{font-family:var(--font-mono);font-size:14px;min-width:18px;text-align:center}
.cart-remove{margin-left:8px;background:none;border:0;color:var(--accent-tag);font-size:13px;cursor:pointer;text-decoration:underline}
.cart-line-total{font-family:var(--font-mono);font-size:14px;white-space:nowrap}
.cart-foot{border-top:1px solid var(--border);padding:20px 24px;background:var(--surface-alt)}
.cart-row{display:flex;justify-content:space-between;font-size:15px;color:var(--text-soft);margin-bottom:6px}
.cart-row.total{font-size:20px;font-weight:700;color:var(--ink);margin-bottom:14px}
.cart-row span:last-child{font-family:var(--font-mono)}
.cart-legal{margin:12px 0 0;font-family:var(--font-mono);font-size:11px;line-height:1.6;color:var(--text-mute2)}
.cart-order-note{margin-top:18px;background:var(--teal-bg);border:1px solid var(--teal-border);border-radius:2px;padding:16px;font-size:15px;line-height:1.65;color:var(--teal-dark);display:none}
.cart-order-note.is-visible{display:block}
body.cart-locked{overflow:hidden}

/* ---------- cookie consent bar ---------- */
.cookie-bar{position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--dark);color:var(--dark-bar-text);padding:18px 24px;display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:center}
.cookie-bar[hidden]{display:none}
.cookie-bar p{margin:0;font-size:14.5px;line-height:1.6;max-width:70ch}
.cookie-bar p a{color:var(--accent-soft)}
.cookie-actions{display:flex;gap:10px}
.cookie-btn{border:1px solid var(--dark-bar);background:none;color:var(--dark-bar-text);border-radius:999px;padding:11px 20px;font-family:var(--font-sans);font-size:14px;cursor:pointer}
.cookie-btn--accept{border:0;background:var(--accent);color:#fff;padding:11px 22px;font-weight:700}

/* ---------- legal / article prose ---------- */
.prose h2{font-family:var(--font-serif);font-weight:400;font-size:27px;margin:28px 0 10px}
.prose p{font-size:16.5px;line-height:1.8;color:var(--ink-soft);margin:0 0 14px}
.prose ul,.prose ol{padding-left:22px;line-height:1.9;margin:0 0 14px}
.article-prose h2{font-family:var(--font-serif);font-weight:400;font-size:31px;margin:36px 0 12px}
.article-prose p{font-size:17.5px;line-height:1.75;color:var(--ink2);margin:0 0 18px}
.article-prose ol,.article-prose ul{font-size:17.5px;line-height:1.85;color:var(--ink2);padding-left:22px;margin:0 0 22px}
.article-prose blockquote{margin:28px 0;padding:22px 26px;background:var(--surface-alt);border-left:3px solid var(--accent);font-size:19px;line-height:1.6;color:var(--ink2)}
.back-link{font-family:var(--font-mono);font-size:12px;letter-spacing:.1em}

/* ---------- misc ---------- */
.photo-hero{width:100%;height:520px;object-fit:cover;border-radius:3px}
.photo-tall{width:100%;height:380px;object-fit:cover;border-radius:3px}
.photo-md{width:100%;height:300px;object-fit:cover;border-radius:3px}
.photo-facade{width:100%;height:220px;object-fit:cover}
.photo-map{width:100%;height:220px;object-fit:cover;border-radius:3px;margin-top:24px}
.photo-featured{width:100%;height:100%;min-height:280px;object-fit:cover}
.photo-thumb{width:100%;height:160px;object-fit:cover}
@media (max-width:900px){.photo-hero{height:340px}.photo-tall{height:260px}}

.strip{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface-alt)}
.strip-inner{max-width:1180px;margin:0 auto;padding:22px 24px;display:flex;flex-wrap:wrap;gap:36px;align-items:center;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-mute2)}
.strip-inner .push{margin-left:auto}
@media (max-width:640px){.strip-inner .push{margin-left:0}}

.section-dark{background:var(--dark);color:var(--dark-text)}
.section-alt{background:var(--surface-alt);border-top:1px solid var(--border)}
.section-alt-b{background:var(--surface-alt);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.section-teal{background:var(--teal-bg);border-top:1px solid var(--teal-border);border-bottom:1px solid var(--teal-border)}

.divider-top{border-top:1px solid var(--border);padding:18px 0}
.divider-top-mono{border-top:1px solid var(--border);padding:18px 0;font-family:var(--font-mono);font-size:14px;line-height:2;color:var(--ink-soft)}
.divider-tb{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:18px 0;font-size:15.5px;line-height:1.8;color:var(--text-soft)}

.company-box{border:1px solid var(--border);background:var(--surface);border-radius:3px;padding:24px;font-size:15.5px;line-height:1.9;color:var(--ink-soft)}
