/* TLVS — The Villa, Documented. Shared by the crawlable Documented pages and Home teaser. */
:root{
  --doc-bg:#11120f;
  --doc-soft:#151611;
  --doc-ink:#f2eee5;
  --doc-muted:#c9c4b9;
  --doc-gold:#a98b57;
  --doc-champ:#cdbf9d;
  --doc-line:rgba(255,255,255,.07);
  --doc-max:1760px;
  --doc-pad:clamp(28px,4.2vw,82px);
  --doc-display:"EB Garamond",Georgia,serif;
  --doc-sans:"Inter","DejaVu Sans",Arial,sans-serif;
}
.documented-page{margin:0;background:var(--doc-bg);color:var(--doc-ink);font-family:var(--doc-sans);font-weight:300}
.documented-page *{box-sizing:border-box}
.doc-shell{max-width:var(--doc-max);margin:0 auto;padding-left:var(--doc-pad);padding-right:var(--doc-pad)}
.doc-eyebrow{font:500 clamp(9px,.65vw,12px)/1.2 var(--doc-sans);letter-spacing:.19em;text-transform:uppercase;color:var(--doc-gold)}
.doc-heading{font-family:var(--doc-display);font-weight:400;letter-spacing:.002em;color:var(--doc-ink);margin:0}
.doc-copy{font-size:clamp(14px,.95vw,17px);line-height:1.72;letter-spacing:.006em;color:var(--doc-muted)}
.doc-copy strong{font-weight:400;color:var(--doc-ink)}
.doc-hero{padding:clamp(92px,8vw,150px) 0 clamp(110px,9vw,170px);border-bottom:1px solid var(--doc-line)}
.doc-hero-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr);gap:clamp(58px,7vw,132px);align-items:center}
.doc-hero h1{font-size:clamp(48px,5.25vw,88px);line-height:.98;max-width:760px;margin:22px 0 34px}
.doc-hero .doc-copy{max-width:650px}
.doc-hero .doc-copy p{margin:0 0 22px}
.doc-hero-media{min-height:520px;border-radius:8px;overflow:hidden;background:#24231e url('images/warm-evening-nibe-technical-still-life.webp') center/cover no-repeat;position:relative}
.doc-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(17,18,15,.08),rgba(17,18,15,.32))}
.doc-use{padding:clamp(110px,9vw,175px) 0;background:var(--doc-soft);border-bottom:1px solid var(--doc-line)}
.doc-use-grid{display:grid;grid-template-columns:minmax(420px,.92fr) minmax(470px,1.08fr);gap:clamp(64px,8vw,150px);align-items:center}
.doc-device-scene{min-height:620px;border-radius:8px;background:linear-gradient(180deg,#e7ddcf,#d9cab8);position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,.035)}
.doc-device-scene:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 112px,rgba(86,63,39,.12) 113px 115px)}
.doc-panel{position:absolute;left:50%;top:29%;transform:translate(-50%,-50%);width:min(72%,445px);height:auto;display:block;border-radius:8px;box-shadow:0 14px 30px rgba(0,0,0,.24)}
.doc-question-card{position:absolute;left:28px;right:28px;bottom:28px;padding:24px 24px 22px;background:#11120f;border-radius:8px}
.doc-question-card .question{font:400 clamp(27px,2.1vw,34px)/1.1 var(--doc-display);color:var(--doc-ink)}
.doc-question-card .mode{margin-top:12px;font:500 11px/1.2 var(--doc-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--doc-champ)}
.doc-use h2,.doc-access h2,.doc-continuity h2,.doc-energy h2{font-size:clamp(42px,4.1vw,68px);line-height:1.02}
.doc-use h2{margin:18px 0 28px}
.doc-lead{font-size:clamp(18px,1.35vw,22px);line-height:1.45;color:var(--doc-ink);max-width:650px;margin:0 0 44px}
.doc-demo-label{font:500 10px/1.2 var(--doc-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--doc-gold);margin-bottom:18px}
.doc-chat{max-width:680px}
.doc-user{padding:20px 22px;background:#20211d;border-radius:8px;color:var(--doc-ink);font-size:15px}
.doc-answer{margin-top:12px;padding:20px 22px 22px;border:1px solid rgba(255,255,255,.11);border-radius:8px}
.doc-answer strong{display:block;color:var(--doc-champ);font-size:11px;letter-spacing:.08em;margin-bottom:10px}.doc-answer p{margin:0;font-size:14px;line-height:1.62;color:var(--doc-muted)}
.doc-or{margin-top:34px;color:var(--doc-ink);font-size:14px}.doc-questions{margin:16px 0 0;padding:0;list-style:none;color:var(--doc-muted);font-size:14px;line-height:1.65}.doc-questions li{margin:7px 0}.doc-questions li:before{content:"— ";color:var(--doc-gold)}
.doc-access{padding:clamp(115px,9vw,180px) 0;text-align:center;border-bottom:1px solid var(--doc-line)}
.doc-access .doc-copy{max-width:900px;margin:26px auto 0}.doc-levels{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;max-width:1120px;margin:78px auto 0;position:relative}.doc-levels:before{content:"";position:absolute;left:15%;right:15%;top:26px;height:1px;background:rgba(169,139,87,.55)}
.doc-level{position:relative;z-index:1}.doc-level-num{width:54px;height:54px;border:1px solid var(--doc-gold);border-radius:50%;display:grid;place-items:center;margin:0 auto 24px;background:var(--doc-bg);font:400 22px/1 var(--doc-display);color:var(--doc-ink)}.doc-level-title{font:400 clamp(24px,2vw,30px)/1.1 var(--doc-display);color:var(--doc-ink)}
.doc-access-note{max-width:980px;margin:62px auto 0;color:var(--doc-muted);font-size:15px;line-height:1.72}
.doc-continuity{padding:clamp(130px,10vw,200px) 0;background:var(--doc-soft);text-align:center}.doc-continuity h2{max-width:760px;margin:0 auto}.doc-closing,.doc-energy .doc-copy{max-width:920px;margin:54px auto 0;font:400 clamp(27px,2.3vw,38px)/1.25 var(--doc-display);color:var(--doc-ink)}
.doc-inline-links{display:flex;justify-content:center;gap:30px;flex-wrap:wrap;margin-top:54px}.doc-inline-links a{font:500 10px/1.2 var(--doc-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--doc-ink);border-bottom:1px solid rgba(169,139,87,.62);padding-bottom:6px}
/* Home teaser — static HTML on all 12 Home pages. */
.tlvs-documented-teaser{max-width:var(--max,1760px);margin:0 auto clamp(120px,9.7vw,190px);display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.75fr);gap:clamp(54px,6vw,110px);align-items:center}
.tlvs-documented-teaser .doc-teaser-copy{padding-left:clamp(0px,2vw,26px)}
.tlvs-documented-teaser .doc-teaser-media{order:2;min-height:460px;border-radius:8px;background:#24231e url('images/warm-evening-nibe-technical-still-life.webp') center/cover no-repeat;position:relative;overflow:hidden}.tlvs-documented-teaser .doc-teaser-media:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(17,18,15,.02),rgba(17,18,15,.25))}
.tlvs-documented-teaser .eyebrow{font-size:clamp(8px,.62vw,11px);font-weight:500;letter-spacing:.19em;color:var(--doc-gold);text-transform:uppercase;margin-bottom:18px}.tlvs-documented-teaser h2{font-family:var(--doc-display);font-size:clamp(38px,3.25vw,58px);font-weight:400;line-height:1.04;letter-spacing:.002em;margin:0 0 22px;color:var(--doc-ink)}.tlvs-documented-teaser p{font-size:clamp(13px,.9vw,16px);line-height:1.7;color:var(--doc-muted);margin:0;max-width:520px}.tlvs-documented-teaser .cta{display:inline-block;margin-top:28px;font-size:10px;font-weight:500;letter-spacing:.18em;color:var(--doc-ink);text-transform:uppercase;border-bottom:1px solid rgba(169,139,87,.62);padding-bottom:6px}
@media(max-width:1200px) and (min-width:901px){.doc-hero-grid{grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr)}.doc-use-grid{grid-template-columns:minmax(370px,.9fr) minmax(420px,1.1fr);gap:58px}.doc-device-scene{min-height:560px}.tlvs-documented-teaser{grid-template-columns:minmax(280px,.9fr) minmax(0,1.5fr);gap:48px}}
@media(max-width:900px){.doc-hero,.doc-use,.doc-access,.doc-continuity{padding-top:92px;padding-bottom:110px}.doc-hero-grid,.doc-use-grid{grid-template-columns:1fr;gap:48px}.doc-hero-media{min-height:54vw}.doc-device-scene{min-height:610px;max-width:760px}.doc-levels{gap:18px}.tlvs-documented-teaser{grid-template-columns:1fr;gap:32px;max-width:780px}.tlvs-documented-teaser .doc-teaser-media{order:0;min-height:52vw}.tlvs-documented-teaser .doc-teaser-copy{padding:0 2px}}
@media(max-width:560px){:root{--doc-pad:22px}.doc-hero,.doc-use,.doc-access,.doc-continuity{padding-top:66px;padding-bottom:82px}.doc-hero h1{font-size:clamp(42px,12vw,57px);margin-top:16px}.doc-hero-media{min-height:62vw}.doc-use-grid{gap:36px}.doc-device-scene{min-height:460px}.doc-panel{top:31%;width:82%}.doc-question-card{left:18px;right:18px;bottom:18px;padding:20px}.doc-question-card .question{font-size:28px}.doc-use h2,.doc-access h2,.doc-continuity h2,.doc-energy h2{font-size:clamp(36px,10.5vw,46px)}.doc-lead{margin-bottom:34px}.doc-levels{grid-template-columns:1fr;gap:42px;margin-top:58px}.doc-levels:before{display:none}.doc-access-note{margin-top:50px}.doc-inline-links{gap:22px;margin-top:42px}.tlvs-documented-teaser{gap:24px;margin-bottom:84px}.tlvs-documented-teaser .doc-teaser-media{min-height:66vw}.tlvs-documented-teaser h2{font-size:clamp(34px,10vw,44px);margin-bottom:16px}.tlvs-documented-teaser .eyebrow{margin-bottom:12px}}

/* Match the existing page chrome without depending on Home-only styles. */
.documented-page a{color:inherit;text-decoration:none}
.documented-page .site-footer .footer-place {
  margin-top: 24px;
  font-family: var(--doc-sans);
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .17em;
  text-transform: uppercase;
  color: var(--doc-gold);
}
@media (max-width: 560px) {
  .documented-page .site-footer .footer-place {
    margin-top: 18px;
    font-size: 8px;
  }
}
.documented-page .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Preserve the complete approved composition at every viewport. */
.doc-hero-media,.tlvs-documented-teaser .doc-teaser-media{min-height:0;aspect-ratio:3/2;background-size:contain}
/* Long localized headings must fit the existing columns on narrow screens. */
.doc-heading{overflow-wrap:anywhere;hyphens:auto}
.doc-hero-grid>div,.doc-use-grid>div{min-width:0}
@media(max-width:1200px) and (min-width:901px){.doc-use-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}

/* Documented footer — use the same restrained spacing, rule and CTA treatment as the editorial pages. */
.documented-page .site-footer{
  display:block !important;
  background:#121210 !important;
  border-top:1px solid rgba(205,191,157,.18) !important;
  padding:78px max(var(--chrome-pad),env(safe-area-inset-right)) 34px max(var(--chrome-pad),env(safe-area-inset-left)) !important;
}
.documented-page .site-footer .footer-shell{
  max-width:1440px !important;
  width:100%;
  margin:0 auto !important;
  align-items:flex-end !important;
  gap:80px !important;
}
.documented-page .site-footer .tlvs-wordmark{width:148px}
.documented-page .site-footer a[href*="enquire" i]{
  color:var(--doc-gold) !important;
  font:500 11px/1.4 var(--doc-sans) !important;
  letter-spacing:.14em !important;
  text-transform:uppercase;
}
.documented-page .site-footer [data-i18n="cookies"],
.documented-page .site-footer a[href="#cookies"]{
  color:#7f7a72 !important;
  font:400 11px/1.4 var(--doc-sans) !important;
  letter-spacing:normal !important;
  text-transform:none !important;
}
@media(max-width:900px){
  .documented-page .site-footer{padding-top:66px !important}
  .documented-page .site-footer .footer-shell{gap:52px !important}
}
@media(max-width:560px){
  .documented-page .site-footer{padding:60px 20px 28px !important}
  .documented-page .site-footer .footer-shell{display:block !important}
  .documented-page .site-footer .footer-shell>div:last-child{margin-top:36px;text-align:left !important}
  .documented-page .site-footer .tlvs-wordmark{width:120px}
}

/* General ownership benefit; technical operating guidance stays private. */
.doc-energy{padding:clamp(66px,7vw,110px) 0;background:#1b1d16;border-bottom:1px solid var(--doc-line);text-align:center}
.doc-energy h2{text-align:center;max-width:950px;margin:0 auto}
.doc-energy .doc-copy{text-align:center}
