
/* Tipografías de marca servidas desde MANI: sin conexiones a Google Fonts. */
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('assets/fonts/dm-sans-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('assets/fonts/dm-sans-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 700;font-display:swap;src:url('assets/fonts/playfair-display-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 700;font-display:swap;src:url('assets/fonts/playfair-display-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{--black:#101112;--warm:#f3f0e9;--gold:#b89a61;--grey:#747474;--line:#d9d5cd}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--warm);color:var(--black);font-family:'DM Sans',sans-serif}
a{color:inherit;text-decoration:none}.nav{height:76px;position:fixed;z-index:50;top:0;left:0;right:0;display:flex;align-items:center;padding:0 4vw;color:#fff;border-bottom:1px solid #ffffff2b;transition:.35s;background:linear-gradient(#0008,transparent)}
.nav.solid{background:#101112f2}.brand{display:flex;align-items:center;gap:12px;font-weight:600;letter-spacing:.18em}.mark{display:grid;place-items:center;width:31px;height:31px;border:1px solid var(--gold);color:var(--gold);font-family:'Manrope';font-size:14px}
nav{display:flex;gap:26px;margin-left:6vw;font-size:12px}nav a{opacity:.82}.nav-right{margin-left:auto;display:flex;align-items:center;gap:22px}.langs{font-size:9px;opacity:.7}.pill{border:1px solid #ffffff66;padding:11px 16px;font-size:10px;text-transform:uppercase;letter-spacing:.12em}
.hero{height:100vh;min-height:720px;position:relative;background:#151515;color:white;overflow:hidden}.hero-photo{position:absolute;inset:0;background:radial-gradient(circle at 70% 40%,#5b554c 0,#292827 32%,#101112 70%)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#000c 0,#0005 45%,transparent 80%)}
.ghost-stair{position:absolute;right:9%;bottom:12%;width:52%;height:66%;transform:skewY(-12deg)}.ghost-stair i{display:block;height:8%;width:72%;margin:4.5% 0 0 auto;border-top:12px solid #c3a36b;border-right:18px solid #252525;opacity:.7;box-shadow:0 -8px 28px #c5a26722}
.hero-copy{position:absolute;left:8vw;bottom:19vh;max-width:760px}.eyebrow,.kicker{font-size:10px;letter-spacing:.23em;font-weight:600}.eyebrow{color:#d7c39e}.hero h1,.manifest h2,.section-head h2,.project h2,.light h2,.config h2,.pro h2,.final-cta h2{font-family:'Playfair Display',serif;font-weight:500;line-height:.98;margin:18px 0}.hero h1{font-size:clamp(54px,7.2vw,110px)}em{font-weight:500;color:var(--gold)}.lead{font-size:17px;line-height:1.7;max-width:520px;color:#ddd}.actions{display:flex;gap:12px;margin-top:30px}.btn{display:inline-block;padding:15px 21px;font-size:10px;text-transform:uppercase;letter-spacing:.16em}.gold{background:var(--gold);color:#111}.line{border:1px solid #ffffff66;color:white}.scroll{position:absolute;bottom:28px;left:8vw;font-size:9px;letter-spacing:.18em;color:#aaa}.scroll span{color:var(--gold);margin-left:8px}
.manifest{padding:140px 18vw 150px}.manifest h2{font-size:clamp(42px,5.2vw,78px);max-width:980px}.manifest>p:last-child{max-width:620px;margin-left:auto;font-size:16px;line-height:1.8;color:#555}
.collections{background:#111;color:white;padding:120px 6vw}.section-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:60px}.section-head p{font-size:10px;letter-spacing:.2em;color:var(--gold)}.section-head h2{font-size:clamp(44px,5vw,72px);margin:0;max-width:720px}.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#333}.card{background:#151515;padding:0 28px 32px;min-height:480px;position:relative;overflow:hidden}.fake-img{height:300px;margin:0 -28px 28px;background:linear-gradient(135deg,#222,#555);transition:.6s}.c2 .fake-img{background:linear-gradient(155deg,#181818,#72624c)}.c3 .fake-img{background:linear-gradient(135deg,#4c4a46,#151515)}.c4 .fake-img{background:linear-gradient(155deg,#777066,#1b1b1b)}.c5 .fake-img{background:linear-gradient(145deg,#181818,#4a4032)}.c6 .fake-img{background:linear-gradient(155deg,#2b2925,#777)}.card:hover .fake-img{transform:scale(1.025)}.card>span{font-size:9px;color:var(--gold)}.card h3{font-size:23px;letter-spacing:.08em}.card p{color:#aaa;line-height:1.6;min-height:50px}.card a{font-size:11px;color:#d7c39e}
.project{display:grid;grid-template-columns:1.35fr .65fr;min-height:760px;background:#e8e4dc}.project-image{background:linear-gradient(145deg,#8c8a83,#313233);display:grid;place-items:center;color:#ffffff70;font-size:10px;letter-spacing:.18em}.project-copy{padding:110px 6vw;align-self:center}.project h2{font-size:56px}.project-copy>p:not(.kicker){line-height:1.8;color:#555}.text-link{display:inline-block;margin-top:24px;border-bottom:1px solid var(--gold);padding-bottom:5px;font-size:12px}
.materials{padding:130px 7vw}.swatches{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin:60px 0 100px}.swatches>div{font-size:11px;letter-spacing:.12em}.sw{height:190px;display:block;margin:14px 0}.s1{background:linear-gradient(135deg,#101010 50%,#a9855e 50%)}.s2{background:linear-gradient(135deg,#373737 50%,#bd9468 50%)}.s3{background:linear-gradient(135deg,#c4b9a8 50%,#d4b48e 50%)}.s4{background:linear-gradient(135deg,#574638 50%,#8b6848 50%)}.s5{background:linear-gradient(135deg,#d7d2c9,#4c4c4c)}.swatches small{color:#777;letter-spacing:0}.finish{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding-top:60px}.finish h3{font-family:'Playfair Display';font-size:34px}.finish p:last-child{color:#666;line-height:1.7}
.light{background:#080909;color:white;min-height:760px;display:grid;grid-template-columns:1fr 1fr}.light-visual{display:grid;place-items:center;background:radial-gradient(circle,#1f1b15,#090909 65%)}.steps{width:65%;transform:skewY(-11deg)}.steps i{display:block;height:34px;margin:22px 0;border-top:3px solid #d9b877;box-shadow:0 -8px 24px #d9b87777}.light-copy{align-self:center;padding:8vw}.light h2{font-size:60px}.light-copy>p:not(.kicker){color:#aaa;line-height:1.8}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}.chips span,.formats span{border:1px solid #ffffff35;padding:10px 12px;font-size:9px;letter-spacing:.13em}
.process{padding:130px 7vw}.process>h2{font-family:'Playfair Display';font-size:60px}.process-row{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #bbb;margin-top:60px}.process-row>div{padding:28px 24px 20px 0;border-right:1px solid #ccc;min-height:180px}.process-row b{color:var(--gold);font-size:11px}.process-row h3{font-size:18px}.process-row p{font-size:13px;color:#777;line-height:1.6}
.delivery-times{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:44px;background:#b6aa94;border:1px solid #b6aa94}.delivery-times>div{background:#f3f0e9;padding:28px}.delivery-times .kicker{margin:0 0 12px}.delivery-times h3{font-family:Georgia,'Times New Roman',serif;font-size:1.45rem;margin:0 0 12px}.delivery-times p:last-child{color:#5b564d;line-height:1.6;margin-bottom:0}
.config{background:#d8d0c2;padding:120px 8vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}.config h2{font-size:70px}.config>div>p:last-child{color:#5c574f;line-height:1.8}.config form{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-self:center}.config label{font-size:9px;letter-spacing:.14em}.config select{width:100%;margin-top:8px;padding:15px;background:transparent;border:0;border-bottom:1px solid #777;font:inherit}.config button{border:0;margin-top:12px}.result{display:none;grid-column:1/-1;background:#111;color:#ddd;padding:20px;font-size:12px;line-height:1.6}.result.show{display:block}
.pro{padding:130px 9vw;background:#171819;color:white}.pro h2{font-family:'Playfair Display';font-size:72px}.pro>p:not(.kicker){max-width:580px;color:#aaa;line-height:1.8}.formats{display:flex;gap:8px;margin:35px 0}.darkline{border-color:#ffffff55}
.final-cta{text-align:center;padding:150px 20px;background:#f1eee7}.final-cta>p{font-size:11px;letter-spacing:.18em}.final-cta h2{font-size:78px}.final-cta .btn{margin-top:20px}
footer{background:#101112;color:#eee;padding:55px 6vw;display:flex;align-items:center;gap:50px}footer p{font-size:11px}.muted{margin-left:auto;color:#777}
@media(max-width:900px){nav,.langs{display:none}.nav{padding:0 20px}.hero-copy{left:24px;right:24px}.hero h1{font-size:58px}.manifest{padding:100px 24px}.collection-grid{grid-template-columns:1fr}.project,.light,.config{grid-template-columns:1fr}.project-image{min-height:500px}.swatches{grid-template-columns:1fr 1fr}.finish{grid-template-columns:1fr}.process-row{grid-template-columns:1fr}.process-row>div{border-right:0;border-bottom:1px solid #ccc}.config{padding:90px 24px}.config form{grid-template-columns:1fr}.pro h2,.final-cta h2{font-size:52px}.light-copy{padding:90px 24px}.light-visual{min-height:500px}footer{flex-direction:column;align-items:flex-start}.muted{margin-left:0}}

/* V3: navegación y configuración */
:root{font-size:16px}body{line-height:1.5}html{scroll-padding-top:100px}button,input,select,textarea{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b89a61;outline-offset:4px}
.brand img{display:block;object-fit:contain}.nav .brand{flex-shrink:0}.nav{gap:20px;padding:0 3vw}.nav nav{margin-left:1vw;gap:18px;font-size:.875rem}.nav-right{gap:10px}.pill,.btn{font-size:.875rem;letter-spacing:.05em}.pill{white-space:nowrap}.menu-toggle{display:none}.eyebrow,.kicker,.section-head p{font-size:.875rem;letter-spacing:.13em}.scroll{font-size:.75rem}.hero{min-height:760px}.hero-brand{position:absolute;right:7vw;top:25%;width:32vw;opacity:.9}.hero-copy{max-width:780px;z-index:1}.hero h1{font-size:clamp(3.2rem,6.8vw,6.5rem)}.hero-shade{background:linear-gradient(90deg,#101112 5%,#101112c0 50%,transparent)}
.card{min-height:280px;padding:38px 28px}.card>span{font-size:.875rem}.card a{font-size:1rem}.card p{font-size:1rem}.project{display:block;min-height:0}.project-copy{padding:85px 9vw;max-width:1080px}.text-link{font-size:1rem}.light{display:block;min-height:0}.light-copy{padding:90px 9vw;max-width:1080px}.chips span,.formats span{font-size:.875rem}.swatches>div,.swatches small{font-size:.875rem}.process-row b{font-size:.875rem}.process-row p{font-size:1rem}.final-cta>p,footer p{font-size:.875rem}
.config{grid-template-columns:.7fr 1.3fr;gap:5vw;padding:90px 5vw}.config form{min-width:0;align-self:start;gap:24px}.config fieldset{min-width:0;margin:0;padding:22px;border:1px solid #aaa08f;display:flex;flex-direction:column;gap:8px}.config legend{font-size:1rem;font-weight:600;padding:0 8px}.config label{font-size:.875rem;letter-spacing:0;text-transform:none;margin-top:12px}.config select,.config input,.config textarea{width:100%;padding:12px;background:#f3f0e9;color:#101112;border:1px solid #a79c89;border-radius:0;min-height:48px;font-size:1rem;margin:0;letter-spacing:0}.config textarea{resize:vertical}.full{grid-column:1/-1}.form-note{font-size:.875rem;line-height:1.6;margin:0;color:#514d45}.result[hidden]{display:none!important}.result{font-size:1rem;padding:26px;scroll-margin-top:100px}.result h3{font-family:'Playfair Display',serif;font-size:1.75rem;color:#fff;margin-top:0}.result dl{display:grid;grid-template-columns:1fr 1.2fr;gap:12px 20px}.result dt{color:#bdb7ac}.result dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap;color:#fff}.summary-actions{display:flex;flex-wrap:wrap;gap:10px}.summary-actions button{margin:0}.summary-actions .line{background:transparent}.result p{line-height:1.6}.config button{min-height:48px}.card h3{margin:18px 0}
@media(max-width:1150px){.nav nav{gap:12px}.nav .pill{font-size:.75rem}.nav .brand img{width:140px}.hero-brand{top:18%;right:6vw;width:36vw}.hero-copy{bottom:15vh}}
@media(max-width:1000px){.menu-toggle{display:block;margin-left:auto;background:transparent;color:#fff;border:1px solid #ffffff66;padding:9px 12px;min-height:44px;font-size:.875rem}.nav nav{display:none;margin:0;position:absolute;left:0;right:0;top:76px;padding:22px;background:#101112;flex-direction:column;gap:0;font-size:1rem}.nav nav.open{display:flex}.nav nav a{padding:12px}.nav-right{margin:0}.hero-brand{top:120px;width:220px;right:24px;opacity:.55}.config{grid-template-columns:1fr;gap:34px;padding:80px 24px}.config form{grid-template-columns:1fr 1fr}.section-head{gap:30px;flex-direction:column}.project h2,.light h2,.process>h2{font-size:clamp(2.5rem,7vw,3.75rem)}}
@media(max-width:600px){.nav{padding:0 14px;gap:10px}.nav .brand img{width:106px;height:46px}.nav .pill{padding:10px;font-size:.75rem;white-space:normal;max-width:105px;display:block;text-align:center}.menu-toggle{padding:9px}.hero{height:90svh;min-height:720px}.hero h1{font-size:clamp(2.8rem,11vw,4rem)}.hero-copy{bottom:100px}.hero-brand{width:180px;top:105px}.hero .eyebrow{max-width:270px}.actions{flex-direction:column;align-items:flex-start}.manifest{padding:80px 24px}.collections,.materials{padding:80px 24px}.swatches{gap:20px 12px;margin:40px 0}.sw{height:130px}.finish h3{font-size:1.75rem}.config form{grid-template-columns:1fr}.config fieldset{padding:16px}.result{padding:20px}.result dl{grid-template-columns:1fr;gap:5px}.result dd{margin-bottom:12px}.project-copy,.light-copy,.pro,.process{padding:75px 24px}.final-cta{padding:90px 24px}.config h2{font-size:3.5rem}.process-row{margin-top:30px}.hero .lead{font-size:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

[hidden]{display:none!important}.field-help{font-size:.875rem;line-height:1.6;color:#514d45}.calculator-details{border:1px solid #aaa08f;padding:20px}.calculator-details summary,.result summary{cursor:pointer;font-size:1rem;font-weight:600;padding:12px 0}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.check-label{display:flex;gap:12px;align-items:center}.config .check-label input{width:20px;height:20px;min-height:20px}.config input:disabled,.config select:disabled{opacity:.5}.price-label{margin:0;color:#d6c7a7;font-size:.875rem}.price-total{font-size:clamp(2rem,5vw,3.3rem);font-weight:600;margin:6px 0 24px;line-height:1.2;color:#fff;overflow-wrap:anywhere}.price-table-wrap{overflow-x:auto}.price-table{width:100%;border-collapse:collapse;font-size:.875rem}.price-table caption{text-align:left;color:#d6c7a7;margin-bottom:12px}.price-table th,.price-table td{padding:12px 8px;border-bottom:1px solid #ffffff26;text-align:right;vertical-align:top}.price-table th:first-child,.price-table td:first-child{text-align:left;min-width:170px}.price-table th{color:#d6c7a7;font-weight:500}.price-totals{border-top:1px solid #b89a61;padding-top:16px}.price-totals dd{text-align:right}.pending-prices{background:#30291d;border-left:3px solid #b89a61;padding:18px;margin:20px 0}.pending-prices h4{margin:0 0 10px;color:#f5deab}.pending-prices ul,#price-notes{padding-left:20px;line-height:1.65}.pending-prices li{margin-bottom:8px}.result details{margin:20px 0}.result .summary-actions{margin-top:24px}#calc-error:not(:empty){color:#7b1717;background:#fff0e9;padding:16px}#rail-fields,#glass-fields{display:grid;gap:8px}.config .result{grid-column:1/-1}
@media(max-width:650px){.details-grid{grid-template-columns:1fr}.calculator-details{padding:12px}.price-table{font-size:.875rem}.result .price-totals{grid-template-columns:1fr 1fr}.price-totals dd{margin-bottom:0}.price-table th,.price-table td{padding:10px 5px}}

/* Fotografías de proyectos MANI Z y MANI FRAME */
.card.has-photo{padding-top:0}.collection-photo{display:block;width:calc(100% + 56px);max-width:none;height:390px;object-fit:cover;object-position:center;margin:0 -28px 28px}.real-projects{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:0 6vw 90px;align-items:start}.real-project{min-width:0;background:#f3f0e9}.real-project>img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}.real-project-caption{padding:28px}.real-project h3{font-family:'Playfair Display',serif;font-size:1.8rem;line-height:1.2;margin:12px 0}.real-project-caption>p:not(.kicker){color:#555}.real-project details{margin-top:24px}.real-project summary{cursor:pointer;padding:14px 0;border-block:1px solid #d9d5cd;font-size:1rem}.real-project details img{display:block;width:100%;height:auto;margin-top:16px}.real-project summary:focus-visible{outline:3px solid #b89a61;outline-offset:4px}
@media(max-width:900px){.collection-photo{height:auto;max-height:600px;object-position:center}.real-projects{grid-template-columns:1fr;padding:0 24px 70px;gap:28px}.real-project-caption{padding:24px}}

/* Proyecto real en la portada */
.hero-photo{left:40%;background:#101112}.hero-staircase{display:block;width:100%;height:100%;object-fit:cover;object-position:center 54%}.hero-shade{background:linear-gradient(90deg,#101112 8%,#101112f5 30%,#10111277 55%,transparent 78%)}
@media(max-width:1000px){.hero-photo{left:24%}.hero-shade{background:linear-gradient(90deg,#101112e8,#10111266 60%,transparent)}}
@media(max-width:600px){.hero{height:auto;min-height:0;padding-top:76px;padding-bottom:30px}.hero-photo{position:relative;inset:auto;height:58svh;min-height:360px;max-height:600px}.hero-staircase{object-position:center 60%}.hero-shade{display:none}.hero-copy{position:relative;inset:auto;padding:30px 24px 45px;max-width:none}.hero h1{font-size:clamp(2.6rem,11vw,4rem)}.hero .scroll{position:relative;inset:auto;margin-left:24px}.hero .eyebrow{max-width:none}}

.archive-photo{overflow:hidden}.collection-note{font-size:.875rem;color:#aaa;line-height:1.6;margin:24px 0 0}.bespoke-access{max-width:880px;color:#d7d0c4}.bespoke-access strong{color:#fff;letter-spacing:.08em}.bespoke-access a{color:#d7c39e;border-bottom:1px solid #b89a61;padding-bottom:2px}.light.has-visual{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}.light-reference{margin:0;padding:50px 0 50px 6vw}.light-photo{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}.light-reference figcaption{font-size:.875rem;color:#aaa;margin-top:12px}.light.has-visual .light-copy{padding:70px 6vw}.archive-photo.collection-photo{height:390px}
@media(max-width:900px){.archive-photo.collection-photo{height:auto;aspect-ratio:1.25}.light.has-visual{grid-template-columns:1fr}.light-reference{padding:60px 24px 0}.light.has-visual .light-copy{padding:45px 24px 70px}}

/* Complete estimator: readable full-width sections and dependent fields. */
.config{grid-template-columns:1fr;gap:36px}.config>div:first-child{max-width:650px}.config form{width:100%}.config fieldset{align-self:start}.config #wood-fields,.config #handrail-fields,.config #rail-process-fields,.config #rail-install-fields,.config #glass-supply-fields{display:grid;gap:8px}.config .field-help{margin:8px 0;line-height:1.6}

.config :disabled{cursor:default}.custom-color-picker{display:grid;grid-template-columns:minmax(84px,120px) 1fr;gap:14px;align-items:center}.config .custom-color-picker input,#color-dialog .custom-color-picker input{width:100%;height:52px;padding:3px;border:1px solid #a79c89;background:#f3f0e9}.custom-color-picker output{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1rem;letter-spacing:.04em}.custom-dialog-color{margin:18px 0 8px}.custom-dialog-color label{display:block;margin-bottom:8px}
.tread-project-gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 8px}.tread-project-gallery figure{margin:0;background:#171819;color:#f3f0e9}.tread-project-gallery img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}.tread-project-gallery figcaption{padding:12px;font-size:.875rem;line-height:1.5}

.tread-thickness-copy{margin-top:52px;max-width:850px}.tread-thickness-copy h3{font-size:clamp(28px,4vw,46px);margin:14px 0 24px}.tread-thickness-copy p:not(.kicker){line-height:1.8;max-width:720px}.tread-thickness-copy .chips{flex-wrap:wrap}.tread-thickness-copy a{display:inline-block;margin-top:16px;text-underline-offset:5px}

/* Small-screen navigation stays reachable; long labels keep their controls. */
.config form{grid-template-columns:repeat(2,minmax(0,1fr))}
.config form>*{min-width:0}
.config legend{max-width:100%;white-space:normal}
.config select{min-width:0;text-overflow:ellipsis}
.config form>button{white-space:normal;overflow-wrap:anywhere;max-width:100%}
.config .check-label input{flex:0 0 20px}
.config summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.config .summary-actions .btn{white-space:normal;overflow-wrap:anywhere;max-width:100%}
@media(max-width:1000px){.nav nav{max-height:calc(100dvh - 76px);overflow-y:auto;overscroll-behavior:contain}}
@media(max-width:380px){.nav{padding-inline:10px;gap:6px}.nav .brand img{width:94px}.nav .pill{max-width:98px;padding-inline:7px}.menu-toggle{padding-inline:7px}}
@media(max-width:600px){.config form{grid-template-columns:minmax(0,1fr)}.pro h2{font-size:clamp(2rem,9vw,3.25rem)}.tread-project-gallery{grid-template-columns:1fr}}

.service-price{font-size:1.2rem;font-weight:600;line-height:1.5;margin:8px 0}.color-launch{background:#171819;color:#fff;white-space:normal;text-align:left;line-height:1.5}
.color-modal-open{overflow:hidden}#color-dialog{border:0;padding:28px;background:#f3f0e9;color:#101112;width:min(1080px,94vw);max-height:92dvh;overflow:auto}#color-dialog::backdrop{background:#000b}.color-dialog-head{display:flex;justify-content:space-between;align-items:start;gap:24px}.color-dialog-head h2{font-family:'Playfair Display',serif;font-size:2rem;line-height:1.2;margin:8px 0 20px}.color-dialog-head .kicker{margin:0;color:#746039}#close-colors{background:transparent;border:1px solid #aaa;min-width:44px;min-height:44px;font-size:1.25rem}.color-dialog-body{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px}.color-dialog-body figure{margin:0;min-width:0}.color-dialog-body canvas{display:block;width:100%;height:auto;max-height:65dvh;object-fit:contain;background:#ded8cc}.color-dialog-body figcaption{font-size:.875rem;line-height:1.6;color:#555;margin-top:12px}.color-controls{min-width:0}.color-controls>p{margin-top:0;line-height:1.7}.color-swatches{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0}.color-swatches button{display:flex;align-items:center;gap:10px;min-height:50px;text-align:left;border:1px solid #aaa08f;background:transparent;padding:10px;font:inherit}.color-swatches button[aria-pressed=true]{border:2px solid #7c6031;background:#e6decd}.color-swatches span{display:block;flex:0 0 24px;width:24px;height:24px;border-radius:50%;border:1px solid #0004}#custom-color{display:block;width:100%;height:44px;padding:2px;margin:8px 0 18px;border:1px solid #aaa}#show-original{background:#171819;color:white;border:0;margin:0 0 24px}#color-selection{font-weight:600}#color-error{color:#8b2323}@media(max-width:700px){#color-dialog{padding:18px}.color-dialog-body{grid-template-columns:minmax(0,1fr);gap:18px}.color-dialog-head h2{font-size:1.5rem}.color-dialog-body canvas{max-height:48dvh}.color-controls>p{font-size:.875rem}.color-swatches{grid-template-columns:repeat(2,minmax(0,1fr));margin:12px 0}}

@media(max-width:700px){#color-dialog[open]{display:flex;flex-direction:column;height:92dvh}.color-dialog-head{flex-shrink:0}.color-dialog-body{flex:1;min-height:0;grid-template-rows:auto minmax(0,1fr);gap:12px}.color-dialog-body canvas{max-height:30dvh}.color-dialog-body figcaption{font-size:.75rem;line-height:1.4;margin-top:8px}.color-controls{overflow-y:auto;overscroll-behavior:contain;padding-right:4px;border-top:1px solid #ccc2b1}.color-controls>p:first-child{display:none}.color-swatches button{min-height:46px;padding:8px;font-size:.875rem}}

#preview-finish{display:block;width:100%;min-height:48px;margin:8px 0 18px;padding:10px;background:#f3f0e9;border:1px solid #aaa08f;color:#101112;font:inherit}

/* Shared photographic configurators: structure, timber and MANI LIGHT. */
.visual-dialog{border:0;padding:28px;background:#f3f0e9;color:#101112;width:min(1080px,94vw);max-height:92dvh;overflow:auto}.visual-dialog::backdrop{background:#000b}.dialog-close{background:transparent;border:1px solid #aaa;min-width:44px;min-height:44px;font-size:1.25rem}.visual-dialog select{display:block;width:100%;min-height:48px;margin:8px 0 18px;padding:10px;background:#f3f0e9;border:1px solid #aaa08f;color:#101112;font:inherit}#show-original-wood{background:#171819;color:#fff;border:0;margin:0 0 24px}#wood-selection,#light-selection{font-weight:600}.preview-explanations{border-top:1px solid #ccc2b1;margin-top:18px;padding-top:10px}.preview-explanations p{font-size:.875rem;line-height:1.5;margin:8px 0}.light-details{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin-top:28px}.light-details p{font-size:.875rem;line-height:1.5;margin:0;color:#bbb}.light-products{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:30px;background:#ffffff26;border:1px solid #ffffff26}.light-products article{background:#0d0e0e;padding:20px}.light-products h3{font-family:'Playfair Display',serif;font-size:1.35rem;font-weight:500;margin:5px 0 10px}.light-products article>p:last-child{font-size:.875rem;line-height:1.6;color:#bbb;margin:0}.light-product-number{color:#d7c39e;font-size:.75rem;letter-spacing:.12em;margin:0}.light-link{color:#d7c39e;margin-top:26px}
.wood-dialog-layout .wood-visuals{grid-column:1;grid-row:1/span 2}.wood-controls-primary{grid-column:2;grid-row:1}.wood-controls-secondary{grid-column:2;grid-row:2;align-self:start}.wood-visuals{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.72fr);gap:16px;align-items:start}.wood-visuals figure{margin:0}.wood-visuals>figure:first-child{grid-row:span 2}.wood-sample{background:#e5ded2;padding:10px}.wood-sample canvas{aspect-ratio:490/384;max-height:none!important;object-fit:cover}.wood-sample figcaption span{display:block;color:#31302d;font-weight:600;margin-bottom:4px}
@media(max-width:700px){.visual-dialog[open]{display:flex;flex-direction:column;height:92dvh;padding:18px}.visual-dialog .color-dialog-body{flex:1;min-height:0;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:12px}.wood-visuals{grid-template-columns:minmax(0,1fr) minmax(120px,.72fr);gap:8px}.visual-dialog .wood-visuals>figure:first-child canvas{max-height:30dvh}.visual-dialog .wood-sample canvas{max-height:none}.visual-dialog .color-dialog-body figcaption{font-size:.75rem;line-height:1.4;margin-top:8px}.visual-dialog .color-controls{overflow-y:auto;overscroll-behavior:contain;padding-right:4px;border-top:1px solid #ccc2b1}.light-details,.light-products{grid-template-columns:1fr}}

/* Separate configurator: large product view, model picker and project cart. */
.configurator-body{background:#d8d0c2}.configurator-main{padding-top:76px}.config-nav{justify-content:space-between}.config-nav .pill{margin-left:auto}.configurator-main .config{padding-top:64px}
.product-selector{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.65fr);gap:24px;align-items:start}
.product-stage{position:relative;grid-row:span 2;min-height:680px;overflow:hidden;background:#111;color:#fff}.product-stage>img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .2s}.product-stage::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#080909df 0,transparent 48%)}.product-stage-copy{position:absolute;z-index:1;left:32px;right:32px;bottom:30px}.product-stage-copy h1{font-family:'Playfair Display',serif;font-size:clamp(2.3rem,5vw,4.8rem);font-weight:500;line-height:1;margin:10px 0}.product-stage-copy p:last-child{font-size:1rem;line-height:1.6;max-width:520px;color:#ddd}
.model-picker{background:#eee8dd;padding:24px;border:1px solid #aaa08f}.model-picker h3,.project-cart h3{font-family:'Playfair Display',serif;font-size:1.65rem;font-weight:500;margin:0 0 18px}.model-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.model-choice{min-height:48px;border:1px solid #928875;background:transparent;color:#101112;padding:10px;text-align:left}.model-choice[aria-pressed=true]{background:#101112;color:#fff;border-color:#101112;box-shadow:inset 3px 0 #b89a61}
.bespoke-picker{font-size:.875rem;line-height:1.5;margin:18px 0 0;color:#514d45}.bespoke-picker button{border:0;border-bottom:1px solid #8f7444;background:transparent;color:#101112;padding:0 0 2px;font-weight:600}.bespoke-picker button[aria-pressed=true]{color:#7c6031;border-bottom-width:2px}
.project-cart{background:#111315;color:#f3f0e9;padding:24px;border-top:3px solid #b89a61}.cart-heading{display:flex;justify-content:space-between;gap:20px;align-items:start}.cart-heading .kicker{color:#c9b17f;margin:0 0 8px}.cart-heading h3{margin:0}.cart-heading span{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:#b89a61;color:#101112;font-weight:600}.project-cart>#cart-summary{display:grid;grid-template-columns:.7fr 1.3fr;gap:10px 16px;border-top:1px solid #ffffff32;padding-top:18px;margin-top:22px}.project-cart>#cart-summary dt{color:#aaa}.project-cart>#cart-summary dd{margin:0;text-align:right;overflow-wrap:anywhere}.cart-note{color:#ccc;line-height:1.6;margin:20px 0}.cart-submit{grid-column:1/-1;justify-self:start}.project-cart .cart-result{display:block;background:transparent;padding:26px 0 0;border-top:1px solid #ffffff32;margin-top:24px}.project-cart .cart-result h3{font-size:1.45rem}.project-cart .cart-actions{margin-top:14px}.project-cart .cart-actions .line{border:1px solid #b89a61}.cart-empty{color:#ccc}.project-cart #calc-error:not(:empty){margin-top:20px}.project-cart #copy-status{min-height:1.4em;color:#d6c7a7}
@media(max-width:950px){.product-selector{grid-template-columns:1fr}.product-stage{grid-row:auto;min-height:620px}.model-choice-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.configurator-main .config{padding-top:42px}.product-stage{min-height:520px}.product-stage-copy{left:20px;right:20px;bottom:18px}.model-choice-grid{grid-template-columns:1fr 1fr}.project-cart>#cart-summary{grid-template-columns:1fr;gap:4px}.project-cart>#cart-summary dd{text-align:left;margin-bottom:8px}.config-nav .pill{max-width:none;white-space:nowrap}}

/* V27: recursos propios, marca fotográfica y selectores de material visibles. */
body{font-family:Arial,Helvetica,sans-serif}.hero h1,.manifest h2,.section-head h2,.project h2,.light h2,.config h2,.pro h2,.final-cta h2,.finish h3,.process>h2,.real-project h3,.result h3,.color-dialog-head h2,.light-products h3,.product-stage-copy h1,.model-picker h3,.project-cart h3{font-family:Georgia,'Times New Roman',serif}
.branded-visual{position:relative}.branded-visual::before{content:"";position:absolute;z-index:5;top:16px;right:16px;width:clamp(92px,15%,142px);aspect-ratio:420/116;background:url('logo-watermark.svg') center/contain no-repeat;opacity:.62;filter:drop-shadow(0 1px 4px #000b);pointer-events:none}.hero.branded-visual::before{top:102px;right:5vw;width:clamp(120px,15vw,210px);opacity:.52}.product-stage.branded-visual::before{z-index:3}.branded-visual>img,.branded-visual>canvas{position:relative;z-index:0}.branded-visual figcaption{position:relative;z-index:1}
.ral-input{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;border:1px solid #a79c89;background:#f3f0e9}.ral-input span{padding:0 12px;font-weight:700;letter-spacing:.08em;color:#5a4d39}.config .ral-input input{border:0;border-left:1px solid #c8beae;background:transparent;min-width:0}.ral-input:focus-within{outline:3px solid #b89a61;outline-offset:3px}
.wood-inline-preview{margin:18px 0 8px;border:1px solid #a79c89;background:#eee8dd;padding:12px}.wood-inline-preview canvas{display:block;width:100%;height:auto;aspect-ratio:490/384;object-fit:cover;background:#d5cec2}.wood-inline-preview figcaption{display:grid;gap:6px;padding-top:10px;font-size:.875rem;line-height:1.5}.wood-inline-preview strong{font-weight:600}.material-note{color:#625c52}
.site-footer{justify-content:space-between;flex-wrap:wrap}.site-footer .muted{margin-left:0}.legal-links{display:flex;flex-wrap:wrap;gap:12px 22px;margin:0}.legal-links a{text-decoration:underline;text-underline-offset:4px}.compact-footer{margin-top:0}.compact-footer .brand{margin-right:auto}
.legal-page{background:#f3f0e9}.legal-main{max-width:920px;margin:0 auto;padding:130px 24px 100px}.legal-main h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.6rem,7vw,5rem);line-height:1.03;margin:16px 0 36px}.legal-main h2{font-family:Georgia,'Times New Roman',serif;font-size:1.55rem;margin:42px 0 12px}.legal-main p,.legal-main li{line-height:1.75}.legal-main a{text-decoration:underline;text-underline-offset:4px}.legal-draft{border-left:4px solid #9d6d23;background:#fff3d8;padding:18px 20px;margin:26px 0 36px}.legal-data{display:grid;grid-template-columns:minmax(150px,.7fr) 1.3fr;gap:10px 20px;background:#e8e1d4;padding:20px}.legal-data dt{font-weight:700}.legal-data dd{margin:0}.legal-back{display:inline-block;margin-top:26px;border-bottom:1px solid #9d6d23;padding-bottom:3px}
@media(max-width:700px){.branded-visual::before{top:10px;right:10px;width:96px}.hero.branded-visual::before{top:92px;right:18px;width:120px}.site-footer{gap:26px}.legal-links{flex-direction:column;gap:12px}.legal-data{grid-template-columns:1fr;gap:4px}.legal-data dd{margin-bottom:10px}.wood-inline-preview{padding:8px}}

/* V28: selector fotográfico de madera y geometría propia de HELIX. */
.dependent-field{display:grid;gap:8px}.wood-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.wood-choice-grid button{display:grid;grid-template-rows:auto 1fr;padding:0;overflow:hidden;border:1px solid #a79c89;background:#eee8dd;color:#101112;text-align:left;min-height:0}.wood-choice-grid button[aria-pressed=true]{outline:3px solid #9d7840;outline-offset:2px;background:#fff}.wood-choice-grid img{display:block;width:100%;height:auto;aspect-ratio:490/384;object-fit:cover}.wood-choice-grid span{display:grid;gap:2px;padding:10px}.wood-choice-grid strong{font-size:1rem}.wood-choice-grid small{font-size:.78rem;color:#625c52;line-height:1.35;min-height:2.1em}.wood-choice-grid button[aria-pressed=true] small{color:#70501e;font-weight:700}.wood-inline-preview canvas{max-height:560px}.wood-visuals{display:flex;flex-direction:column}.wood-visuals .wood-sample{order:-1}.wood-sample canvas{width:100%}.material-price-help{margin:4px 0 12px;color:#6f5b39;font-size:.82rem;line-height:1.45}
@media(max-width:700px){#wood-dialog .color-dialog-body{display:flex;flex-direction:column;overflow-y:auto;gap:16px}#wood-dialog .wood-controls-primary{order:0;flex:0 0 auto;padding-bottom:14px;border-bottom:1px solid #ccc2b1}#wood-dialog .wood-visuals{order:1;flex:0 0 auto}#wood-dialog .wood-controls-secondary{order:2;flex:0 0 auto;padding-top:4px}#wood-dialog .color-controls{overflow:visible;border-top:0;padding-right:0}}
@media(max-width:800px){.wood-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.included-services{margin:24px 0;padding:24px;border:1px solid #bda36a;background:#f6f3ec;color:#171717;font-size:1rem;line-height:1.6}.included-services p{margin:8px 0}.price-table td{overflow-wrap:anywhere}.price-table td:first-child{min-width:0}.price-table{width:100%;min-width:0}.price-table caption{display:block;width:100%;text-align:left}.site-footer a{overflow-wrap:anywhere}
.timeline-planner{padding:24px;border:1px solid #bda36a;background:#f6f3ec;display:grid;grid-template-columns:minmax(220px,.8fr) minmax(280px,1.2fr);gap:16px 28px;align-items:end}.timeline-planner .kicker{margin:0 0 8px}.timeline-planner h3{font-family:Georgia,'Times New Roman',serif;font-size:1.65rem;font-weight:500;margin:0}.timeline-planner>label{grid-column:2;margin:0}.timeline-planner>select{grid-column:2}.timeline-explanation{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid #c7b995;padding-top:18px}.timeline-explanation p{margin:0;line-height:1.6;color:#514d45}
.warranty-badge{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0;padding:15px 22px 15px 16px;background:#171819;color:#fff;border-left:5px solid #c5a66a}.warranty-badge-seal{width:74px;height:74px;flex:0 0 74px}.warranty-badge strong{font-family:Georgia,'Times New Roman',serif;font-size:1.35rem}.warranty-badge span{color:#ddd;text-align:right}.warranty-badge a{color:#e5c98f;text-decoration:underline;text-underline-offset:3px}.legal-warranty-seal{display:block;width:min(260px,58vw);height:auto;margin:0 auto 38px}
@media(max-width:650px){.price-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.price-table,.price-table tbody,.price-table tr,.price-table td{display:block;width:100%;box-sizing:border-box}.price-table tr{padding:12px 0;border-bottom:1px solid #ddd}.price-table td{padding:5px 0!important;border:0!important;text-align:left!important}.price-table td:not(:first-child)::before{content:attr(data-label) " · ";font-weight:600}.price-table td:first-child{font-weight:600}.price-table-wrap{overflow:visible}.included-services{padding:18px}}
@media(max-width:750px){.delivery-times,.timeline-explanation{grid-template-columns:1fr}.timeline-planner{grid-template-columns:1fr}.timeline-planner>label,.timeline-planner>select{grid-column:1}}
.service-area,.faq-home{padding:110px 9vw}.service-area{display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:#e8e4dc}.service-area h2,.faq-home h2{font-family:'Playfair Display',serif;font-size:clamp(2.7rem,5vw,4.5rem);line-height:1.05;margin:18px 0}.service-area p{font-size:1rem;line-height:1.8;color:#555}.faq-home{background:#f3f0e9}.faq-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#d1cbc0;margin:45px 0 20px}.faq-grid details{background:#f3f0e9;padding:24px}.faq-grid summary{font-weight:600;cursor:pointer;font-size:1rem}.faq-grid p{color:#555;line-height:1.7}.content-page{max-width:1040px}.content-page .intro{font-size:1.15rem;line-height:1.8;max-width:760px}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:42px 0}.content-card{border:1px solid #d9d5cd;padding:26px}.content-card h2{margin-top:0}.content-card p,.content-card li{line-height:1.7;color:#555}.content-page details{border-top:1px solid #d9d5cd;padding:20px 0}.content-page summary{font-weight:600;cursor:pointer;font-size:1.05rem}.content-page details p{color:#555;line-height:1.7}.contact-panel{margin:45px 0;padding:28px;background:#171819;color:#fff}.contact-panel p{color:#ccc}.contact-panel a{color:#d7c39e;text-decoration:underline}@media(max-width:700px){.service-area,.content-grid{grid-template-columns:1fr}.service-area,.faq-home{padding:75px 24px}.faq-grid{grid-template-columns:1fr}}
.warranty-highlight{display:grid;grid-template-columns:minmax(220px,.45fr) 1fr;align-items:center;gap:7vw;padding:90px 9vw;background:#171819;color:#fff}.warranty-mark{text-align:center}.warranty-mark img{display:block;width:min(390px,100%);height:auto;margin:auto}.warranty-highlight h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2.7rem,5vw,4.8rem);line-height:1.05;margin:16px 0 24px}.warranty-highlight p:not(.kicker){max-width:690px;color:#d7d7d7;line-height:1.8}.warranty-highlight .text-link{color:#e5c98f}.warranty-highlight .kicker{color:#c5a66a}@media(max-width:700px){.warranty-highlight{grid-template-columns:1fr;padding:70px 24px;gap:28px}.warranty-mark img{width:min(290px,82vw)}.warranty-badge{display:grid;grid-template-columns:auto 1fr;align-items:center}.warranty-badge span{grid-column:1/-1;text-align:left}}
.mani-chat-launcher{position:fixed;right:22px;bottom:22px;z-index:1100;border:1px solid #c5a66a;border-radius:999px;background:#171819;color:#fff;padding:14px 22px;font:700 .82rem/1 Arial,sans-serif;letter-spacing:.08em;box-shadow:0 8px 30px rgba(0,0,0,.22);cursor:pointer}.mani-chat-launcher:hover,.mani-chat-launcher:focus-visible{background:#c5a66a;color:#171819}.mani-chat-consent{position:fixed;right:22px;bottom:80px;z-index:1101;width:min(390px,calc(100vw - 44px));box-sizing:border-box;padding:26px;background:#f3f0e9;color:#171819;border:1px solid #c5a66a;box-shadow:0 18px 60px rgba(0,0,0,.28)}.mani-chat-consent[hidden]{display:none}.mani-chat-consent h2{font-family:Georgia,'Times New Roman',serif;font-size:1.8rem;margin:8px 0 14px}.mani-chat-consent p{font-size:.92rem;line-height:1.6}.mani-chat-consent a{text-decoration:underline;text-underline-offset:3px}.mani-chat-consent-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0 12px}.mani-chat-consent-actions button{min-height:44px;border:1px solid #171819;background:#171819;color:#fff;font-weight:700;cursor:pointer}.mani-chat-consent-actions button+button{background:transparent;color:#171819}.mani-chat-privacy{margin-bottom:0;color:#625c52}@media(max-width:600px){.mani-chat-launcher{right:14px;bottom:14px}.mani-chat-consent{right:14px;bottom:70px;width:calc(100vw - 28px);padding:22px}.mani-chat-consent-actions{grid-template-columns:1fr}}
.mani-chat-welcome{position:fixed;right:22px;bottom:82px;z-index:1099;width:min(340px,calc(100vw - 44px));box-sizing:border-box;padding:22px 48px 20px 22px;background:#f3f0e9;color:#171819;border:1px solid #c5a66a;box-shadow:0 14px 45px rgba(0,0,0,.24);animation:mani-chat-welcome-in .35s ease-out}.mani-chat-welcome.is-closing{opacity:0;transform:translateY(8px);transition:opacity .3s ease,transform .3s ease}.mani-chat-welcome .kicker{margin:0 0 8px}.mani-chat-welcome strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:1.25rem;line-height:1.25}.mani-chat-welcome p:last-child{margin:9px 0 0;font-size:.92rem;line-height:1.5;color:#5f594e}.mani-chat-welcome button{position:absolute;top:8px;right:10px;width:34px;height:34px;border:0;background:transparent;color:#171819;font-size:1.45rem;cursor:pointer}.mani-chat-pointer{position:fixed;right:30px;bottom:76px;z-index:1098;display:flex;align-items:center;gap:8px;padding:8px 10px;background:#f3f0e9;color:#171819;border:1px solid #c5a66a;box-shadow:0 8px 24px rgba(0,0,0,.18);pointer-events:none;font-size:.78rem;font-weight:700}.mani-chat-pointer b{font-size:1.55rem;color:#9a7637;animation:mani-chat-pointer-pulse 1.4s ease-in-out infinite}@keyframes mani-chat-welcome-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes mani-chat-pointer-pulse{0%,100%{transform:translateY(0) scale(1);opacity:.75}50%{transform:translateY(5px) scale(1.12);opacity:1}}@media(max-width:600px){.mani-chat-welcome{right:14px;bottom:70px;width:calc(100vw - 28px);padding:20px 44px 18px 20px}.mani-chat-pointer{right:18px;bottom:68px}}@media(prefers-reduced-motion:reduce){.mani-chat-welcome,.mani-chat-pointer b{animation:none}.mani-chat-welcome.is-closing{transition:none}}
.measurement-fieldset{gap:18px!important}.measurement-common-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.config .measurement-control{display:grid;gap:8px;margin:0}.measurement-control span{line-height:1.45}.measurement-control b{display:inline-grid;place-items:center;min-width:29px;height:29px;padding:0 5px;background:#171819;color:#c5a66a;font-size:.92rem}.measurement-planner{margin-top:10px;border:1px solid #9e927f;background:#eee8dd}.measurement-planner-head{padding:24px 26px 18px}.measurement-planner-head h3{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.8rem,4vw,2.8rem);margin:8px 0 10px}.measurement-planner-head>p:last-child{max-width:760px;margin:0;color:#514d45;line-height:1.6}.measurement-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:22px;padding:0 22px 22px}.measurement-figure{margin:0;background:#171819}.measurement-figure img{display:block;width:100%;height:auto;aspect-ratio:900/560}.measurement-figure figcaption{padding:14px 16px;color:#e7e1d6;background:#242526;font-size:.88rem;line-height:1.5}.measurement-specific-fields{display:flex;flex-direction:column;gap:14px}.measurement-specific-fields>[data-measurement-modes]{display:grid;gap:14px}.measurement-specific-fields>[hidden]{display:none}.measurement-specific-fields .measurement-control{padding:14px;background:#e2dacd;border:1px solid #c3b8a5}.measurement-special-note{padding:20px;background:#e2dacd;line-height:1.7}.geometry-result{display:block;margin:0 22px 22px;padding:22px;background:#fff;color:#171819;border-left:5px solid #c5a66a}.geometry-result>strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:1.35rem;margin-bottom:14px}.geometry-result dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#d3ccbf;margin:0}.geometry-result dl>div{display:grid;grid-template-columns:1fr auto;gap:14px;padding:12px;background:#f3f0e9}.geometry-result dt{color:#625c52}.geometry-result dd{margin:0;font-weight:700}.geometry-result p{margin:14px 0 0;color:#514d45;line-height:1.6;font-size:.88rem}@media(max-width:950px){.measurement-common-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.measurement-layout{grid-template-columns:1fr}.measurement-specific-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.measurement-specific-fields>[data-measurement-modes="spiral"]{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.geometry-result dl{grid-template-columns:1fr 1fr}}@media(max-width:600px){.measurement-common-grid,.measurement-specific-fields,.measurement-specific-fields>[data-measurement-modes="spiral"],.geometry-result dl{grid-template-columns:1fr}.measurement-planner-head{padding:20px 16px 16px}.measurement-layout{padding:0 12px 12px;gap:12px}.geometry-result{margin:0 12px 12px;padding:18px}.geometry-result dl>div{grid-template-columns:1fr}.measurement-figure figcaption{font-size:.82rem}}
.measurement-figure figcaption{display:flex;justify-content:space-between;gap:16px}.measurement-figure figcaption a{color:#d7bb82;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.measurement-live-values{display:flex;flex-wrap:wrap;gap:1px;margin:0;padding:1px;background:#4a4843}.measurement-live-values>div{display:flex;gap:7px;padding:9px 12px;background:#171819}.measurement-live-values dt{color:#c5a66a;font-weight:700}.measurement-live-values dd{margin:0;color:#fff}@media(max-width:600px){.measurement-figure figcaption{display:grid}.measurement-live-values>div{flex:1 0 calc(50% - 1px)}}

/* Compact section access preserves the final shopping-list price. */
.config-nav{height:76px}.configurator-main{padding-top:56px}
.config-shortcuts{position:fixed;top:76px;left:0;right:0;z-index:49;margin:0;min-height:56px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 4vw;background:#f3f0e9;border-bottom:1px solid #b8ad9b;color:#101112;font-size:14px}
.config-shortcuts details{position:relative}.config-shortcuts summary,.config-budget-link{min-height:44px;padding:12px 10px;cursor:pointer}.config-shortcuts a{opacity:1}.config-budget-link{font-weight:700;white-space:nowrap}
.config-section-links{position:absolute;top:100%;left:0;display:grid;min-width:235px;max-height:60dvh;overflow:auto;padding:8px;background:#f3f0e9;border:1px solid #b8ad9b;box-shadow:0 10px 22px #0002}
.config-section-links a{display:block;padding:12px;min-height:44px}.config-section-links a:hover,.config-section-links a:focus-visible{background:#ddd3c1}
[id^="config-"]{scroll-margin-top:148px}.config-shortcuts :focus-visible{outline:2px solid #8b692f;outline-offset:2px}
@media(max-width:700px){.mani-chat-welcome,.mani-chat-pointer{display:none!important}.mani-chat-launcher{position:fixed;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));display:block;margin:0;min-height:44px;padding:12px 16px;font-size:12px;letter-spacing:.04em}.mani-chat-launcher[hidden]{display:none}.config-shortcuts{padding-inline:12px;gap:4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.responsible-details{margin:16px 0 28px;border:1px solid #d9d5cd;border-radius:3px;padding:12px 16px;font-size:.875rem}.responsible-details summary{cursor:pointer;color:#555;line-height:1.5}.responsible-details .legal-data{font-size:.875rem;line-height:1.6;margin:16px 0 0}.responsible-details summary:focus-visible{outline:2px solid #8b692f;outline-offset:4px}

/* Firma de marca MANI compartida con la ropa y las tarjetas. */
.brand-signature{font-size:clamp(.65rem,2.6vw,.82rem);font-weight:500;letter-spacing:.16em;line-height:1.8;color:var(--gold)}.hero-copy .brand-signature{margin:0 0 20px;color:#d4b47c}.site-footer .footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.footer-brand .brand-signature{margin:0;max-width:100%}@media(max-width:380px){.brand-signature{letter-spacing:.1em}}

.mobile-handoff{width:100%;border-top:1px solid var(--line);padding-top:24px}.desktop-qr{display:flex;align-items:center;gap:20px;font-size:.875rem;text-decoration:none}.desktop-qr img{display:block;width:120px;height:120px;background:white}.mobile-config-link{display:none}@media(max-width:700px){.desktop-qr{display:none}.mobile-config-link{display:inline-block;color:inherit;text-underline-offset:5px;padding:12px 0}}
.breadcrumbs{display:flex;gap:10px;align-items:center;margin:0 0 28px;color:#777;font-size:.9rem}.breadcrumbs a{color:#555}.content-hero{margin:38px 0 48px}.content-hero img{display:block;width:100%;height:auto;max-height:580px;object-fit:cover}.content-hero figcaption{margin-top:10px;color:#777;font-size:.85rem}
.breadcrumbs{flex-wrap:wrap}.landing-actions{display:flex;flex-wrap:wrap;gap:12px 24px;margin:24px 0}.landing-actions a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;color:inherit;text-underline-offset:5px}.contact-panel{scroll-margin-top:110px}.contact-panel .project-email{display:inline-block;min-height:44px;padding:10px 0;overflow-wrap:anywhere}.contact-panel .contact-note{font-size:.875rem;line-height:1.6}.contact-panel .contact-note a{overflow-wrap:anywhere}
.content-card h3{font-size:1.2rem;line-height:1.4;margin:0 0 16px}.content-card{min-width:0}.model-guide a{text-underline-offset:4px}.model-guide .content-card>a{display:inline-block;padding:10px 0;min-height:44px}.project-checklist{padding-left:24px}.project-checklist li{margin:14px 0;line-height:1.7}.content-page section[id],.real-project[id]{scroll-margin-top:110px}
.model-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#d9d5cd;margin:42px 0}.model-facts>div{background:#f3f0e9;padding:24px}.model-facts strong{display:block;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:#8a7041;margin-bottom:10px}.model-facts p{margin:0;color:#555;line-height:1.65}.model-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin:34px 0}.model-links a{min-height:44px;display:inline-flex;align-items:center;text-underline-offset:5px}@media(max-width:700px){.model-facts{grid-template-columns:1fr}}

/* Contacto profesional confirmado. Se mantiene separado del chat para que ambos accesos sean claros. */
.mani-whatsapp{position:fixed;left:22px;bottom:22px;z-index:1097;display:flex;align-items:center;gap:11px;min-height:58px;box-sizing:border-box;padding:9px 17px 9px 12px;border:1px solid rgba(255,255,255,.45);border-radius:999px;background:#147a3e;color:#fff!important;font-family:Arial,sans-serif;text-decoration:none!important;box-shadow:0 10px 30px rgba(0,0,0,.28);transition:transform .2s ease,background .2s ease,box-shadow .2s ease;animation:mani-whatsapp-in .45s ease-out .7s both,mani-whatsapp-attention .7s ease-in-out 2.6s 2}.mani-whatsapp:hover,.mani-whatsapp:focus-visible{background:#0f6533;transform:translateY(-2px);box-shadow:0 14px 34px rgba(0,0,0,.32);outline:3px solid rgba(20,122,62,.25);outline-offset:3px}.mani-whatsapp-icon{display:block;flex:0 0 30px;width:30px;height:30px;background:url('assets/whatsapp.svg') center/contain no-repeat;font-size:0}.mani-whatsapp>span:last-child{font-size:.82rem;font-weight:700;line-height:1.15;white-space:nowrap}.mani-whatsapp-copy{display:grid;gap:2px}.mani-whatsapp-copy strong{font-size:.86rem;line-height:1.05;letter-spacing:.02em}.mani-whatsapp-copy small{font-size:.7rem;line-height:1.1;font-weight:400;color:#eaf7ef}@keyframes mani-whatsapp-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes mani-whatsapp-attention{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}@media(max-width:600px){.mani-whatsapp{left:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));min-height:52px;padding:9px 13px 9px 10px;gap:8px}.mani-whatsapp-icon{flex-basis:28px;width:28px;height:28px}.mani-whatsapp>span:last-child{font-size:0}.mani-whatsapp>span:last-child::after{content:"WhatsApp";font-size:.8rem}.mani-whatsapp-copy strong{font-size:.8rem}.mani-whatsapp-copy small{display:none}.mani-whatsapp-copy::after{content:none!important}}@media(prefers-reduced-motion:reduce){.mani-whatsapp{animation:none;transition:none}}

.project-views{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.project-views .content-hero{margin:20px 0}.project-photo img{max-height:760px;object-fit:contain;background:#e8e4dc}@media(max-width:700px){.project-views{grid-template-columns:1fr}.breadcrumbs{flex-wrap:wrap}}
.project-cart .cart-actions :disabled,.project-cart .cart-actions [aria-disabled="true"]{opacity:.55;cursor:not-allowed}

/* V57: tipografía MANI local con alternativas del sistema. */
body,.mani-chat-launcher,.mani-whatsapp{font-family:'DM Sans',Arial,Helvetica,sans-serif}.hero h1,.manifest h2,.section-head h2,.project h2,.light h2,.config h2,.pro h2,.final-cta h2,.finish h3,.process>h2,.real-project h3,.result h3,.color-dialog-head h2,.light-products h3,.product-stage-copy h1,.model-picker h3,.project-cart h3,.delivery-times h3,.legal-main h1,.legal-main h2,.timeline-planner h3,.warranty-badge strong,.mani-chat-consent h2,.mani-chat-welcome strong,.measurement-planner-head h3,.geometry-result>strong,.service-area h2,.faq-home h2,.warranty-highlight h2{font-family:'Playfair Display',Georgia,'Times New Roman',serif}
