:root{
  --bg:#10100f;
  --bg-soft:#171614;
  --panel:#1d1b18;
  --panel-2:#23201c;
  --text:#f7f2e8;
  --muted:#b9b0a3;
  --sand:#eee4d3;
  --sand-2:#e4d7c2;
  --ink:#1b1916;
  --ink-soft:#5f574e;
  --accent:#ef6b2d;
  --accent-2:#ffad5c;
  --accent-soft:#3a2417;
  --line:#35302a;
  --line-light:#d4c6b2;
  --success:#91b68a;
  --max:1180px;
  --radius:22px;
  --shadow:0 24px 70px rgba(0,0,0,.24);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);line-height:1.65;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
.wrap{width:min(calc(100% - 36px),var(--max));margin:auto}
.skip-link{position:absolute;left:-9999px;top:auto}.skip-link:focus{left:18px;top:18px;z-index:1000;background:white;color:black;padding:10px 14px;border-radius:10px}

.site-header{position:sticky;top:0;z-index:50;background:rgba(16,16,15,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.07)}
.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:11px;font-weight:900;font-size:1.2rem;letter-spacing:-.02em}
.brand>span:last-child>span{color:var(--accent-2)}
.brand-mark{width:34px;height:34px;border-radius:11px;background:linear-gradient(145deg,var(--accent-2),var(--accent));position:relative;box-shadow:0 10px 24px rgba(239,107,45,.22);flex:0 0 auto}
.brand-mark:before{content:"";position:absolute;left:10px;top:7px;width:13px;height:18px;border-radius:50% 50% 55% 55%;background:#19130f;transform:rotate(10deg)}
.brand-mark:after{content:"";position:absolute;left:14px;top:12px;width:6px;height:10px;border-radius:50%;background:var(--accent-2)}
.nav-links{display:flex;align-items:center;gap:22px;font-size:.93rem;font-weight:700;color:#ddd5c9}
.nav-links a{position:relative;padding:7px 0}
.nav-links a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--accent-2);transition:right .22s ease}
.nav-links a:hover{color:white}.nav-links a:hover:after{right:0}
.menu-btn{display:none;background:#191816;border:1px solid var(--line);color:white;border-radius:12px;padding:10px 13px;font-weight:800}

.hero{padding:86px 0 70px}
.premium-hero{overflow:hidden;position:relative;background:radial-gradient(circle at 76% 14%,rgba(239,107,45,.12),transparent 28%),radial-gradient(circle at 20% 0%,rgba(255,173,92,.06),transparent 30%)}
.hero-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:54px;align-items:center}
.hero-copy{position:relative;z-index:2}
.kicker{display:inline-flex;align-items:center;gap:9px;color:#ffc17f;font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;font-weight:850;margin-bottom:17px}
.kicker:before{content:"";width:30px;height:2px;background:var(--accent)}
.kicker-dark{color:#8a4b2d}.kicker-dark:before{background:#b65a30}
h1,h2,h3{line-height:1.08;margin:0 0 .6em;letter-spacing:-.038em}
h1{font-size:clamp(3rem,6.8vw,6rem);max-width:900px;letter-spacing:-.06em}
h2{font-size:clamp(2.2rem,4.5vw,3.9rem)}
h3{font-size:1.25rem}
.lead{font-size:1.16rem;color:#cbc2b6;max-width:760px}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;border-radius:13px;border:1px solid var(--line);font-weight:850;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0) scale(.985)}
.btn-primary{background:linear-gradient(135deg,var(--accent-2),var(--accent));color:#1d140e;border:0;box-shadow:0 10px 30px rgba(239,107,45,.18)}
.btn-primary:hover{box-shadow:0 16px 36px rgba(239,107,45,.28)}
.btn-secondary{background:#171614;color:white}
.btn-secondary:hover{border-color:#6a5b4f}
.btn-dark{background:var(--ink);color:white;border-color:var(--ink)}
.brand-line{margin:24px 0 0;color:#9f968a;font-size:.92rem;font-weight:650;letter-spacing:.02em}

.space-visual{min-height:540px;background:linear-gradient(155deg,rgba(255,255,255,.03),rgba(255,255,255,.01)),var(--panel);border:1px solid var(--line);border-radius:30px;padding:18px;box-shadow:var(--shadow);position:relative;overflow:hidden;transform-style:preserve-3d;transition:transform .22s ease}
.space-visual:after{content:"";position:absolute;right:-120px;bottom:-130px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(239,107,45,.22),transparent 68%);pointer-events:none}
.visual-topline{display:flex;align-items:center;justify-content:space-between;color:#9d9589;font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;font-weight:750;margin:2px 2px 14px}
.status-dot{display:inline-flex;gap:7px;align-items:center}.status-dot:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px rgba(145,182,138,.1)}
.balcony-scene{height:360px;position:relative;overflow:hidden;border-radius:20px;background:linear-gradient(#292622 0 56%,#24211d 56% 100%);border:1px solid #38332d}
.scene-wall{position:absolute;inset:0 0 44% 0;background:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px);background-size:58px 58px}
.scene-rail{position:absolute;right:0;top:82px;width:42%;height:105px;border-top:4px solid #776d62;border-bottom:3px solid #776d62;background:repeating-linear-gradient(90deg,transparent 0 31px,#776d62 31px 35px)}
.floor-grid{position:absolute;left:-10%;right:-10%;bottom:-14%;height:48%;background:linear-gradient(90deg,rgba(255,255,255,.065) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.065) 1px,transparent 1px);background-size:48px 48px;transform:perspective(260px) rotateX(58deg);transform-origin:bottom}
.bbq-object{position:absolute;left:17%;bottom:57px;width:160px;height:180px;filter:drop-shadow(0 16px 20px rgba(0,0,0,.4))}
.bbq-lid{position:absolute;left:19px;top:0;width:122px;height:55px;background:linear-gradient(#171614,#25221f);border:2px solid #4e4740;border-radius:65px 65px 12px 12px}.bbq-lid:before{content:"";position:absolute;width:40px;height:6px;border-radius:10px;background:#6e655c;left:39px;top:-10px}
.bbq-body{position:absolute;left:10px;top:49px;width:140px;height:65px;border-radius:8px 8px 35px 35px;background:linear-gradient(#332e29,#1a1816);border:2px solid #4e4740}.bbq-body:after{content:"";position:absolute;right:12px;top:18px;width:28px;height:28px;border-radius:50%;border:3px solid #8b8176}
.bbq-leg{position:absolute;top:108px;width:6px;height:72px;background:#625a52}.bbq-leg.left{left:34px;transform:rotate(8deg)}.bbq-leg.right{right:34px;transform:rotate(-8deg)}
.measure-line{position:absolute;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:#d2c5b6}.measure-line:before,.measure-line:after{content:"";position:absolute;background:#b79477}
.measure-width{left:12%;bottom:27px;width:210px;text-align:center;border-top:1px solid #b79477;padding-top:6px}.measure-width:before,.measure-width:after{top:-4px;width:1px;height:8px}.measure-width:before{left:0}.measure-width:after{right:0}
.measure-clearance{right:8%;bottom:88px;border-left:1px solid #b79477;height:96px;padding-left:9px;display:flex;align-items:center}.measure-clearance:before,.measure-clearance:after{left:-4px;width:8px;height:1px}.measure-clearance:before{top:0}.measure-clearance:after{bottom:0}
.safe-zone{position:absolute;left:6%;bottom:34px;width:230px;height:210px;border:1px dashed rgba(239,107,45,.45);border-radius:50%;transform:scaleY(.48);pointer-events:none}.safe-zone span{position:absolute;left:126px;top:5px;transform:scaleY(2.08);font-size:.65rem;color:#d38e67;white-space:nowrap;text-transform:uppercase;letter-spacing:.08em}
.visual-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.visual-metrics>div{padding:13px 10px;border-radius:14px;background:#151412;border:1px solid #2f2a25}.visual-metrics span{display:block;color:#7d746a;font-size:.67rem;letter-spacing:.1em}.visual-metrics b{display:block;margin-top:3px;font-size:.88rem}.visual-metrics small{display:block;color:#968d82;font-size:.7rem;margin-top:1px}

.section{padding:80px 0}
.section-light{background:var(--sand);color:var(--ink)}
.section-sand{background:var(--sand-2);color:var(--ink)}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:34px}.section-head>div{max-width:660px}.section-head p{max-width:540px;color:var(--muted);margin:0}.section-light .section-head p,.section-sand .section-head p{color:var(--ink-soft)}
.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.problem-card{min-height:235px;padding:22px;border:1px solid var(--line-light);border-radius:20px;background:rgba(255,255,255,.32);display:flex;flex-direction:column;transition:transform .2s ease,background .2s ease,border-color .2s ease}.problem-card:hover{transform:translateY(-4px);background:rgba(255,255,255,.58);border-color:#baa98f}.problem-card h3{margin-top:26px;font-size:1.35rem}.problem-card p{color:var(--ink-soft);margin:0 0 18px}.card-index{font-size:.72rem;letter-spacing:.1em;color:#9a765e;font-weight:800}.text-link{margin-top:auto;font-size:.9rem;font-weight:850;display:inline-flex;align-items:center;gap:8px}.text-link span{transition:transform .2s ease}.text-link:hover span{transform:translateX(5px)}.light-link{color:#ffc17f}

.brand-story{background:linear-gradient(145deg,#11100f,#171512)}
.split-story{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.story-copy p{color:#c6bdb1;font-size:1.04rem;max-width:620px}.criteria-panel{padding:28px;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.025)}.criteria-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.11em;color:#958b80;font-weight:800;margin-bottom:12px}.criteria-list{display:grid}.criteria-list>div{padding:15px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:150px 1fr;gap:20px}.criteria-list>div:last-child{border-bottom:0}.criteria-list span{font-weight:850}.criteria-list small{color:#a79e92;font-size:.9rem}

.compare-block{display:grid;grid-template-columns:.8fr 1.2fr;gap:36px;align-items:stretch}.compare-intro{padding:18px 0}.compare-intro p{color:var(--ink-soft);max-width:470px;margin-bottom:28px}.compare-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.compare-card{padding:24px;border-radius:22px;border:1px solid #cabca7;background:rgba(255,255,255,.36)}.compare-card h3{font-size:1.4rem;margin-top:24px}.compare-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.11em;font-weight:850;color:#8d5d40}.compare-card ul{padding-left:18px;color:#5b534a}.compare-card li{margin:8px 0}.tradeoff{border-top:1px solid #cabca7;padding-top:15px;color:#5b534a;font-size:.9rem}

.editorial-grid{display:grid;grid-template-columns:1.25fr .875fr .875fr;gap:16px}.editorial-card{min-height:310px;border:1px solid var(--line);border-radius:22px;padding:24px;background:var(--panel);display:flex;flex-direction:column;transition:transform .2s ease,border-color .2s ease}.editorial-card:hover{transform:translateY(-4px);border-color:#654731}.editorial-main{background:linear-gradient(145deg,rgba(239,107,45,.12),transparent 45%),var(--panel)}.editorial-card h3{font-size:1.45rem;margin-top:18px}.editorial-main h3{font-size:1.9rem}.editorial-card p{color:#aaa195}.tag{display:inline-flex;align-items:center;width:max-content;font-size:.71rem;font-weight:850;color:#ffc07d;background:#2a211a;border:1px solid #513723;border-radius:999px;padding:5px 10px;text-transform:uppercase;letter-spacing:.07em}

.technical-band{background:#0b0b0a;border-top:1px solid #20201e;border-bottom:1px solid #20201e}.technical-grid{display:grid;grid-template-columns:1fr .9fr;gap:60px;align-items:center}.heat-map{position:relative;min-height:390px;border-radius:28px;overflow:hidden;background:radial-gradient(circle at 36% 48%,rgba(239,107,45,.1),transparent 18%),linear-gradient(145deg,#191715,#11100f);border:1px solid var(--line)}.heat-core,.heat-ring{position:absolute;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.heat-core{width:105px;height:105px;background:radial-gradient(circle,#ffad5c 0,#ef6b2d 45%,rgba(239,107,45,.08) 72%);box-shadow:0 0 60px rgba(239,107,45,.32)}.heat-ring{border:1px solid rgba(255,173,92,.25)}.ring-one{width:205px;height:205px}.ring-two{width:320px;height:320px;border-color:rgba(255,255,255,.08)}.heat-label{position:absolute;font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:#b5aa9d}.heat-label.hot{left:52%;top:34%}.heat-label.mild{right:12%;bottom:27%}.heat-caption{position:absolute;left:20px;bottom:18px;color:#746c63;font-size:.74rem}

.teaser-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.teaser-grid p{color:var(--ink-soft);max-width:600px}.table-grill-visual{min-height:320px;position:relative;border-radius:28px;background:linear-gradient(145deg,#d4c4ab,#efe4d3);border:1px solid #c8b69d;overflow:hidden}.table-top{position:absolute;left:-5%;right:-5%;bottom:-15%;height:55%;background:#c7af90;transform:perspective(260px) rotateX(55deg)}.grill-plate{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);width:220px;height:145px;border-radius:50%;background:radial-gradient(circle at 50% 45%,#3a332d,#171513 72%);box-shadow:0 24px 45px rgba(67,49,30,.25)}.grill-plate:before{content:"";position:absolute;inset:16px;border-radius:50%;border:1px solid #71665b}.grill-plate span{position:absolute;width:34px;height:11px;border-radius:50%;background:#b45a35;top:52px}.grill-plate span:nth-child(1){left:49px;transform:rotate(18deg)}.grill-plate span:nth-child(2){left:92px;top:76px;transform:rotate(-10deg)}.grill-plate span:nth-child(3){right:45px;top:48px;transform:rotate(28deg)}.steam-line{position:absolute;width:22px;height:85px;border-left:2px solid rgba(255,255,255,.72);border-radius:50%;top:43px;opacity:.75}.steam-line.s1{left:42%}.steam-line.s2{left:51%;top:32px}.steam-line.s3{left:59%;top:48px}

.simulator-section{padding-top:92px;padding-bottom:92px}.simulator-card{padding:46px;border:1px solid #5b3a26;border-radius:28px;background:linear-gradient(135deg,#2d2017 0,#171412 55%,#11100f 100%);display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center;box-shadow:var(--shadow)}.simulator-card p{color:#bdb3a7;max-width:610px}.simulator-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:8px;align-items:center}.simulator-flow>div{min-height:92px;padding:13px;border-radius:15px;border:1px solid #45372c;background:#171411;display:flex;flex-direction:column;justify-content:center}.simulator-flow span{font-size:.68rem;color:#8d8175}.simulator-flow b{font-size:.84rem;margin-top:5px}.simulator-flow i{font-style:normal;color:#806654}

.methodology{background:#141311}.methodology-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}.method-copy p{color:#bcb3a7;max-width:720px}

.footer{border-top:1px solid var(--line);padding:54px 0 30px;background:#0d0d0c;color:#a69d92}.footer-grid{display:grid;grid-template-columns:1.25fr repeat(3,.75fr);gap:32px}.footer h4{color:white;margin:0 0 13px;font-size:.9rem}.footer a{display:block;margin:8px 0}.footer a:hover{color:white}.footer-brand{color:white;margin-bottom:15px}.footer-bottom{border-top:1px solid #292621;margin-top:34px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:.82rem;color:#756e66}

/* Interior pages and backward compatibility */
.page-hero{padding:74px 0 48px;background:radial-gradient(circle at 80% 0%,rgba(239,107,45,.08),transparent 26%)}
.page-hero h1{font-size:clamp(2.7rem,6vw,5rem);max-width:900px}
.breadcrumbs{font-size:.85rem;color:#8e867d;margin-bottom:18px}.breadcrumbs a:hover{color:white}
.listing{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}.list-card{padding:23px;border-radius:20px;background:var(--panel);border:1px solid var(--line);min-height:210px;transition:transform .2s ease,border-color .2s ease}.list-card:hover{transform:translateY(-3px);border-color:#60422f}.list-card p{color:var(--muted)}
.article{width:min(calc(100% - 36px),820px);margin:auto;padding:56px 0}.article h1{font-size:clamp(2.7rem,6vw,4.8rem)}.article h2{margin-top:2.1em;font-size:2.05rem}.article h3{margin-top:1.7em}.article p,.article li{color:#d4cdc3}.article a{color:#ffb76a;text-decoration:underline}.callout{padding:18px 20px;border-radius:14px;background:#1f1a15;border:1px solid #4d3626;margin:24px 0}.callout strong{color:#ffc27c}.table-wrap{overflow-x:auto}.article table{width:100%;border-collapse:collapse;margin:24px 0}.article th,.article td{border:1px solid var(--line);padding:12px;text-align:left}.article th{background:#211d19}.source-list{font-size:.93rem}.source-list li{margin:8px 0}.disclosure{font-size:.88rem;color:#aaa196;border-top:1px solid var(--line);padding-top:18px;margin-top:40px}.pill-row{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.pill{padding:8px 11px;border:1px solid var(--line);border-radius:999px;color:#d5cec4;background:#181512}
.newsletter{padding:42px;border-radius:24px;border:1px solid #553822;background:linear-gradient(135deg,#2b2017,#181512);display:flex;justify-content:space-between;gap:20px;align-items:center}.newsletter p{color:var(--muted);margin:0;max-width:650px}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:none}

@media(max-width:980px){
  .hero-grid,.split-story,.technical-grid,.teaser-grid,.simulator-card,.methodology-grid{grid-template-columns:1fr}
  .compare-block{grid-template-columns:1fr}
  .space-visual{min-height:500px}.problem-grid{grid-template-columns:1fr 1fr}.editorial-grid{grid-template-columns:1fr 1fr}.editorial-main{grid-column:1/-1}.footer-grid{grid-template-columns:1fr 1fr}.simulator-flow{margin-top:8px}
  .nav-links{display:none;position:absolute;left:18px;right:18px;top:68px;padding:18px;flex-direction:column;align-items:flex-start;background:#171614;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.nav-links.open{display:flex}.menu-btn{display:block}
  .listing{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .wrap{width:min(calc(100% - 28px),var(--max))}.hero{padding:58px 0 52px}h1{font-size:clamp(2.75rem,15vw,4.3rem)}h2{font-size:2.35rem}.lead{font-size:1.02rem}.section{padding:62px 0}
  .space-visual{min-height:450px;padding:14px}.balcony-scene{height:310px}.bbq-object{left:11%;transform:scale(.86);transform-origin:bottom left}.measure-clearance{right:4%}.safe-zone{left:1%}.visual-metrics{grid-template-columns:1fr}.visual-metrics>div{display:grid;grid-template-columns:34px 1fr;column-gap:8px}.visual-metrics small{grid-column:2}.problem-grid,.compare-columns,.editorial-grid,.footer-grid,.listing{grid-template-columns:1fr}.editorial-main{grid-column:auto}.section-head{align-items:flex-start;flex-direction:column}.split-story{gap:36px}.criteria-list>div{grid-template-columns:1fr;gap:3px}.compare-block{gap:20px}.technical-grid{gap:30px}.heat-map{min-height:300px}.teaser-grid{gap:30px}.simulator-card{padding:27px}.simulator-flow{grid-template-columns:1fr 1fr}.simulator-flow i{display:none}.footer-bottom{flex-direction:column}.newsletter{padding:26px;flex-direction:column;align-items:flex-start}.page-hero{padding-top:54px}.article{padding-top:40px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.space-visual{transform:none!important}}

/* Long guides: navigation and readable tables. */
.article-meta{color:#aaa196;font-size:.9rem;margin:18px 0 26px}.article-toc{padding:22px;background:#191613;border:1px solid var(--line);border-radius:14px;margin:30px 0}.article-toc h2{font-size:1.3rem;margin:0 0 12px}.article-toc ol{padding-left:22px;margin:0}.article-toc li{margin:6px 0}.article h2[id],.article h3[id]{scroll-margin-top:100px}.article .table-wrap{margin:22px 0;border-radius:8px}.article .table-wrap table{margin:0;min-width:560px}.guide-feature{max-width:800px;margin:22px 0 0;color:#d4cdc3}.guide-feature a{color:#ffb76a;text-decoration:underline}.article-body{overflow-wrap:anywhere}.article .table-wrap:focus-visible{outline:2px solid #ffb76a;outline-offset:3px}

/* Editorial navigation shared by category pages and articles. */
.guide-links{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.guide-links li{padding:20px;border:1px solid var(--line);border-radius:14px}.guide-links a{font-size:1.1rem;font-weight:750;color:#ffb76a;text-decoration:underline}.guide-links p{color:#bfb5a8;margin:12px 0 0}.related-guides{margin-top:42px;padding-top:8px;border-top:1px solid var(--line)}.related-guides h2{font-size:1.45rem}.related-guides li{margin:8px 0}@media(max-width:640px){.guide-links{grid-template-columns:1fr}.article h1{font-size:2.4rem}.article h2{font-size:1.7rem}}

.article-figure{margin:28px 0}.article-figure img{display:block;width:100%;height:auto;border-radius:16px}.article-figure figcaption{font-size:.88rem;color:#bfb5a8;margin-top:10px}
