/* EL LIENZO VIVO — material, light and rhythm shared by the complete site. */
body.canvas-site{--canvas-ivory:#f0e9dc;--canvas-ink:#17191b;--canvas-sepia:#392b25;--canvas-terra:#a83e31;--canvas-gold:#ad8a53;--canvas-olive:#777c69;--canvas-space:clamp(22px,5vw,76px);--canvas-duration:180ms;--r-body:Manrope,system-ui,sans-serif;--r-display:'Bodoni Moda',Georgia,serif}
html[data-theme=light] body.canvas-site{--a-page:#f0e9dc;--a-bg:#f0e9dc;--a-card:#f9f5ec;--a-soft:#e6ddcd;--a-line:#b7ad9d;--a-ink:#17191b;--a-muted:#5b554b;--a-accent:#a83e31;--a-on-accent:#fff9ef;background-color:var(--a-page);color:var(--a-ink)}
html[data-theme=dark] body.canvas-site{--a-page:#17191b;--a-bg:#17191b;--a-card:#252625;--a-soft:#35342f;--a-line:#626057;--a-ink:#f0e9dc;--a-muted:#c9c0b1;--a-accent:#f18f79;--a-on-accent:#17191b;background-color:var(--a-page);color:var(--a-ink)}
body.canvas-site main{background-image:url('assets/paper-fibres.svg');background-size:260px 230px}
body.canvas-site .section{scroll-margin-top:115px}
body.canvas-site .canvas-section-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:10px 60px;align-items:end;margin-bottom:45px}.canvas-section-heading>.editorial-label{grid-column:1/-1}.canvas-section-heading>p:last-child{color:var(--a-muted);max-width:440px}
html body.canvas-site .canvas-section-heading h2{font-size:clamp(42px,4.7vw,66px)!important;margin:0;line-height:1.1}
body.canvas-site .canvas-services{padding-top:85px;padding-bottom:100px}
.canvas-service-sequence{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.canvas-service{grid-column:1/-1;min-width:0;background:var(--a-card);border:1px solid var(--a-line);padding:0 30px}
.canvas-service summary{display:grid;grid-template-columns:1fr 1.8fr auto;gap:22px;align-items:center;padding:30px 0;cursor:pointer;list-style:none}.canvas-service summary::-webkit-details-marker{display:none}.canvas-service summary>.editorial-label{margin:0;font-size:10px!important;max-width:180px}.canvas-service summary>strong{font:600 clamp(24px,3.2vw,43px)/1.1 'Bodoni Moda',Georgia,serif;letter-spacing:-.025em}.service-open{font:600 11px/1.5 Manrope,sans-serif;display:flex;align-items:center;gap:18px;white-space:nowrap}.service-open b{font-size:24px;font-weight:400}.canvas-service[open] .service-open b{transform:rotate(45deg)}
.canvas-service-body{display:grid;grid-template-columns:1fr 1.8fr;gap:42px;padding:10px 0 35px;border-top:1px solid var(--a-line)}
html body.canvas-site .canvas-service-body h3{font-size:19px!important;margin:25px 0 12px}.canvas-service-body p{font-size:15px!important;line-height:1.8;color:var(--a-muted)}.canvas-service-body .service-limit{font-size:13px!important}.canvas-service-body .atelier-text-link{font-size:12px}
.service-web{background:#392b25;color:#f0e9dc;border-color:#392b25;background-image:url('assets/oil-veil.svg');background-size:cover}.service-web :is(.editorial-label,.canvas-service-body p){color:#dfd2be}.service-web .canvas-service-body{border-color:#8c7c69}
.service-design{grid-column:1/8;background-color:#e4d7bf;color:#2b2a25;background-image:url('assets/paper-fibres.svg')}.service-design summary{grid-template-columns:1fr auto}.service-design summary>.editorial-label{grid-column:1/-1;color:#5b554b}.service-design .canvas-service-body{grid-template-columns:1fr;gap:0}.service-design .canvas-service-body p{color:#554d43}
.service-care{grid-column:8/-1;background:#323a32;color:#f2eddf}.service-care summary{grid-template-columns:1fr auto}.service-care summary>.editorial-label{grid-column:1/-1;color:#d4d7c7}.service-care .canvas-service-body{grid-template-columns:1fr;gap:0;border-color:#858d7a}.service-care .canvas-service-body p{color:#d6d8cc}
.service-copy{grid-column:2/-1;border-left:4px solid #a83e31}.service-promote{grid-column:1/12;border-left:4px solid #777c69}
html body.canvas-site .canvas-service :is(h3,a){color:inherit}body.canvas-site .canvas-service summary:focus-visible{outline:3px solid #ad8a53;outline-offset:5px}
body.canvas-site .canvas-projects{padding-top:80px;padding-bottom:95px;background-image:none;border-top:1px solid var(--a-line)}.project-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:0 70px;align-items:end;margin-bottom:42px}.project-heading>.editorial-label{grid-column:1/-1}.project-heading>p:last-child{max-width:380px;color:var(--a-muted)}html body.canvas-site .project-heading h2{font-size:clamp(42px,4.7vw,65px)!important;margin:0}
.canvas-project{display:grid;grid-template-columns:1.6fr 1fr;gap:45px;align-items:center}.project-capture{display:block;background:#26372d;border:1px solid var(--a-line);padding:14px;overflow:hidden}.project-capture img{display:block;width:100%;height:auto;object-fit:contain}.project-capture>span{display:flex;justify-content:flex-end;color:#f0e9dc;padding:15px 6px 3px;font-size:12px;font-weight:600}.project-description{min-width:0}html body.canvas-site .project-description h3{font-size:29px!important;margin:16px 0 24px}.project-description>p:not(.editorial-label){font-size:14px!important;line-height:1.85;color:var(--a-muted)}
html body.canvas-site #precios{background:var(--a-page);border-top:1px solid var(--a-line)}html body.canvas-site .pricing{gap:25px;border:0;grid-template-columns:1fr 1fr}html body.canvas-site .price-main{background:#252823!important;color:#f0e9dc!important;border:1px solid #252823;border-radius:2px!important;background-image:url('assets/oil-veil.svg')!important;background-size:cover!important;padding:36px}html body.canvas-site .price-main :is(h3,p,li,.eyebrow,.price){color:#f0e9dc!important}html body.canvas-site .price-main .fine{color:#d6cbb8!important}html body.canvas-site .price-main .btn{background:#f0e9dc;color:#17191b!important;border-color:#f0e9dc}
html body.canvas-site .price-side{border-radius:2px!important;background:var(--a-card)!important;padding:36px;border:1px solid var(--a-line)!important}.canvas-site .price-side h3{margin-top:18px}.canvas-site .price-side .maintenance-options{border-block:1px solid var(--a-line);padding-block:10px}.canvas-site .price-side .checklist li{font-size:14px!important}.canvas-site .price-side .fine{font-size:12px!important}
html body.canvas-site .extras-section{background-color:var(--a-card);background-image:url('assets/paper-fibres.svg');border-block:1px solid var(--a-line)}html body.canvas-site .extras-summary{background:var(--a-page);border:1px solid var(--a-line);border-left:3px solid var(--a-accent);border-radius:2px!important;top:110px;padding:25px}.canvas-site .extra-card{grid-template-columns:minmax(0,1fr)!important}.canvas-site .extra-price{font-size:42px!important;white-space:normal;line-height:1.2}.canvas-site .extra-toggle{justify-content:flex-start}.canvas-site .extra-choice{min-width:0}.canvas-site .extras-grid{gap:45px;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}html body.canvas-site .extras-heading{gap:50px}
html body.canvas-site .process-section{background:#252a27;color:#f0e9dc;background-image:url('assets/oil-veil.svg');background-size:cover}html body.canvas-site .process-section :is(h2,strong,summary,p,.eyebrow){color:#f0e9dc}html body.canvas-site .process-step{border-color:#7a8175}html body.canvas-site .process-step summary>span{color:#d9c7a3}html body.canvas-site .process-step summary em{color:#c9c9b9}html body.canvas-site .process-step p{color:#d5d5c8;font-size:15px!important}html body.canvas-site .process-step summary strong{font:600 clamp(24px,3vw,39px)/1.2 'Bodoni Moda',Georgia,serif}
body.canvas-site .atelier-about{position:relative;padding-block:90px;background-image:url('assets/paper-fibres.svg')}.canvas-site .atelier-about h2{max-width:680px}.canvas-site .atelier-about>p:not(.editorial-label){font-size:17px!important;max-width:650px;line-height:1.8}
html body.canvas-site .portal-teaser{background:var(--a-page);border-block:1px solid var(--a-line)}html body.canvas-site .dashboard-preview{border-radius:2px;box-shadow:none;background:var(--a-card);transform:none}html body.canvas-site .faq details{border-color:var(--a-line)}html body.canvas-site .faq summary{font:600 16px/1.6 Manrope,sans-serif}html body.canvas-site .faq h2{font-size:clamp(40px,4vw,56px)!important}
html body.canvas-site .contact{background:#392b25!important;color:#f0e9dc!important;background-image:url('assets/oil-veil.svg')!important;background-size:cover!important;border-radius:0}html body.canvas-site .contact :is(h2,p,label,.eyebrow){color:#f0e9dc!important}html body.canvas-site .contact :is(input,select,textarea){background:#fff9ee;color:#17191b;border:1px solid #c9b99b;border-radius:1px}html body.canvas-site .contact .btn{background:#f0e9dc;color:#17191b;border:1px solid #f0e9dc;border-radius:1px}html body.canvas-site .contact .contact-postcard{display:none}html body.canvas-site .contact .contact-grid{gap:70px;align-items:start}html body.canvas-site .contact h2{font-size:clamp(46px,5vw,70px)!important;line-height:1.08;margin:30px 0}html body.canvas-site .contact .legal-inline{color:#e2d4bd!important}html body.canvas-site .contact .result{color:#17191b;background:#f0e9dc}html body.canvas-site .contact .result :is(p,strong){color:#17191b!important}
html body.canvas-site .signature-footer{background:#17191b;color:#f0e9dc;border:0}html body.canvas-site .signature-footer :is(p,a,.footer-wordmark,span){color:#f0e9dc}html body.canvas-site .footer-invite>p{font-size:clamp(35px,4vw,60px)!important}html body.canvas-site .legal-footer{background:var(--a-page);border-color:var(--a-line)}
/* The inner spreads share materials, never the same composition. */
body.canvas-site .canvas-interior-hero{padding-block:75px 65px;border-bottom:1px solid var(--a-line)}html body.canvas-site .canvas-interior-hero h1{font-size:clamp(46px,6.5vw,92px)!important;line-height:1.08;max-width:1050px;margin:20px 0 30px}html body.canvas-site .canvas-interior-hero>p:last-child{max-width:680px;font-size:18px;line-height:1.8;color:var(--a-muted)}
body.canvas-site .case-notes{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;padding-block:70px;border-top:1px solid var(--a-line)}html body.canvas-site .case-notes h2{font-size:clamp(42px,4vw,60px)!important}.case-notes h3{font-size:23px!important}.case-notes p{color:var(--a-muted)}.case-notes .btn{margin-top:20px}
body.canvas-site .philosophy-spread{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-block:90px}.philosophy-title{background:#392b25;color:#f0e9dc;padding:40px;background-image:url('assets/oil-veil.svg');background-size:cover}.philosophy-title .editorial-label{color:#e0cdb1}.philosophy-title h2{font-size:clamp(46px,5vw,72px)!important}.philosophy-text h3{font-size:25px!important;margin-top:25px}.philosophy-text p{color:var(--a-muted);font-size:16px!important}.canvas-closing{padding-block:80px}.canvas-closing h2{font-size:clamp(40px,5vw,68px)!important}.canvas-closing>p{max-width:650px;color:var(--a-muted)}
/* Existing commercial interiors: retain functional markup and unify the reading surface. */
body.canvas-public :is(.contact-page,.service-page,.proposal-page){max-width:1280px;margin:auto;padding:65px var(--canvas-space)}html body.canvas-public h1{font-size:clamp(46px,6.6vw,90px)!important;max-width:980px}html body.canvas-public .email-card,html body.canvas-public .service-panel{background:var(--a-card);color:var(--a-ink);border:1px solid var(--a-line);border-radius:2px;box-shadow:none}html body.canvas-public .email-card h2{font-size:32px!important}html body.canvas-public .contact-badge{display:none}html body.canvas-public .service-page h2{font-size:clamp(35px,4vw,54px)!important}.canvas-public .service-panel p{font-size:15px!important}
/* Private work surfaces: calm material and compact functional hierarchy. */
html body.canvas-site :is(.workspace,.access-layout,.legal-main,.admin-operations){background-image:none}html body.canvas-site .workspace-main{background-color:var(--a-page);background-image:url('assets/paper-fibres.svg')}html body.canvas-site .sidebar{background:var(--a-card);border-color:var(--a-line)}html body.canvas-site :is(.panel,.doc-card,.request-card,.project-card,.manual-invoice-card,.admin-operation,.billing-note){background:var(--a-card);color:var(--a-ink);border-color:var(--a-line);border-radius:3px!important;box-shadow:none}html body.canvas-site :is(.workspace-top h1,.section-intro h2){font-size:clamp(32px,3.2vw,46px)!important}html body.canvas-site .workspace-main :is(h3,.panel h3){font-size:22px!important}html body.canvas-site .workspace-main :is(p,li){font-size:14px;line-height:1.75}html body.canvas-site .workspace-main :is(.fine,.toast){font-size:12px!important}html body.canvas-site :is(.access-card,.signin-card,.auth-card){border-radius:3px;border:1px solid var(--a-line);background:var(--a-card)}html body.canvas-site .sidebtn.active{background:var(--a-soft);color:var(--a-ink);box-shadow:inset 3px 0 var(--a-accent)}
html body.canvas-site :is(button,.btn,input,select,textarea){font-family:Manrope,system-ui,sans-serif}html body.canvas-site :is(input,select,textarea){border-color:var(--a-line)}html body.canvas-site :is(a,button,input,textarea,select,summary):focus-visible{outline:3px solid var(--a-accent);outline-offset:4px}html body.canvas-site .canvas-service :is(a,summary):focus-visible{outline-color:#ad8a53}html body.canvas-site .btn{border-radius:2px;min-height:46px}.canvas-site dialog{border-radius:3px;max-height:90dvh;overflow:auto}.canvas-site dialog h2{font-size:clamp(30px,4vw,45px)!important}.canvas-site dialog h3{font-size:21px!important}
/* Shared public header can live on existing interior layouts. */
html[data-theme] body.canvas-public .canvas-header{background:#17191b!important;position:sticky;top:0;z-index:40}html[data-theme] body.canvas-public .canvas-header :is(a,.brand>span,.brand small,button){color:#f0e9dc!important}body.canvas-public .canvas-header>nav{max-width:1440px;flex-wrap:nowrap;padding:16px var(--canvas-space);gap:20px}.canvas-public .brand img{width:36px;height:36px;background:none;padding:0;border-radius:0}.canvas-public .navlinks{gap:16px}.canvas-public .navlinks a{font-size:12px}.canvas-public .navright{gap:15px}.canvas-public .navright>a{font-size:12px}.canvas-public .navright>.btn{display:inline-flex;background:#a83e31;border:0;color:#fff}.canvas-public .corporate-mode{font-size:10px;background:none;border:1px solid #888;min-height:40px;padding:8px}.canvas-public .menu-toggle{border-color:#888}
@media(min-width:721px) and (prefers-reduced-motion:no-preference){.canvas-site .atelier-art{animation:canvas-appear .7s ease-out both}.canvas-site .canvas-service summary .service-open b{transition:transform var(--canvas-duration)}.canvas-site .project-capture img{transition:transform .35s}.canvas-site .project-capture:hover img{transform:scale(1.015)}@keyframes canvas-appear{from{opacity:.7;transform:translateY(17px)}to{opacity:1;transform:translateY(12px)}}}
@media(max-width:1100px){.canvas-public .navlinks{display:none;background:#17191b}.canvas-public .navlinks.open{display:grid}.canvas-public .menu-toggle{display:flex;margin-left:auto}.canvas-service summary{grid-template-columns:1fr 1.5fr auto}.service-design summary,.service-care summary{grid-template-columns:1fr auto}.canvas-site .canvas-project{grid-template-columns:1.25fr 1fr;gap:25px}.canvas-site .project-description p{font-size:13px!important}.canvas-site .canvas-section-heading,.canvas-site .project-heading{gap:15px 35px}.canvas-public .canvas-header>nav{gap:12px}}
@media(max-width:760px){html body.canvas-site .canvas-section-heading,html body.canvas-site .project-heading{grid-template-columns:1fr;gap:12px;margin-bottom:28px}.canvas-site .canvas-section-heading>p:last-child,.canvas-site .project-heading>p:last-child{max-width:540px}.canvas-site .canvas-services{padding-block:55px}.canvas-service-sequence{gap:18px}.canvas-service{grid-column:1/-1;padding:0 20px}.canvas-service summary{grid-template-columns:minmax(0,1fr) auto;gap:18px;padding-block:25px}.canvas-service summary>.editorial-label{grid-column:1/-1;max-width:none}.canvas-service summary>strong{font-size:30px}.service-open>span{display:none}.canvas-service-body{grid-template-columns:1fr;gap:0;padding-bottom:25px}.service-open b{font-size:26px}.canvas-site .canvas-project{grid-template-columns:1fr;gap:28px}.canvas-site .canvas-projects{padding-block:55px}.canvas-site .project-capture{padding:9px}.canvas-site .project-description{max-width:620px}.canvas-site .project-description p{font-size:15px!important}.canvas-site .extras-grid{grid-template-columns:1fr;gap:25px}html body.canvas-site .pricing{grid-template-columns:1fr;gap:20px}html body.canvas-site :is(.price-main,.price-side){padding:27px 22px}.canvas-site .extra-price{font-size:38px!important}.canvas-site .extras-summary{position:static}.canvas-site .extras-heading{grid-template-columns:1fr;gap:15px}html body.canvas-site .contact .contact-grid{gap:30px}html body.canvas-site .contact h2{font-size:45px!important}.canvas-site .canvas-interior-hero{padding-block:45px}.canvas-site .case-notes,.canvas-site .philosophy-spread{grid-template-columns:1fr;gap:30px;padding-block:45px}.canvas-site .philosophy-title{padding:25px}.canvas-site .philosophy-title h2{font-size:55px!important}.canvas-site .canvas-closing{padding-block:50px}body.canvas-public .canvas-header>nav{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:9px;padding-block:12px}.canvas-public .brand{font-size:19px}.canvas-public .brand img{width:29px;height:29px}.canvas-public .menu-toggle{grid-column:2;grid-row:1;margin:0;font-size:11px;padding:8px;gap:6px}.canvas-public .corporate-mode{grid-column:3;grid-row:1;font-size:9px;padding:6px}.canvas-public .navright{grid-column:1/-1;grid-row:2;justify-content:space-between;width:100%;gap:12px}.canvas-public .navright>.btn{display:inline-flex!important;font-size:11px;min-height:42px}.canvas-public .navright>a:first-child{display:inline-flex;font-size:11px}.canvas-public .navlinks{grid-column:1/-1}.canvas-public .navlinks a{font-size:15px}body.canvas-public :is(.contact-page,.service-page){padding-top:40px}html body.canvas-site .canvas-interior-hero h1{font-size:47px!important}html body.canvas-site .canvas-interior-hero>p:last-child{font-size:16px}.canvas-site .case-notes h2{font-size:42px!important}body.canvas-site .atelier-about{padding-block:55px}}
@media(prefers-reduced-motion:reduce){body.canvas-site *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Keep the official emblem's original pigment; old appearance layers desaturated it. */
html[data-theme][data-palette] body.canvas-site .brand img{filter:none!important;background:transparent!important;object-fit:contain}
html body.canvas-site :is(.case-notes,.philosophy-spread)>div{min-width:0}
@media(max-width:760px){html body.canvas-site .case-notes,html body.canvas-site .philosophy-spread{display:grid;grid-template-columns:minmax(0,1fr);gap:30px;padding-block:45px}html body.canvas-site .case-notes h2{font-size:42px!important}html body.canvas-site .philosophy-title{padding:25px}html body.canvas-site .philosophy-title h2{font-size:54px!important}html body.canvas-site .canvas-interior-hero{padding-block:45px}}
