/* Detailed Turbit landing pages: editorial split, material cards and quiet motion. */
.detailed-landing { --lp-ink:#173D25; --lp-copy:#536259; --lp-cream:#F6F4EC; --lp-motion:cubic-bezier(.32,.72,0,1); }
.lp-section { padding:80px 0; scroll-margin-top:100px; }
.lp-section .container { max-width:1232px; }
.lp-warm { background:#F7F6F0; }
.lp-soft { background:#F0F5F1; }
.lp-heading { max-width:750px; margin-bottom:36px; }
.lp-heading h2 { font-size:clamp(1.8rem,3.2vw,2.8rem); letter-spacing:-.035em; line-height:1.12; margin:12px 0 20px; color:var(--lp-ink); }
.lp-heading p,.lp-body,.lp-section article p,.lp-section details p { font-size:1rem; line-height:1.75; color:var(--lp-copy); }
.lp-split { display:grid; grid-template-columns:1.05fr 1fr; gap:64px; align-items:center; }
.lp-split > * { min-width:0; }
.lp-shell { padding:7px; border-radius:25px; background:#21482C0A; box-shadow:0 18px 60px -40px #163E2638,inset 0 1px 0 #FFFFFFAA; }
.lp-shell > div,.lp-shell > form { border-radius:19px; background:#fff; padding:28px; height:100%; box-shadow:inset 0 1px 0 #FFFFFF; }
.lp-about-visual { position:relative; padding:28px 20px 64px !important; background:#E8EDE3 !important; min-height:380px; display:flex; align-items:center; justify-content:center; }
.lp-about-visual img { width:100%; height:300px; object-fit:contain; }
.lp-about-visual > span { position:absolute; left:24px; bottom:24px; color:#2A4E34; font-size:.85rem; }
.lp-text-link { display:inline-flex; align-items:center; gap:12px; font-weight:700; color:#21482C; padding:12px 0; }
.lp-text-link span { display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:50%; background:#21482C0D; }
.lp-number { display:block; font-size:.72rem; letter-spacing:.12em; font-weight:700; color:#526A59; margin-bottom:18px; }
.lp-section h3 { font-size:1.35rem; line-height:1.25; margin:0 0 14px; color:var(--lp-ink); }
.lp-section a { text-underline-offset:4px; }
.lp-bento { display:grid; grid-template-columns:1.1fr 1fr 1fr; gap:20px; }
.lp-density { grid-row:span 2; }
.lp-density > div { background:#1E422A; }
.lp-density strong { font-family:var(--font-heading); font-size:clamp(4rem,7vw,6.5rem); color:#E2CA8A; letter-spacing:-.06em; display:block; margin:24px 0; line-height:1; }
.lp-density h3,.lp-density p,.lp-density a,.lp-density .lp-number { color:#E4ECE5 !important; }
.lp-wide { grid-column:span 2; }
.lp-bento a,.lp-comparison a,.lp-exposure a { display:inline-block; padding:12px 0; font-weight:700; text-decoration:underline; }
.lp-product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.lp-product-image { display:flex; justify-content:center; align-items:center; background:#F4F6EF; height:250px; border-radius:13px; margin-bottom:24px; overflow:hidden; }
.lp-product-image img { width:100%; height:220px; object-fit:contain; transition:transform .6s var(--lp-motion); }
.lp-product-image:hover img { transform:scale(1.04); }
.lp-product p { min-height:54px; }
.lp-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.lp-scene-tabs { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:24px; }
.lp-scene-tabs button { min-height:46px; padding:10px 24px; border:0; border-radius:30px; color:#21482C; background:#EAF0E8; font:600 .9rem var(--font-body); cursor:pointer; transition:background .3s var(--lp-motion),color .3s var(--lp-motion); }
.lp-scene-tabs button[aria-selected="true"] { background:#21482C; color:#fff; }
.lp-scene-stage { border-radius:26px; padding:7px; background:#21482C0A; }
.lp-scene-stage [role="tabpanel"] { position:relative; border-radius:20px; overflow:hidden; background:#F0F3ED; }
.lp-scene-stage [role="tabpanel"] + [role="tabpanel"] { margin-top:24px; }
.lp-scene-stage img { width:100%; height:560px; display:block; object-fit:cover; }
.lp-scene-caption { position:absolute; bottom:24px; left:24px; background:#FFFFFFF2; padding:26px; border-radius:16px; max-width:460px; }
.lp-scene-caption .lp-number { margin-bottom:12px; }
.lp-scene-caption p { margin:0; color:#4E6154; font-size:.9rem; line-height:1.6; }
.lp-comparison { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); background:#FFFFFF; border-radius:22px; overflow:hidden; box-shadow:0 24px 60px -42px #24462F40; }
.lp-comparison article { padding:32px; }
.lp-comparison-focus { background:#E5EDE2; }
.lp-comparison dl { margin:22px 0; }
.lp-comparison dt { font-size:.73rem; text-transform:uppercase; letter-spacing:.08em; font-weight:700; color:#536858; margin:18px 0 6px; }
.lp-comparison dd { font-size:.9rem; line-height:1.65; color:#334D3C; margin:0; }
.lp-exposure { display:grid; grid-template-columns:1.2fr 1fr; gap:24px; }
.lp-indoor { border-radius:22px; overflow:hidden; background:#EDF2EB; }
.lp-indoor img { display:block; width:100%; height:310px; object-fit:cover; }
.lp-indoor > div { padding:30px; }
.lp-outdoor { background:#F5F1E4; border-radius:22px; padding:40px; display:flex; flex-direction:column; justify-content:center; }
.lp-outdoor ul { margin:0 0 20px; padding-left:20px; color:#536259; }
.lp-outdoor li { padding:8px 0; line-height:1.6; }
.lp-deep { background:#173E26; }
.lp-deep .section-tag { background:#FFFFFF0F; color:#E3EADA; border-color:#FFFFFF22; }
.lp-deep .lp-heading h2,.lp-deep h3 { color:#F3F6EE; }
.lp-deep p { color:#CDD9CD !important; }
.lp-care-path article { display:flex; gap:20px; padding:24px 0; }
.lp-care-path article + article { border-top:1px solid #FFFFFF20; }
.lp-care-path article > span { flex:0 0 44px; height:44px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:#E5D29C; color:#173E26; font-weight:700; }
.lp-care-path p { margin:0; }
.lp-details-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; align-items:start; }
.lp-details-grid details,.lp-faq details { background:#F3F6F0; border-radius:16px; padding:22px 24px; }
.lp-details-grid summary,.lp-faq summary { display:flex; align-items:center; justify-content:space-between; gap:16px; font-weight:700; color:#24482E; cursor:pointer; list-style:none; line-height:1.5; }
.lp-details-grid summary::-webkit-details-marker,.lp-faq summary::-webkit-details-marker { display:none; }
.lp-details-grid summary span,.lp-faq summary span { font-size:24px; font-weight:400; }
.lp-details-grid details[open] summary span,.lp-faq details[open] summary span { transform:rotate(45deg); }
.lp-details-grid p,.lp-faq p { margin:18px 0 0; }
.lp-process { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px; list-style:none; margin:0; padding:0; }
.lp-process li > span { display:block; font-size:2.6rem; color:#8A7440; font-family:var(--font-heading); margin-bottom:24px; }
.lp-process p { color:#536259; line-height:1.7; }
.lp-faq { display:grid; gap:12px; max-width:920px; }
.lp-enquiry-layout { display:grid; grid-template-columns:1fr 1.1fr; gap:64px; align-items:start; }
.lp-contact-note { color:#536259; line-height:1.8; }
.lp-contact-note a { display:block; width:fit-content; font-weight:600; color:#21482C; padding:8px 0; }
.lp-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px 16px; margin:24px 0; }
.lp-form-wide { grid-column:1/-1; }
.lp-form-grid label { display:flex; flex-direction:column; gap:8px; font-size:.8rem; font-weight:600; color:#294332; min-width:0; }
.lp-form-grid input,.lp-form-grid select,.lp-form-grid textarea { width:100%; min-width:0; border:1px solid #21482C26; border-radius:10px; padding:13px 12px; background:#FAFBF8; font:400 1rem var(--font-body); color:#233E2B; }
.lp-form-grid textarea { resize:vertical; }
.lp-inline-form > button { width:100%; }
.lp-form-note { font-size:.75rem !important; line-height:1.5; color:#5A6B5E; margin-top:14px; }
.lp-jumpnav { display:flex; flex-wrap:wrap; gap:8px 28px; padding-top:18px; padding-bottom:18px; }
.lp-jumpnav a { padding:12px 0; font-size:.85rem; color:#35583E; font-weight:600; text-decoration:underline; text-underline-offset:5px; }
.lp-local-context { background:#fff; padding:48px 0; }
.lp-local-context h2 { font-size:1.5rem; margin-top:24px !important; }
.lp-local-context p { color:#536259; line-height:1.75; max-width:80ch; }
.lp-section a:focus-visible,.lp-section button:focus-visible,.lp-section summary:focus-visible,.lp-section input:focus-visible,.lp-section select:focus-visible,.lp-section textarea:focus-visible { outline:3px solid #AC852D; outline-offset:4px; }
.lp-reveal { opacity:0; transform:translateY(24px); transition:opacity .8s cubic-bezier(.32,.72,0,1),transform .8s cubic-bezier(.32,.72,0,1); }
.lp-reveal.is-visible { opacity:1; transform:translateY(0); }
@media(max-width:1000px) { .lp-split,.lp-enquiry-layout { gap:32px; } .lp-bento { grid-template-columns:1fr 1fr; } .lp-density { grid-row:auto; } .lp-wide { grid-column:auto; } .lp-process { grid-template-columns:1fr 1fr; } }
@media(max-width:767px) {
 .lp-section { padding:32px 0; }
 .lp-split,.lp-bento,.lp-product-grid,.lp-comparison,.lp-exposure,.lp-details-grid,.lp-enquiry-layout { grid-template-columns:1fr; gap:20px; }
 .lp-heading { margin-bottom:24px; }
 .lp-shell { padding:5px; border-radius:21px; }
 .lp-shell > div,.lp-shell > form { padding:22px; border-radius:16px; }
 .lp-about-visual { min-height:280px; }
 .lp-about-visual img { height:220px; }
 .lp-density strong { font-size:5rem; margin:20px 0; }
 .lp-product-image { height:220px; }
 .lp-product-image img { height:200px; }
 .lp-product p { min-height:0; }
 .lp-scene-tabs { gap:8px; display:grid; grid-template-columns:1fr 1fr; }
 .lp-scene-tabs button { padding:12px; font-size:.8rem; }
 .lp-scene-stage img { height:300px; }
 .lp-scene-caption { position:static; max-width:none; padding:22px; border-radius:0; }
 .lp-comparison article { padding:26px; }
 .lp-outdoor,.lp-indoor > div { padding:24px; }
 .lp-indoor img { height:240px; }
 .lp-care-path article { gap:16px; }
 .lp-details-grid details,.lp-faq details { padding:20px; }
 .lp-process { gap:24px 20px; }
 .lp-process h3 { font-size:17px; }
 .lp-process li > span { font-size:2rem; margin-bottom:12px; }
 .lp-form-grid { grid-template-columns:1fr; gap:16px; }
 .lp-form-grid .lp-form-wide { grid-column:auto; }
 .lp-jumpnav { gap:4px 24px; }
 .lp-jumpnav a { font-size:.8rem; }
}
@media(prefers-reduced-motion:reduce) { .lp-reveal { opacity:1; transform:none; transition:none; } .lp-product-image img,.lp-scene-tabs button { transition:none; } }

/* Material comparison: tactile cutaways and aligned specification bands. */
.lp-comparison { gap:14px; background:transparent; overflow:visible; box-shadow:none; align-items:stretch; }
.lp-comparison article { padding:28px; border-radius:24px; background:#FFF; box-shadow:0 16px 48px -36px #173D2538; display:flex; flex-direction:column; }
.lp-comparison .lp-comparison-focus { background:#E5EDDF; box-shadow:inset 0 0 0 2px #56704B24,0 16px 48px -36px #173D2538; }
.lp-comparison article > .lp-number { margin-bottom:12px; font-size:10px; letter-spacing:.15em; }
.lp-comparison article > h3 { font-size:25px; margin-bottom:22px; }
.lp-material-visual { position:relative; border-radius:16px; background:#F0F3EB; margin-bottom:8px; padding:0 0 28px; }
.lp-material-visual svg { width:100%; height:150px; display:block; filter:drop-shadow(0 12px 9px #21482C14); }
.lp-material-visual > span { position:absolute; bottom:15px; left:20px; font-size:9px; font-weight:700; letter-spacing:.15em; color:#5B715D; }
.lp-material-1 { background:#D7E2CE; }
.lp-material-2 { background:#F4EADB; }
.lp-comparison dl { margin:12px 0 20px; }
.lp-comparison dt { margin:0; padding-top:17px; border-top:1px solid #21482C12; font-size:10px; letter-spacing:.12em; }
.lp-comparison dd { min-height:80px; padding:8px 0 16px; font-size:14px; line-height:1.65; }
.lp-comparison a { margin-top:auto; text-decoration:none; border-radius:30px; background:#21482C; color:#fff; padding:13px 20px; text-align:center; font-size:13px; transition:transform .3s cubic-bezier(.32,.72,0,1); }
.lp-comparison a:hover { transform:translateY(-2px); }
.lp-comparison-note { margin-top:auto; padding:12px 0 0; font-size:12px !important; color:#617162; }
.lp-material-controls { display:none; }
@media(max-width:767px) {
 .lp-material-controls { display:grid; grid-template-columns:repeat(3,1fr); padding:5px; gap:4px; background:#E6EBDD; border-radius:30px; margin-bottom:20px; }
 .lp-material-controls button { min-height:44px; border:0; border-radius:25px; background:transparent; font:600 12px var(--font-body); color:#35513C; cursor:pointer; }
 .lp-material-controls button[aria-pressed="true"] { background:#21482C; color:#fff; }
 .lp-comparison { grid-template-columns:1fr; }
 .lp-comparison article { padding:24px; }
 .lp-comparison.is-interactive article:not(.is-selected) { display:none; }
 .lp-comparison dd { min-height:0; padding-bottom:20px; }
 .lp-material-visual svg { height:160px; }
}

/* Hidden tab panels must not leave sibling spacing on the selected preview. */
.lp-scene-stage [role="tabpanel"][hidden] { display:none; }
.lp-scene-stage [role="tabpanel"] + [role="tabpanel"] { margin-top:0; }
