
@font-face { font-family:"Manrope"; src:url('../fonts/manrope-variable.woff2') format('woff2'); font-style:normal; font-weight:200 800; font-display:swap; }
@font-face { font-family:"Cormorant Garamond"; src:url('../fonts/cormorant-garamond-variable.woff2') format('woff2'); font-style:normal; font-weight:300 700; font-display:swap; }
@font-face { font-family:"Cormorant Garamond"; src:url('../fonts/cormorant-garamond-italic.woff2') format('woff2'); font-style:italic; font-weight:300 700; font-display:swap; }
:root { --ink:#171918; --paper:#f4f0e8; --warm:#e9e1d4; --copper:#b45f35; --copper-dark:#914626; --muted:#6d6c67; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"Manrope",Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
.site-header { position:absolute; z-index:10; top:0; left:0; width:100%; height:92px; padding:0 4.5vw; display:flex; align-items:center; justify-content:space-between; color:white; border-bottom:1px solid rgba(255,255,255,.16); }
.brand { display:flex; align-items:center; gap:13px; }
.brand > span:last-child { display:flex; flex-direction:column; line-height:1; }
.brand b { font-size:16px; letter-spacing:.12em; }
.brand small { margin-top:6px; color:#c8c5bd; font-size:8px; letter-spacing:.23em; }
.brand-mark { width:35px; height:35px; display:flex; gap:3px; align-items:flex-end; }
.brand-mark i { display:block; width:8px; background:var(--copper); transform:skewY(-26deg); }
.brand-mark i:nth-child(1){height:19px}.brand-mark i:nth-child(2){height:28px}.brand-mark i:nth-child(3){height:35px}
.main-nav { display:flex; gap:34px; font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
.main-nav a { position:relative; opacity:.84; transition:.2s; }
.main-nav a:hover { opacity:1; }
.main-nav a:after { content:""; position:absolute; left:0; right:100%; bottom:-9px; height:1px; background:var(--copper); transition:.2s; }
.main-nav a:hover:after { right:0; }
.header-cta { font-size:11px; letter-spacing:.1em; text-transform:uppercase; border:1px solid rgba(255,255,255,.45); padding:13px 16px; }
.header-cta span,.button span,.text-link span,.service-card a span { color:var(--copper); margin-left:12px; }
.menu-button { display:none; background:none; border:0; padding:10px; }
.menu-button span { display:block; background:white; width:24px; height:1px; margin:6px 0; }
.hero { min-height:780px; height:100vh; position:relative; display:flex; align-items:center; color:white; overflow:hidden; }
.hero-image { position:absolute; inset:0; background:url('../images/hero-construction.webp') center/cover no-repeat; transform:scale(1.02); }
.hero-scrim { position:absolute; inset:0; background:linear-gradient(90deg,rgba(10,12,11,.9) 0%,rgba(10,12,11,.65) 43%,rgba(10,12,11,.15) 76%),linear-gradient(0deg,rgba(10,12,11,.45),transparent 45%); }
.hero-content { position:relative; z-index:2; width:min(720px,80vw); margin-left:9vw; padding-top:60px; }
.eyebrow { display:flex; align-items:center; gap:12px; color:var(--copper); letter-spacing:.19em; font-size:10px; font-weight:bold; }
.eyebrow span { width:28px; height:1px; background:currentColor; }
.eyebrow.light { color:#d9d5cc; }
h1,h2 { margin:22px 0; font-family:"Cormorant Garamond",Georgia,'Times New Roman',serif; font-weight:500; line-height:.98; letter-spacing:-.035em; }
h1 { font-size:clamp(54px,6.2vw,96px); }
h1 em,h2 em { color:var(--copper); font-weight:400; }
.hero-copy { max-width:560px; color:#d1d0ca; font-size:16px; line-height:1.75; }
.hero-actions { display:flex; align-items:center; gap:34px; margin-top:38px; }
.button { display:inline-flex; align-items:center; justify-content:center; border:0; cursor:pointer; padding:17px 22px; text-transform:uppercase; font-size:10px; font-weight:bold; letter-spacing:.13em; }
.button.primary { background:var(--copper); color:white; transition:.2s; }
.button.primary:hover { background:var(--copper-dark); transform:translateY(-2px); }
.button.primary span { color:white; }
.text-link { font-size:10px; letter-spacing:.12em; text-transform:uppercase; font-weight:bold; border-bottom:1px solid currentColor; padding-bottom:6px; }
.light-link { color:white; }
.hero-proof { position:absolute; z-index:2; right:4.5vw; bottom:50px; display:flex; gap:1px; background:rgba(255,255,255,.18); }
.hero-proof div { width:145px; padding:20px; background:rgba(17,19,18,.78); backdrop-filter:blur(10px); }
.hero-proof strong { font:32px Georgia,serif; color:var(--copper); display:block; }
.hero-proof span { color:#c9c8c2; font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.hero-scroll { position:absolute; z-index:2; left:4.5vw; bottom:48px; writing-mode:vertical-rl; font-size:8px; letter-spacing:.2em; color:#aaa; }
.hero-scroll span { margin-top:10px; color:var(--copper); }
.trust-strip { background:var(--ink); color:#d8d5ce; display:flex; justify-content:space-around; padding:20px 4vw; font-size:9px; letter-spacing:.15em; }
.trust-strip span::first-letter { color:var(--copper); }
.section { padding:120px 8vw; }
.section-head { display:grid; grid-template-columns:1.5fr 1fr; align-items:end; gap:8vw; margin-bottom:65px; }
.section-head h2,.projects-section h2,.contact-section h2 { font-size:clamp(48px,5.2vw,76px); }
.section-head > p { color:var(--muted); max-width:480px; line-height:1.8; font-size:14px; padding-bottom:8px; }
.services-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #d4cdc1; border-left:1px solid #d4cdc1; }
.service-card { padding:28px 25px 30px; min-height:310px; background:var(--paper); border-right:1px solid #d4cdc1; border-bottom:1px solid #d4cdc1; transition:.25s; display:flex; flex-direction:column; }
.service-card:hover { background:var(--ink); color:white; transform:translateY(-4px); box-shadow:0 18px 45px rgba(30,25,20,.13); }
.service-top { display:flex; justify-content:space-between; color:#a8a39b; font-size:9px; letter-spacing:.12em; }
.service-top b { color:var(--copper); }
.service-card h3 { font:25px Georgia,serif; margin:47px 0 16px; }
.service-card p { color:var(--muted); font-size:12px; line-height:1.7; margin:0; }
.service-card:hover p { color:#bebcb5; }
.service-card a { margin-top:auto; padding-top:25px; font-size:9px; text-transform:uppercase; font-weight:bold; letter-spacing:.1em; }
.projects-section { padding:110px 8vw; background:var(--ink); color:white; display:grid; grid-template-columns:.85fr 1.15fr 1.15fr; gap:18px; align-items:stretch; }
.project-copy { padding:25px 35px 25px 0; display:flex; flex-direction:column; align-items:flex-start; }
.project-copy p:not(.eyebrow) { color:#aaa9a4; line-height:1.8; font-size:13px; }
.project-copy .text-link { margin-top:auto; }
.project-card { min-height:560px; background-size:cover; background-position:center; position:relative; overflow:hidden; }
.project-card:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(11,13,12,.85),transparent 48%); transition:.4s; }
.project-card:hover:after { background:linear-gradient(0deg,rgba(11,13,12,.8),rgba(11,13,12,.05)); }
.project-one { background-image:url('../images/project-bathroom.webp'); }.project-two { background-image:url('../images/project-apartment.webp'); }
.project-label { position:absolute; z-index:2; left:28px; right:28px; bottom:27px; display:flex; flex-direction:column; }
.project-label small { color:var(--copper); font-size:8px; letter-spacing:.17em; }.project-label strong { font:26px Georgia,serif; margin:7px 0; }.project-label span { color:#c4c2bc; font-size:10px; }
.compact { margin-bottom:55px; }
.process-layout { display:grid; grid-template-columns:1fr 1fr; gap:8vw; align-items:center; }
.process-list { list-style:none; margin:0; padding:0; border-top:1px solid #d4cdc1; }
.process-list li { display:grid; grid-template-columns:65px 1fr; padding:24px 0; border-bottom:1px solid #d4cdc1; }
.process-list li > b { color:var(--copper); font-size:10px; letter-spacing:.1em; }
.process-list h3 { font:22px Georgia,serif; margin:0 0 8px; }.process-list p { color:var(--muted); font-size:12px; line-height:1.6; margin:0; }
.quality-panel { background:#fff; padding:36px; box-shadow:0 24px 60px rgba(43,35,28,.08); }
.quality-head { display:flex; justify-content:space-between; align-items:flex-start; }.quality-head small { color:var(--copper); font-size:8px; letter-spacing:.15em; }.quality-head h3 { font:27px Georgia,serif; margin:10px 0; }.quality-head > span { color:var(--copper); font:27px Georgia,serif; }
.performance-chart { width:100%; height:250px; margin-top:15px; }.quality-panel > p { color:#99958c; font-size:8px; letter-spacing:.04em; text-align:center; }
.testimonial { text-align:center; padding:110px 15vw; background:var(--warm); }.quote-mark { font:76px Georgia,serif; line-height:.5; color:var(--copper); margin:0; }.testimonial blockquote { max-width:900px; margin:30px auto; font:clamp(26px,3vw,43px)/1.35 Georgia,serif; }.client { display:flex; justify-content:center; align-items:center; gap:12px; }.client > span { width:38px; height:38px; border-radius:50%; background:var(--ink); color:white; display:grid; place-items:center; font-size:10px; }.client p { text-align:left; display:flex; flex-direction:column; margin:0; }.client strong { font-size:11px; }.client small { color:var(--muted); font-size:9px; margin-top:3px; }
.contact-section { background:#252826; color:white; padding:110px 8vw; display:grid; grid-template-columns:1fr 1.1fr; gap:9vw; }.contact-copy > p:not(.eyebrow) { color:#aaa; line-height:1.8; max-width:470px; }.contact-details { margin-top:45px; display:flex; flex-direction:column; gap:12px; font-size:12px; }.contact-details a { color:#e6e2da; }.contact-details span { color:#888; font-size:9px; letter-spacing:.1em; }
.contact-form { background:#f4f0e8; color:var(--ink); padding:38px; }.form-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }.contact-form label { display:flex; flex-direction:column; gap:9px; margin-bottom:22px; font-size:9px; font-weight:bold; letter-spacing:.1em; text-transform:uppercase; }.contact-form input,.contact-form select,.contact-form textarea { width:100%; background:transparent; color:var(--ink); border:0; border-bottom:1px solid #c8c0b4; border-radius:0; padding:10px 2px; outline:none; font-size:13px; text-transform:none; letter-spacing:0; }.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { border-color:var(--copper); }.contact-form textarea { resize:vertical; }.privacy { flex-direction:row!important; align-items:flex-start; color:#777; font-weight:normal!important; text-transform:none!important; letter-spacing:0!important; line-height:1.5; }.privacy input { width:auto; margin:2px 5px 0 0; }.submit { width:100%; }.success-message { background:#f4f0e8; color:var(--ink); padding:55px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }.success-message > span { width:48px; height:48px; background:var(--copper); color:white; display:grid; place-items:center; border-radius:50%; }.success-message h3 { font:35px Georgia,serif; margin-bottom:8px; }.success-message p { color:var(--muted); line-height:1.7; }.success-message button { background:none; border:0; border-bottom:1px solid var(--ink); margin-top:25px; padding:0 0 5px; cursor:pointer; text-transform:uppercase; font-size:9px; letter-spacing:.1em; }
footer { background:#121413; color:#aaa; padding:65px 8vw 25px; }.footer-main { display:grid; grid-template-columns:1fr 1fr auto; align-items:center; gap:30px; padding-bottom:55px; }.footer-main > p { font:21px/1.5 Georgia,serif; max-width:450px; margin:0; }.footer-brand { color:white; }.back-top { width:45px; height:45px; border:1px solid #555; display:grid; place-items:center; color:var(--copper); }.footer-bottom { border-top:1px solid #333; padding-top:22px; display:flex; justify-content:space-between; font-size:8px; letter-spacing:.07em; }.footer-bottom div { display:flex; gap:25px; }
@media(max-width:1050px){.services-grid{grid-template-columns:repeat(2,1fr)}.projects-section{grid-template-columns:1fr 1fr}.project-copy{grid-column:1/-1;padding-bottom:40px}.project-copy .text-link{margin-top:25px}.main-nav{gap:18px}.hero-proof{right:3vw}.hero-proof div{width:125px}}
@media(max-width:760px){.site-header{height:75px;padding:0 20px;position:absolute}.main-nav{display:none;position:absolute;top:75px;left:0;right:0;background:rgba(18,20,19,.98);padding:30px;flex-direction:column}.main-nav.open{display:flex}.header-cta{display:none}.menu-button{display:block}.hero{height:auto;min-height:760px;align-items:flex-start}.hero-content{margin:0;padding:150px 24px 220px;width:100%}.hero-scrim{background:linear-gradient(90deg,rgba(10,12,11,.9),rgba(10,12,11,.3)),linear-gradient(0deg,rgba(10,12,11,.8),transparent)}h1{font-size:52px}.hero-copy{font-size:14px}.hero-actions{align-items:flex-start;flex-direction:column;gap:25px}.hero-proof{left:24px;right:24px;bottom:42px}.hero-proof div{width:33.33%;padding:14px 10px}.hero-proof strong{font-size:24px}.hero-proof span{font-size:7px}.hero-scroll{display:none}.trust-strip{overflow:auto;justify-content:flex-start;gap:32px;padding:17px 24px;white-space:nowrap}.section{padding:85px 24px}.section-head{grid-template-columns:1fr;gap:15px;margin-bottom:40px}.section-head h2,.projects-section h2,.contact-section h2{font-size:49px}.services-grid{grid-template-columns:1fr}.service-card{min-height:270px}.projects-section{padding:80px 24px;grid-template-columns:1fr}.project-card{min-height:440px}.process-layout{grid-template-columns:1fr;gap:50px}.quality-panel{padding:24px 14px}.testimonial{padding:85px 24px}.contact-section{padding:85px 24px;grid-template-columns:1fr;gap:45px}.contact-form{padding:28px 20px}.form-row{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr auto}.footer-main>p{grid-column:1/-1;grid-row:2}.footer-bottom{flex-direction:column;gap:15px}.footer-bottom>span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

[hidden] { display:none !important; }
.website-field { position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.form-status { min-height:18px; margin:0 0 14px; color:#914626; font-size:11px; line-height:1.5; }
.submit:disabled { cursor:wait; opacity:.65; transform:none !important; }
.legal-page { min-height:100vh; padding:72px 24px; background:var(--paper); }
.legal-page main { width:min(760px,100%); margin:0 auto; }
.legal-page h1 { margin-top:70px; font-size:clamp(45px,8vw,80px); }
.legal-page h2 { margin-top:42px; font:28px Georgia,serif; }
.legal-page p { color:var(--muted); font-size:15px; line-height:1.8; }
.legal-back { display:inline-block; padding-bottom:5px; border-bottom:1px solid var(--ink); font-size:10px; font-weight:bold; letter-spacing:.1em; text-transform:uppercase; }

/* Graphic storytelling v4 */
.project-filters { display:flex; flex-wrap:wrap; gap:8px; align-self:end; margin:20px 0 0; }
.project-filters button { cursor:pointer; padding:9px 13px; color:#aaa9a4; background:transparent; border:1px solid #454845; font-size:8px; letter-spacing:.13em; text-transform:uppercase; transition:.2s; }
.project-filters button:hover,.project-filters button.active { color:white; border-color:var(--copper); background:var(--copper); }
.project-card { transition:opacity .35s,filter .35s,transform .35s,background-size .55s; }
.project-card.is-muted { opacity:.2; filter:grayscale(1); transform:scale(.985); }
.coordination-section { position:relative; display:grid; grid-template-columns:.85fr 1.15fr; gap:8vw; align-items:center; overflow:hidden; color:white; background-color:#171a18; background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:38px 38px; }
.coordination-section:before { content:""; position:absolute; width:420px; height:420px; left:-210px; bottom:-210px; border:1px solid rgba(180,95,53,.35); border-radius:50%; box-shadow:0 0 0 70px rgba(180,95,53,.035),0 0 0 140px rgba(180,95,53,.025); }
.coordination-copy,.coordination-visual { position:relative; z-index:1; }
.coordination-copy h2 { font-size:clamp(52px,5.4vw,78px); }
.coordination-copy>p:not(.eyebrow) { max-width:520px; color:#aaaea9; font-size:14px; line-height:1.8; }
.coordination-visual { min-height:520px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.13); background:rgba(10,12,11,.45); backdrop-filter:blur(5px); }
.service-wheel { width:100%; height:430px; }
.chart-corner { position:absolute; top:20px; right:22px; color:#787c78; font-size:8px; letter-spacing:.18em; }
.wheel-legend { position:absolute; left:25px; bottom:22px; display:flex; gap:22px; color:#b9bbb7; font-size:8px; letter-spacing:.12em; text-transform:uppercase; }
.wheel-legend span { display:flex; align-items:center; gap:7px; }.wheel-legend i { width:8px; height:8px; border-radius:50%; }.legend-a{background:#b45f35}.legend-b{background:#d7b092}.legend-c{background:#6f7972}
.material-palette { display:flex; margin-top:40px; padding-top:20px; border-top:1px solid #3b3f3c; }
.material-palette span { flex:1; color:#9da09b; font-size:7px; letter-spacing:.08em; text-transform:uppercase; }.material-palette i { display:block; width:100%; height:7px; margin-bottom:10px; background:var(--swatch); }
.reveal { opacity:0; transform:translateY(34px); transition:opacity .75s ease,transform .75s cubic-bezier(.2,.75,.25,1); }.reveal.is-visible { opacity:1; transform:none; }
.service-card.reveal:nth-child(2n),.project-card.reveal:nth-child(2n) { transition-delay:.08s; }
::selection { color:white; background:var(--copper); }
@media(max-width:1200px){.coordination-section{grid-template-columns:1fr 1fr;gap:5vw}}
@media(max-width:760px){.project-filters{margin:26px 0}.project-card.is-muted{display:none}.coordination-section{grid-template-columns:1fr;padding:85px 24px;gap:40px}.coordination-visual{min-height:430px}.service-wheel{height:350px}.wheel-legend{left:16px;right:16px;gap:10px;justify-content:space-between}.material-palette span{font-size:6px}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}

/* Premium v2 system */
:root { --line:#d8d0c3; --cream:#faf7f1; --night:#111412; }
body { overflow-x:hidden; }
.utility-bar { position:absolute; z-index:12; top:0; left:0; right:0; height:34px; padding:0 4.5vw; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; color:#d3d0c9; background:rgba(9,11,10,.92); font-size:8px; letter-spacing:.15em; text-transform:uppercase; border-bottom:1px solid rgba(255,255,255,.1); }
.utility-bar div { justify-self:end; display:flex; gap:24px; }.utility-bar a:last-child { color:#d68a62; }
.site-header { top:34px; height:84px; transition:background .25s,top .25s,box-shadow .25s; }
.site-header.scrolled { position:fixed; top:0; height:72px; color:white; background:rgba(17,20,18,.96); box-shadow:0 10px 40px rgba(0,0,0,.12); backdrop-filter:blur(14px); }
.hero { min-height:820px; }
.hero-content { max-width:680px; margin-left:7vw; }
.hero h1 { font-size:clamp(58px,6.3vw,104px); }
.hero-copy { max-width:610px; font-size:17px; }
.hero-mini-proof { display:flex; gap:22px; margin-top:30px; color:#c7c5bf; font-size:9px; letter-spacing:.06em; text-transform:uppercase; }
.hero-mini-proof span::first-letter { color:var(--copper); }
.hero-consult { position:absolute; z-index:3; right:5vw; top:50%; width:340px; padding:30px; color:var(--ink); background:rgba(250,247,241,.96); box-shadow:0 28px 80px rgba(0,0,0,.25); transform:translateY(-48%); backdrop-filter:blur(12px); }
.hero-consult small { color:var(--copper); font-size:8px; font-weight:bold; letter-spacing:.15em; }.hero-consult h2 { font-size:32px; margin:12px 0 20px; }.hero-consult > p { color:var(--muted); margin:18px 0 0; font-size:9px; }
.consult-options { border-top:1px solid var(--line); }.consult-options a { display:flex; justify-content:space-between; padding:15px 0; border-bottom:1px solid var(--line); font:17px Georgia,serif; transition:.2s; }.consult-options a:hover { color:var(--copper); padding-left:6px; }.consult-options span { font-family:Arial,sans-serif; }
.hero-proof { right:auto; left:7vw; bottom:42px; }.hero-scroll { left:auto; right:2.2vw; }
.statement-section { position:relative; display:grid; grid-template-columns:110px 1fr 1.25fr; gap:5vw; background:var(--cream); }
.statement-index { color:#a7a098; font-size:9px; letter-spacing:.16em; writing-mode:vertical-rl; }.statement-copy h2 { font-size:clamp(48px,5vw,74px); }.statement-lead { color:var(--muted); max-width:560px; font-size:15px; line-height:1.8; }
.statement-cards { border-top:1px solid var(--line); }.statement-cards article { display:grid; grid-template-columns:46px 190px 1fr; gap:20px; align-items:start; padding:24px 0; border-bottom:1px solid var(--line); }.statement-cards b { color:var(--copper); font-size:9px; }.statement-cards h3 { margin:0; font:21px Georgia,serif; }.statement-cards p { margin:0; color:var(--muted); font-size:12px; line-height:1.7; }
.services-section { background:#efe9df; }.services-grid { gap:14px; border:0; }.service-card { min-height:390px; border:1px solid #d7cfc2; padding:27px; }.service-icon { margin-top:24px; width:40px; height:40px; display:grid; place-items:center; color:var(--copper); border:1px solid #cbbfb0; border-radius:50%; font:21px Georgia,serif; }.service-card h3 { margin:24px 0 14px; }.service-card ul { list-style:none; margin:18px 0 0; padding:15px 0 0; border-top:1px solid #d9d1c5; color:#817e77; font-size:10px; line-height:1.9; }.service-card li:before { content:'—'; color:var(--copper); margin-right:8px; }.service-card:hover ul { color:#c7c4bc; border-color:#3b3e3c; }.featured-service { background:var(--ink); color:white; }.featured-service p,.featured-service ul { color:#bbb8b0; }.featured-service ul { border-color:#3b3e3c; }
.projects-section { display:block; padding:120px 7vw; }.project-copy { display:grid; grid-template-columns:1fr 1fr; padding:0 0 55px; }.project-copy h2 { grid-row:2/4; }.project-copy > p:not(.eyebrow) { max-width:480px; align-self:end; }.project-copy .text-link { align-self:end; justify-self:start; }
.project-grid { display:grid; grid-template-columns:1.35fr .8fr .8fr; grid-template-rows:330px 330px; gap:14px; }.project-card { min-height:0; }.project-large { grid-row:1/3; }.project-two { grid-column:2/4; }.project-three { background-image:url('../images/project-exterior.webp'); }.project-four { background-image:url('../images/project-electrical.webp'); }.project-number { position:absolute; z-index:2; top:18px; right:20px; color:white; font-size:9px; letter-spacing:.14em; border:1px solid rgba(255,255,255,.4); border-radius:50%; width:34px; height:34px; display:grid; place-items:center; }.project-card:hover { background-size:107%; }
.property-band { display:grid; grid-template-columns:repeat(3,1fr); background:var(--copper); color:white; }.property-band > div { min-height:220px; padding:45px 5vw; border-right:1px solid rgba(255,255,255,.25); }.property-band small { display:block; font-size:8px; letter-spacing:.18em; opacity:.75; }.property-band strong { display:block; margin:25px 0 12px; font:26px Georgia,serif; }.property-band p { max-width:300px; font-size:12px; line-height:1.7; opacity:.82; }
.process-section { background:var(--cream); }.process-list li { transition:.2s; }.process-list li:hover,.process-list li.active { padding-left:14px; background:white; }.process-list small { color:#9b958c; font-size:7px; letter-spacing:.14em; }.process-list h3 { margin-top:7px; }
.testimonial { display:grid; grid-template-columns:220px 1fr; align-items:center; gap:8vw; padding:115px 12vw; text-align:left; }.testimonial-score { display:flex; flex-direction:column; align-items:center; padding:35px 20px; border:1px solid #cfc4b5; }.testimonial-score strong { font:62px Georgia,serif; }.testimonial-score span { color:var(--copper); letter-spacing:.14em; }.testimonial-score small { margin-top:12px; color:var(--muted); font-size:7px; letter-spacing:.17em; }.testimonial blockquote { margin-left:0; }.client { justify-content:flex-start; }
.faq-section { display:grid; grid-template-columns:.75fr 1.25fr; gap:9vw; background:var(--cream); }.faq-intro h2 { font-size:clamp(47px,5vw,72px); }.faq-intro > p:not(.eyebrow) { color:var(--muted); font-size:13px; line-height:1.8; }.button.dark { margin-top:25px; color:white; background:var(--ink); }.button.dark span { color:var(--copper); margin-left:12px; }.faq-list { border-top:1px solid var(--line); }.faq-list details { border-bottom:1px solid var(--line); }.faq-list summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; gap:20px; padding:25px 0; font:21px Georgia,serif; }.faq-list summary::-webkit-details-marker { display:none; }.faq-list summary span { color:var(--copper); font-family:Arial,sans-serif; transition:.2s; }.faq-list details[open] summary span { transform:rotate(45deg); }.faq-list details p { color:var(--muted); max-width:650px; margin:0 45px 25px 0; font-size:13px; line-height:1.8; }
.contact-section { position:relative; background:linear-gradient(125deg,#202321,#303431); }.contact-promise { margin:38px 0; border-top:1px solid #4a4d4a; }.contact-promise div { display:grid; grid-template-columns:38px 1fr; padding:13px 0; border-bottom:1px solid #4a4d4a; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }.contact-promise b { color:var(--copper); }.form-kicker { display:flex; justify-content:space-between; padding-bottom:22px; margin-bottom:25px; border-bottom:1px solid var(--line); }.form-kicker span { color:var(--copper); font-size:9px; font-weight:bold; letter-spacing:.15em; }.form-kicker small { color:#8d887f; font-size:9px; }.contact-form { box-shadow:0 28px 80px rgba(0,0,0,.18); }
.mobile-actions { display:none; }
@media(max-width:1200px){.hero-consult{display:none}.hero-content{max-width:760px}.statement-section{grid-template-columns:60px 1fr}.statement-cards{grid-column:2}.project-grid{grid-template-columns:1fr 1fr;grid-template-rows:460px 310px 310px}.project-large{grid-column:1/3;grid-row:auto}.project-two{grid-column:auto}.services-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){body{padding-bottom:60px}.utility-bar{display:none}.site-header{top:0}.site-header.scrolled{height:66px}.hero{min-height:820px}.hero-content{padding:132px 24px 235px}.hero h1{font-size:54px}.hero-mini-proof{flex-direction:column;gap:8px}.hero-proof{left:24px;right:24px}.statement-section{display:block}.statement-index{display:none}.statement-cards{margin-top:40px}.statement-cards article{grid-template-columns:35px 1fr}.statement-cards article p{grid-column:2}.services-grid{grid-template-columns:1fr}.service-card{min-height:360px}.project-copy{display:block}.project-copy .text-link{display:inline-block;margin-top:20px}.project-grid{display:block}.project-card{min-height:430px;margin-bottom:14px}.property-band{grid-template-columns:1fr}.property-band>div{min-height:180px}.testimonial{grid-template-columns:1fr;padding:85px 24px}.testimonial-score{width:180px}.faq-section{grid-template-columns:1fr}.faq-list{margin-top:35px}.form-kicker{flex-direction:column;gap:8px}.mobile-actions{position:fixed;z-index:40;left:0;right:0;bottom:0;height:60px;display:grid;grid-template-columns:.8fr 1.2fr;box-shadow:0 -8px 25px rgba(0,0,0,.18)}.mobile-actions a{display:grid;place-items:center;background:#f3eee5;color:var(--ink);font-size:10px;font-weight:bold;letter-spacing:.1em;text-transform:uppercase}.mobile-actions a:last-child{background:var(--copper);color:white}}

/* Expanded experience v5 */
.service-atlas { display:grid; grid-template-columns:.85fr 1.35fr; color:white; background:#111412; }
.atlas-intro { padding:105px 7vw; background:linear-gradient(135deg,#242825,#151816); }.atlas-intro h2 { font-size:clamp(45px,4.5vw,70px); }.atlas-intro>p:not(.eyebrow) { max-width:470px; color:#aaaea9; font-size:13px; line-height:1.8; }.atlas-intro .text-link { display:inline-block; margin-top:30px; }
.atlas-grid { display:grid; grid-template-columns:repeat(3,1fr); }.atlas-grid span { min-height:112px; padding:25px; display:flex; flex-direction:column; justify-content:space-between; border-left:1px solid #343834; border-bottom:1px solid #343834; color:#e4e1da; font:16px Georgia,serif; transition:.25s; }.atlas-grid span:hover { color:white; background:var(--copper); transform:translateY(-3px); }.atlas-grid b { color:#8e918c; font:8px Arial,sans-serif; letter-spacing:.14em; }.atlas-grid span:hover b { color:#f0d1c2; }.atlas-grid .atlas-feature { background:var(--copper); color:white; }
.project-grid { grid-template-columns:1.35fr .8fr .8fr; grid-template-rows:330px 330px 350px; }.project-five { grid-column:1/3; background-image:url('../images/project-roof-v2.webp'); }.project-six { background-image:url('../images/project-garden-v2.webp'); }
.service-area { display:grid; grid-template-columns:1fr 1fr; gap:8vw; align-items:center; background:#efe9df; }.area-copy h2 { font-size:clamp(48px,5vw,74px); }.area-copy>p:not(.eyebrow) { max-width:560px; color:var(--muted); font-size:14px; line-height:1.8; }.area-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:35px; }.area-tags span { padding:10px 13px; border:1px solid #cbc2b5; color:#696862; background:rgba(255,255,255,.35); font-size:8px; letter-spacing:.1em; text-transform:uppercase; }
.area-graphic { position:relative; aspect-ratio:1/1; max-width:570px; width:100%; margin:auto; overflow:hidden; border-radius:50%; background:#181b19; box-shadow:0 35px 80px rgba(42,35,28,.18); }.area-graphic:before { content:""; position:absolute; inset:0; opacity:.3; background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size:30px 30px; }.area-ring { position:absolute; left:50%; top:50%; border:1px solid rgba(180,95,53,.55); border-radius:50%; transform:translate(-50%,-50%); }.ring-one{width:28%;height:28%;background:rgba(180,95,53,.13)}.ring-two{width:58%;height:58%}.ring-three{width:88%;height:88%;border-style:dashed}.area-center { position:absolute; left:50%; top:50%; display:flex; flex-direction:column; align-items:center; transform:translate(-50%,-50%); }.area-center b { color:white; font:23px Georgia,serif; }.area-center span { margin-top:6px; color:var(--copper); font-size:7px; letter-spacing:.14em; }.area-point { position:absolute; color:#babdb8; font-size:7px; letter-spacing:.12em; }.area-point:before { content:""; display:inline-block; width:6px; height:6px; margin-right:7px; border:1px solid var(--copper); border-radius:50%; }.point-a{left:20%;top:65%}.point-b{right:20%;top:25%}.point-c{left:13%;top:39%}.point-d{right:7%;bottom:23%}
.reviews-section { background:var(--warm); }.reviews-head { display:grid; grid-template-columns:1.3fr 1fr; gap:7vw; align-items:end; margin-bottom:55px; }.reviews-head .eyebrow { grid-column:1/-1; }.reviews-head h2 { font-size:clamp(48px,5vw,74px); margin:0; }.reviews-head>p:last-child { color:var(--muted); font-size:14px; line-height:1.8; }.reviews-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.reviews-grid article { min-height:335px; padding:32px; display:flex; flex-direction:column; border:1px solid #cfc4b5; background:rgba(250,247,241,.55); }.review-stars { color:var(--copper); letter-spacing:.16em; font-size:10px; }.reviews-grid blockquote { margin:45px 0 35px; font:22px/1.55 Georgia,serif; }.review-person { display:flex; align-items:center; gap:12px; margin-top:auto; }.review-person>span { width:38px; height:38px; display:grid; place-items:center; border-radius:50%; color:white; background:var(--ink); font-size:9px; }.review-person p { display:flex; flex-direction:column; gap:4px; margin:0; }.review-person strong { font-size:10px; }.review-person small { color:var(--muted); font-size:8px; }.review-note { margin:20px 0 0; color:#8c877f; font-size:8px; letter-spacing:.04em; }
.wizard-form { min-height:640px; }.wizard-progress { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin:-10px 0 34px; }.wizard-progress i { height:3px; background:#d8d0c3; transition:.25s; }.wizard-progress i.active { background:var(--copper); }.wizard-step { display:none; min-width:0; margin:0; padding:0; border:0; }.wizard-step.active { display:block; animation:stepIn .35s ease both; }.wizard-step legend { width:100%; margin-bottom:9px; font:31px/1.1 Georgia,serif; }.step-copy { margin:0 0 25px; color:var(--muted); font-size:11px; line-height:1.6; }.option-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.option-card { position:relative; margin:0!important; cursor:pointer; }.option-card input { position:absolute; opacity:0; pointer-events:none; }.option-card span { min-height:112px; padding:20px; display:flex; flex-direction:column; justify-content:center; gap:8px; border:1px solid #d2cabd; background:#f9f5ed; transition:.2s; }.option-card b { font:20px Georgia,serif; text-transform:none; letter-spacing:0; }.option-card small { color:var(--muted); font-size:9px; font-weight:normal; letter-spacing:0; line-height:1.5; text-transform:none; }.option-card input:checked+span { color:white; border-color:var(--copper); background:var(--copper); box-shadow:0 12px 30px rgba(180,95,53,.2); }.option-card input:checked+span small { color:#f5ded3; }
.trade-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; max-height:330px; overflow:auto; padding-right:4px; }.trade-grid label { position:relative; min-height:72px; margin:0!important; cursor:pointer; display:flex; align-items:center; justify-content:center; text-align:center; gap:8px; border:1px solid #d3cbbf; background:#f9f5ed; font-size:8px!important; transition:.2s; }.trade-grid input { position:absolute; opacity:0; }.trade-grid label:has(input:checked) { color:white; border-color:var(--copper); background:var(--copper); }.trade-grid label>span { font:18px Georgia,serif; }.step-error { min-height:16px; margin:12px 0 0; color:#914626; font-size:10px; }.optional { color:#999; font-size:7px; font-weight:normal; }.wizard-actions { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-top:30px; padding-top:22px; border-top:1px solid var(--line); }.wizard-back { cursor:pointer; padding:12px 0; border:0; color:#666; background:transparent; font-size:9px; letter-spacing:.08em; text-transform:uppercase; }.wizard-next,.wizard-actions .submit { width:auto; margin-left:auto; min-width:170px; }.form-kicker small b { color:var(--copper); }.wizard-step .privacy { margin-top:20px; }
.legend-d{background:#485048}.wheel-legend{flex-wrap:wrap}
@keyframes stepIn { from{opacity:0;transform:translateX(16px)} to{opacity:1;transform:none} }
@media(max-width:1200px){.service-atlas{grid-template-columns:1fr}.atlas-grid{grid-template-columns:repeat(3,1fr)}.reviews-grid{grid-template-columns:1fr 1fr}.reviews-grid article:last-child{grid-column:1/-1}.service-area{gap:5vw}}
@media(max-width:760px){.service-atlas{display:block}.atlas-intro{padding:80px 24px}.atlas-grid{grid-template-columns:1fr 1fr}.atlas-grid span{min-height:95px;padding:18px;font-size:14px}.project-five{grid-column:auto}.service-area{grid-template-columns:1fr;padding:85px 24px}.area-graphic{margin-top:15px}.reviews-section{padding:85px 24px}.reviews-head{grid-template-columns:1fr;gap:15px}.reviews-grid{grid-template-columns:1fr}.reviews-grid article:last-child{grid-column:auto}.reviews-grid article{min-height:290px}.wizard-form{min-height:700px}.option-grid{grid-template-columns:1fr}.option-card span{min-height:86px}.trade-grid{grid-template-columns:1fr 1fr;max-height:360px}.wizard-step legend{font-size:27px}.wizard-actions{position:sticky;bottom:0;margin-left:-20px;margin-right:-20px;padding:15px 20px;background:#f4f0e8}.wizard-next,.wizard-actions .submit{min-width:145px}.wheel-legend{font-size:6px}}

/* Premium architectural system v7 */
.scroll-progress { position:fixed; z-index:100; top:0; left:0; width:0; height:3px; pointer-events:none; background:linear-gradient(90deg,var(--copper),#e6ad8c); box-shadow:0 0 18px rgba(180,95,53,.55); }
.hero-blueprint { position:absolute; z-index:1; top:118px; right:0; width:52%; height:58%; opacity:.22; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.2) 1px,transparent 1px),linear-gradient(45deg,transparent 49.6%,rgba(255,255,255,.22) 50%,transparent 50.4%); background-size:54px 54px,54px 54px,108px 108px; -webkit-mask-image:linear-gradient(90deg,transparent,#000 38%); mask-image:linear-gradient(90deg,transparent,#000 38%); }
.hero:after { content:""; position:absolute; z-index:1; right:-10%; bottom:-35%; width:55vw; aspect-ratio:1; border:1px solid rgba(255,255,255,.12); border-radius:50%; box-shadow:0 0 0 90px rgba(255,255,255,.025),0 0 0 180px rgba(255,255,255,.018); pointer-events:none; }
.button,.header-cta { position:relative; overflow:hidden; }
.button:before,.header-cta:before { content:""; position:absolute; inset:-2px; opacity:0; background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.35) 48%,transparent 70%); transform:translateX(-100%); transition:opacity .2s,transform .65s; }
.button:hover:before,.header-cta:hover:before { opacity:1; transform:translateX(100%); }

/* Lucide architectural icon set */
.line-icon,.trade-icon { --icon:none; display:inline-block; flex:0 0 auto; width:28px; height:28px; color:var(--copper); background:currentColor; -webkit-mask:var(--icon) center/contain no-repeat; mask:var(--icon) center/contain no-repeat; }
.service-icon,.detail-service-icon { position:relative; color:var(--copper); }
.service-icon:before,.detail-service-icon:before { content:""; position:absolute; inset:9px; background:currentColor; -webkit-mask:var(--icon) center/contain no-repeat; mask:var(--icon) center/contain no-repeat; transition:transform .3s; }
.service-card:hover .service-icon:before { transform:scale(1.12) rotate(-4deg); }
.icon-zap{--icon:url('../images/icons/zap.svg')}.icon-panels{--icon:url('../images/icons/panels-top-left.svg')}.icon-grid{--icon:url('../images/icons/grid-3x3.svg')}.icon-paint{--icon:url('../images/icons/paint-roller.svg')}.icon-droplets{--icon:url('../images/icons/droplets.svg')}.icon-air{--icon:url('../images/icons/air-vent.svg')}.icon-house{--icon:url('../images/icons/house.svg')}.icon-wrench{--icon:url('../images/icons/wrench.svg')}.icon-tree{--icon:url('../images/icons/tree-pine.svg')}.icon-layers{--icon:url('../images/icons/layers-3.svg')}.icon-door{--icon:url('../images/icons/door-open.svg')}.icon-brick{--icon:url('../images/icons/brick-wall.svg')}.icon-hard-hat{--icon:url('../images/icons/hard-hat.svg')}.icon-paint-bucket{--icon:url('../images/icons/paint-bucket.svg')}.icon-phone-call{--icon:url('../images/icons/phone-call.svg')}.icon-search-check{--icon:url('../images/icons/search-check.svg')}.icon-square-chart-gantt{--icon:url('../images/icons/square-chart-gantt.svg')}.icon-map-pin{--icon:url('../images/icons/map-pin.svg')}.icon-calendar-check{--icon:url('../images/icons/calendar-check.svg')}

.free-services { position:relative; z-index:4; width:calc(100% - 8vw); margin:-1px auto 0; display:grid; grid-template-columns:1.15fr repeat(3,1fr); color:var(--ink); background:#fff; box-shadow:0 20px 55px rgba(26,22,18,.11); }
.free-services-intro,.free-services article { min-height:170px; padding:30px; border-right:1px solid var(--line); }
.free-services-intro { display:flex; flex-direction:column; justify-content:center; background:var(--copper); color:white; }
.free-services-intro small { font-size:7px; letter-spacing:.16em; opacity:.78; }.free-services-intro strong { margin-top:18px; font:25px/1.2 Georgia,serif; }
.free-services article { display:grid; grid-template-columns:45px 1fr; gap:14px; align-content:center; transition:background .25s,transform .25s; }
.free-services article:last-child { border-right:0; }.free-services article:hover { z-index:1; background:var(--cream); transform:translateY(-5px); }
.free-services article small { color:var(--copper); font-size:8px; letter-spacing:.15em; }.free-services article h2 { margin:8px 0 10px; font:20px/1.2 Georgia,serif; letter-spacing:-.02em; }.free-services article p { margin:0; color:var(--muted); font-size:10px; line-height:1.6; }

.fx-card { position:relative; isolation:isolate; overflow:hidden; }
.fx-card:before { content:""; position:absolute; z-index:-1; inset:0; opacity:0; pointer-events:none; background:radial-gradient(280px circle at var(--mx,50%) var(--my,50%),rgba(180,95,53,.2),transparent 58%); transition:opacity .25s; }
.fx-card:hover:before { opacity:1; }.featured-service.fx-card:before { background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.12),transparent 58%); }
.service-links { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-top:auto; padding-top:22px; }
.service-links a { margin:0; padding:0; }.service-links a:last-child { color:var(--copper); border-bottom:1px solid transparent; font-size:7px; }.service-links a:last-child:hover { border-color:currentColor; }

.atlas-grid a { min-height:112px; padding:25px; display:flex; flex-direction:column; justify-content:space-between; border-left:1px solid #343834; border-bottom:1px solid #343834; color:#e4e1da; font:16px Georgia,serif; transition:.25s; }
.atlas-grid a:hover { color:white; background:var(--copper); transform:translateY(-3px); }.atlas-grid a:hover b { color:#f0d1c2; }

.material-system { display:grid; grid-template-columns:.75fr 1.25fr; align-items:stretch; gap:0; padding-top:0; padding-bottom:0; background:var(--cream); }
.material-copy { padding:95px 6vw 95px 0; display:flex; flex-direction:column; justify-content:center; }.material-copy h2 { font-size:clamp(48px,5vw,75px); }.material-copy>p:not(.eyebrow) { max-width:520px; color:var(--muted); font-size:13px; line-height:1.8; }
.material-facts { display:grid; grid-template-columns:1fr 1fr; gap:0; margin:32px 0; border-top:1px solid var(--line); border-left:1px solid var(--line); }.material-facts span { min-height:65px; padding:17px; display:flex; align-items:center; gap:12px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); font-size:9px; text-transform:uppercase; letter-spacing:.08em; }.material-facts b { color:var(--copper); font-size:7px; }
.material-copy .text-link { align-self:flex-start; }.material-image { position:relative; min-height:620px; margin:0; overflow:hidden; background:#ddd; }.material-image img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 1s cubic-bezier(.2,.7,.2,1); }.material-image:hover img { transform:scale(1.035); }.material-image:after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.18) 50%,transparent 65%); transform:translateX(-100%); transition:transform .9s; }.material-image:hover:after { transform:translateX(100%); }.material-image figcaption { position:absolute; left:22px; bottom:20px; padding:10px 13px; color:white; background:rgba(17,20,18,.78); backdrop-filter:blur(8px); font-size:8px; letter-spacing:.09em; text-transform:uppercase; }

.transformation-section { display:grid; grid-template-columns:.6fr 1.4fr; gap:5vw; padding:110px 7vw; color:white; background:#151816; }
.transformation-copy { display:flex; flex-direction:column; justify-content:center; }.transformation-copy h2 { font-size:clamp(46px,4.7vw,72px); }.transformation-copy>p:not(.eyebrow) { color:#aaada8; font-size:13px; line-height:1.8; }.transformation-copy .button { align-self:flex-start; margin-top:32px; }
.transformation-meta { display:flex; flex-wrap:wrap; gap:7px; margin-top:25px; }.transformation-meta span { padding:8px 10px; border:1px solid #3d413e; color:#b8bab6; font-size:7px; letter-spacing:.1em; text-transform:uppercase; }
.before-after { position:relative; min-height:540px; overflow:hidden; cursor:ew-resize; background:#2a2d2a; box-shadow:0 35px 85px rgba(0,0,0,.35); }.before-after>img,.before-layer,.before-layer img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }.before-layer { clip-path:inset(0 50% 0 0); will-change:clip-path; }.compare-label { position:absolute; z-index:3; top:22px; padding:9px 12px; color:white; background:rgba(17,20,18,.75); font-size:8px; font-weight:bold; letter-spacing:.14em; }.label-before{left:22px}.label-after{right:22px;background:var(--copper)}
.compare-handle { position:absolute; z-index:4; top:0; bottom:0; left:50%; width:2px; pointer-events:none; background:white; box-shadow:0 0 20px rgba(0,0,0,.3); }.compare-handle span { position:absolute; top:50%; left:50%; width:48px; height:48px; display:grid; place-items:center; border:2px solid white; border-radius:50%; color:var(--ink); background:white; transform:translate(-50%,-50%); font-size:17px; box-shadow:0 8px 25px rgba(0,0,0,.3); }
.before-after input { position:absolute; z-index:5; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:ew-resize; }

.google-map { overflow:hidden; border:1px solid #cfc5b8; background:var(--cream); box-shadow:0 30px 70px rgba(42,35,28,.13); }.google-map iframe { display:block; width:100%; height:470px; filter:saturate(.75) contrast(1.04); }.map-topline { min-height:82px; padding:17px 20px; display:flex; align-items:center; gap:15px; border-bottom:1px solid var(--line); }.map-topline p { margin:0; display:flex; flex-direction:column; gap:4px; }.map-topline small { color:var(--copper); font-size:7px; letter-spacing:.13em; }.map-topline strong { font:18px Georgia,serif; }.map-topline>b { margin-left:auto; color:#aaa39a; font-size:7px; letter-spacing:.14em; text-transform:uppercase; }.map-note { margin:0; padding:13px 18px; color:#7e7a73; background:#f4efe7; font-size:8px; line-height:1.6; }.map-link { display:inline-block; margin-top:26px; padding-bottom:6px; color:var(--copper); border-bottom:1px solid currentColor; font-size:9px; font-weight:bold; letter-spacing:.1em; text-transform:uppercase; }

.planning-float { position:fixed; z-index:35; right:22px; bottom:22px; width:210px; padding:15px 18px; display:grid; grid-template-columns:30px 1fr; column-gap:11px; color:white; background:rgba(17,20,18,.94); border:1px solid rgba(255,255,255,.14); box-shadow:0 18px 55px rgba(0,0,0,.26); backdrop-filter:blur(12px); transition:transform .25s,background .25s; }.planning-float:hover { background:var(--copper); transform:translateY(-5px); }.planning-float .line-icon { grid-row:1/3; width:27px; height:27px; color:#d68a62; }.planning-float:hover .line-icon { color:white; }.planning-float b { font-size:9px; letter-spacing:.1em; text-transform:uppercase; }.planning-float small { margin-top:4px; color:#aeb0ac; font-size:7px; }.planning-float:hover small { color:#f5ded3; }

footer { background:#111412; color:white; }.footer-grid { position:relative; padding:70px 6vw; display:grid; grid-template-columns:1.3fr repeat(2,.7fr) 1fr; gap:5vw; border-bottom:1px solid #303430; }.footer-about p { max-width:310px; margin:28px 0 0; color:#929690; font-size:11px; line-height:1.8; }.footer-grid nav,.footer-contact { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }.footer-grid nav small,.footer-contact>small { margin-bottom:8px; color:#6f746f; font-size:7px; letter-spacing:.18em; }.footer-grid nav a { color:#b9bcb7; font-size:10px; }.footer-grid nav a:hover { color:#d68a62; }.footer-contact strong { margin-bottom:8px; font:18px/1.35 Georgia,serif; }.footer-contact>a { color:#c3c5c0; font-size:10px; }.footer-contact .footer-project-link { margin-top:8px; padding:11px 13px; color:white; background:var(--copper); text-transform:uppercase; letter-spacing:.1em; font-size:8px; }.footer-grid .back-top { position:absolute; right:2vw; top:50%; width:38px; height:38px; display:grid; place-items:center; border:1px solid #3b3f3b; border-radius:50%; transform:translateY(-50%); }.footer-bottom { padding:22px 6vw; }

/* Service detail page */
.service-detail-page { background:var(--cream); }.detail-header { color:white; }.detail-hero { position:relative; min-height:780px; padding:170px 7vw 90px; display:flex; align-items:center; overflow:hidden; color:white; background:#151816; }.detail-hero-photo { position:absolute; inset:0 0 0 45%; background:url('../images/material-system-v3.webp') center/cover no-repeat; opacity:.78; }.detail-hero:before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,#151816 0%,rgba(21,24,22,.97) 40%,rgba(21,24,22,.5) 70%,rgba(21,24,22,.25)),linear-gradient(0deg,rgba(21,24,22,.75),transparent 40%); }.detail-hero-grid { position:absolute; z-index:1; inset:118px 0 auto 45%; height:58%; opacity:.18; background-image:linear-gradient(rgba(255,255,255,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.22) 1px,transparent 1px); background-size:50px 50px; }.detail-hero-copy { position:relative; z-index:2; width:min(700px,58vw); }.breadcrumbs { display:flex; gap:10px; margin-bottom:45px; color:#a9aca7; font-size:8px; letter-spacing:.12em; text-transform:uppercase; }.breadcrumbs a:hover { color:white; }.detail-hero h1 { font-size:clamp(58px,6.2vw,98px); }.detail-hero-copy>p:not(.eyebrow) { max-width:650px; color:#c2c4bf; font-size:16px; line-height:1.8; }
.detail-free-card { position:absolute; z-index:3; right:5vw; bottom:60px; width:340px; padding:28px; color:var(--ink); background:rgba(250,247,241,.96); box-shadow:0 25px 75px rgba(0,0,0,.3); backdrop-filter:blur(12px); }.detail-free-card>small { color:var(--copper); font-size:7px; font-weight:bold; letter-spacing:.15em; }.detail-free-card h2 { margin:13px 0 18px; font-size:29px; line-height:1.05; }.detail-free-card ul { list-style:none; margin:0; padding:0; border-top:1px solid var(--line); }.detail-free-card li { display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid var(--line); font-size:10px; }.detail-free-card .line-icon { width:20px; height:20px; }.detail-free-card>a { display:inline-block; margin-top:18px; color:var(--copper); font-size:9px; font-weight:bold; letter-spacing:.1em; text-transform:uppercase; }
.detail-jump-nav { position:sticky; z-index:8; top:72px; display:flex; justify-content:center; gap:0; overflow:auto; color:white; background:#212421; border-bottom:1px solid #393d39; }.detail-jump-nav a { padding:18px 22px; white-space:nowrap; border-right:1px solid #393d39; font-size:8px; letter-spacing:.13em; text-transform:uppercase; }.detail-jump-nav a:hover { background:var(--copper); }
.service-detail-intro { display:grid; grid-template-columns:1fr 1fr; gap:9vw; align-items:end; }.service-detail-intro h2 { font-size:clamp(50px,5.3vw,78px); }.service-detail-intro>p { max-width:560px; color:var(--muted); font-size:14px; line-height:1.85; }
.trade-details { border-top:1px solid var(--line); }.trade-detail { scroll-margin-top:130px; min-height:510px; padding:70px 7vw; display:grid; grid-template-columns:50px 82px minmax(0,1.5fr) minmax(240px,.65fr); gap:3vw; align-items:start; border-bottom:1px solid var(--line); background:var(--cream); }.trade-detail:nth-child(even) { background:#eee7dc; }.trade-detail.trade-featured { color:white; background:#191c1a; }.trade-number { padding-top:13px; color:#a49e95; font-size:8px; letter-spacing:.15em; }.detail-service-icon { width:70px; height:70px; border:1px solid #cfc4b6; border-radius:50%; }.detail-service-icon:before { inset:19px; }.trade-copy h2 { margin:14px 0 22px; font-size:clamp(38px,4vw,60px); }.trade-copy>p:not(.eyebrow) { max-width:760px; color:var(--muted); font-size:13px; line-height:1.85; }.trade-featured .trade-copy>p:not(.eyebrow) { color:#b7bab5; }.trade-copy ul { display:grid; grid-template-columns:1fr 1fr; gap:10px 24px; max-width:760px; margin:28px 0; padding:22px 0 0; list-style:none; border-top:1px solid #d2c9bc; }.trade-featured .trade-copy ul { border-color:#3d413d; }.trade-copy li { color:#5f5e59; font-size:10px; line-height:1.5; }.trade-featured .trade-copy li { color:#c0c2bd; }.trade-copy li:before { content:"✓"; margin-right:9px; color:var(--copper); }.trade-copy>a { display:inline-block; padding-bottom:6px; color:var(--copper); border-bottom:1px solid currentColor; font-size:9px; font-weight:bold; letter-spacing:.1em; text-transform:uppercase; }
.trade-detail aside { margin-top:50px; padding:25px; border:1px solid #d0c6b8; background:rgba(255,255,255,.42); }.trade-featured aside { border-color:#414541; background:rgba(255,255,255,.035); }.trade-detail aside small { color:var(--copper); font-size:7px; letter-spacing:.15em; }.trade-detail aside strong { display:block; margin:17px 0 11px; font:22px/1.25 Georgia,serif; }.trade-detail aside p { margin:0; color:var(--muted); font-size:10px; line-height:1.7; }.trade-featured aside p { color:#a8aba6; }
.detail-process { background:#e7ded0; }.detail-process ol { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #cbbfae; border-left:1px solid #cbbfae; }.detail-process li { min-height:270px; padding:30px; display:flex; flex-direction:column; border-right:1px solid #cbbfae; border-bottom:1px solid #cbbfae; }.detail-process li>b { margin:25px 0 10px; color:var(--copper); font-size:8px; }.detail-process h3 { margin:0 0 12px; font:24px Georgia,serif; }.detail-process li p { margin:0; color:var(--muted); font-size:11px; line-height:1.7; }
.detail-cta { padding:90px 8vw; display:flex; align-items:center; justify-content:space-between; gap:5vw; color:white; background:#222622; }.detail-cta h2 { font-size:clamp(45px,4.8vw,72px); }.detail-cta>div>p:not(.eyebrow) { max-width:650px; color:#adb0ab; font-size:13px; line-height:1.8; }.detail-cta>.button { flex:0 0 auto; }

@media(max-width:1300px){.main-nav{gap:20px}.free-services{width:100%;grid-template-columns:1fr 1fr}.free-services-intro{grid-row:1/3}.detail-free-card{right:3vw}.detail-hero-copy{width:62vw}.trade-detail{grid-template-columns:40px 70px minmax(0,1fr)}.trade-detail aside{grid-column:3;margin-top:0}}
@media(max-width:1050px){.free-services{grid-template-columns:1fr 1fr}.free-services-intro{grid-column:1/-1;grid-row:auto;min-height:120px}.free-services article:last-child{grid-column:1/-1}.material-system{grid-template-columns:1fr;padding:0}.material-copy{padding:90px 7vw}.material-image{min-height:520px}.transformation-section{grid-template-columns:1fr}.transformation-copy{max-width:650px}.detail-free-card{display:none}.detail-hero-copy{width:min(760px,88vw)}.footer-grid{grid-template-columns:1.2fr 1fr 1fr}.footer-contact{grid-column:1/-1;padding-top:30px;border-top:1px solid #303430}.trade-detail{padding-left:5vw;padding-right:5vw}}
@media(max-width:760px){
  .hero-blueprint{top:0;width:100%;height:50%}.hero:after{display:none}.free-services{display:block}.free-services-intro,.free-services article{min-height:145px;border-right:0;border-bottom:1px solid var(--line);padding:25px 24px}.free-services article{grid-template-columns:40px 1fr}.service-links{align-items:flex-start;flex-direction:column}.atlas-grid a{min-height:95px;padding:18px;font-size:14px}.material-copy{padding:78px 24px}.material-image{min-height:360px}.material-facts{grid-template-columns:1fr}.transformation-section{padding:80px 24px}.before-after{min-height:360px}.compare-label{top:15px}.label-before{left:15px}.label-after{right:15px}.google-map iframe{height:380px}.map-note{font-size:7px}.planning-float{display:none}.footer-grid{padding:60px 24px;grid-template-columns:1fr 1fr;gap:40px 24px}.footer-about{grid-column:1/-1}.footer-contact{grid-column:1/-1}.footer-grid .back-top{right:24px;top:35px;transform:none}.footer-bottom{padding:22px 24px}
  .detail-hero{min-height:720px;padding:125px 24px 75px}.detail-hero-photo{inset:0;opacity:.38}.detail-hero:before{background:linear-gradient(90deg,rgba(21,24,22,.96),rgba(21,24,22,.68)),linear-gradient(0deg,rgba(21,24,22,.85),transparent)}.detail-hero-copy{width:100%}.detail-hero h1{font-size:52px}.detail-hero-copy>p:not(.eyebrow){font-size:14px}.breadcrumbs{margin-bottom:35px}.detail-jump-nav{top:66px;justify-content:flex-start}.detail-jump-nav a{padding:16px}.service-detail-intro{grid-template-columns:1fr}.trade-detail{grid-template-columns:42px 1fr;padding:55px 24px;gap:20px}.detail-service-icon{width:58px;height:58px;grid-column:2}.detail-service-icon:before{inset:16px}.trade-copy{grid-column:1/-1}.trade-copy ul{grid-template-columns:1fr}.trade-detail aside{grid-column:1/-1;margin-top:5px}.detail-process ol{grid-template-columns:1fr 1fr}.detail-process li{min-height:235px;padding:24px}.detail-cta{padding:75px 24px;align-items:flex-start;flex-direction:column}.detail-cta>.button{width:100%}
}
@media(max-width:480px){.free-services article h2{font-size:19px}.material-image{min-height:300px}.before-after{min-height:285px}.footer-grid{grid-template-columns:1fr}.footer-grid nav{grid-column:1}.detail-process ol{grid-template-columns:1fr}.trade-copy h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){.material-image img,.button:before,.header-cta:before,.service-icon:before{transition:none}.hero-blueprint{display:none}}

/* RGB Vienna brand & content system v8 */
img { max-width:100%; }
:focus-visible { outline:3px solid #e29165; outline-offset:4px; }
.rgb-brand { min-width:max-content; gap:10px; }
.rgb-brand img { width:62px; height:50px; object-fit:contain; }
.rgb-brand b { font-size:22px; font-weight:750; letter-spacing:.12em; }
.rgb-brand small { margin-top:5px; max-width:170px; color:#c8c5bd; font-size:7px; font-weight:650; letter-spacing:.18em; line-height:1.2; }
.site-header .main-nav [aria-current="page"] { opacity:1; color:#fff; }
.site-header .main-nav [aria-current="page"]:after { right:0; }
.hero-consult h2,.service-card h3,.project-label strong,.process-list h3,.quality-head h3,.testimonial blockquote,.footer-main>p,.footer-contact strong,.map-topline strong,.consult-options a,.trade-detail aside strong,.detail-process h3 { font-family:"Cormorant Garamond",Georgia,serif; }
.icon-clipboard-check{--icon:url('../images/icons/clipboard-check.svg')}
.icon-badge-check{--icon:url('../images/icons/badge-check.svg')}
.icon-ruler{--icon:url('../images/icons/ruler.svg')}

.css-system-visual { overflow:hidden; }
.css-service-wheel { position:relative; width:min(340px,72vw); aspect-ratio:1; display:grid; place-items:center; border-radius:50%; background:conic-gradient(var(--copper) 0 44%,#d7b092 44% 69%,#6f7972 69% 88%,#ece6da 88% 100%); box-shadow:0 0 0 1px rgba(255,255,255,.16),0 25px 70px rgba(0,0,0,.28); transform:rotate(-20deg); }
.css-service-wheel:before { content:""; width:58%; aspect-ratio:1; border-radius:50%; background:#171a18; border:1px solid rgba(255,255,255,.14); box-shadow:inset 0 0 45px rgba(0,0,0,.45); }
.css-service-wheel:after { content:""; position:absolute; inset:-24px; border:1px dashed rgba(215,176,146,.22); border-radius:50%; }
.css-service-wheel>div { position:absolute; display:grid; place-items:center; transform:rotate(20deg); }
.css-service-wheel strong { color:white; font:600 62px/1 "Cormorant Garamond",serif; }
.css-service-wheel span { color:#aeb0ac; font-size:8px; letter-spacing:.22em; }
.legend-d { background:#ece6da; }
.css-performance { margin:35px 0 22px; display:grid; gap:22px; }
.css-performance>span { display:grid; grid-template-columns:95px 1fr 20px; align-items:center; gap:14px; }
.css-performance b { font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.css-performance i { height:7px; overflow:hidden; background:#e1d9cc; }
.css-performance i:after { content:""; display:block; width:var(--value); height:100%; background:linear-gradient(90deg,var(--copper),#d2916e); }
.css-performance small { color:var(--copper); font-weight:750; text-align:right; }
.standards-grid article { min-height:280px; }
.standards-grid .line-icon { width:42px; height:42px; margin-bottom:50px; }
.standards-grid h3 { margin:0 0 14px; font:500 27px/1.05 "Cormorant Garamond",serif; }
.standards-grid p { margin:0; color:var(--muted); font-size:11px; line-height:1.75; }
.contact-details strong { font:500 19px/1.45 "Cormorant Garamond",serif; }

.content-page { background:var(--cream); }
.content-hero { position:relative; min-height:720px; padding:160px 7vw 85px; display:flex; align-items:flex-end; overflow:hidden; color:white; background:#171a18; }
.content-hero-media,.content-hero-overlay { position:absolute; inset:0; }
.content-hero-media { background-position:center; background-size:cover; transform:scale(1.01); }
.about-hero .content-hero-media { background-image:url('../images/project-exterior.webp'); }
.process-hero .content-hero-media { background-image:url('../images/material-system-v3.webp'); }
.projects-hero .content-hero-media { background-image:url('../images/project-bathroom.webp'); }
.content-hero-overlay { background:linear-gradient(90deg,rgba(13,16,14,.94) 0%,rgba(13,16,14,.72) 48%,rgba(13,16,14,.18) 82%),linear-gradient(0deg,rgba(12,15,13,.65),transparent 52%); }
.content-hero-copy { position:relative; z-index:2; width:min(820px,78vw); }
.content-hero h1,.contact-page-hero h1 { font-size:clamp(58px,7vw,104px); }
.content-hero-copy>p:last-child,.contact-hero-copy>p:not(.eyebrow) { max-width:650px; color:#d0d1cc; font-size:15px; line-height:1.85; }
.editorial-split,.process-intro,.project-editorial { display:grid; grid-template-columns:1fr 1fr; gap:9vw; align-items:start; }
.editorial-split h2,.process-intro h2,.project-editorial h2,.company-profile h2,.planning-answers h2,.contact-map-section h2 { font-size:clamp(48px,5.2vw,76px); }
.editorial-copy { padding-top:38px; }
.editorial-copy p,.project-editorial>p,.contact-map-section>div>p { color:var(--muted); font-size:13px; line-height:1.9; }
.editorial-copy .lead { color:var(--ink); font:500 25px/1.45 "Cormorant Garamond",serif; }
.editorial-copy .text-link { display:inline-block; margin-top:25px; }
.values-section,.contact-methods { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.values-section article,.contact-methods article { min-height:340px; padding:35px; display:flex; flex-direction:column; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--cream); transition:.25s; }
.values-section article:hover,.contact-methods article:hover { color:white; background:var(--ink); transform:translateY(-5px); }
.values-section .line-icon,.contact-methods .line-icon { width:38px; height:38px; }
.values-section small,.contact-methods small { margin:40px 0 auto; color:var(--copper); font-size:8px; letter-spacing:.13em; }
.values-section h2,.contact-methods h2 { margin:20px 0 12px; font-size:31px; }
.values-section p,.contact-methods p { margin:0; color:var(--muted); font-size:11px; line-height:1.75; }
.values-section article:hover p,.contact-methods article:hover p { color:#afb2ad; }
.company-profile { display:grid; grid-template-columns:1.1fr .9fr; gap:8vw; align-items:center; background:#ebe3d7; }
.company-profile figure { margin:0; overflow:hidden; box-shadow:0 35px 80px rgba(40,31,24,.14); }
.company-profile figure img { display:block; width:100%; min-height:500px; object-fit:cover; }
.company-profile dl { margin:35px 0 0; border-top:1px solid #cfc3b4; }
.company-profile dl div { display:grid; grid-template-columns:130px 1fr; gap:20px; padding:17px 0; border-bottom:1px solid #cfc3b4; }
.company-profile dt { color:#8e877e; font-size:8px; letter-spacing:.1em; text-transform:uppercase; }
.company-profile dd { margin:0; font-size:11px; line-height:1.6; }

.free-start-list { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); }
.free-start-list article { min-height:235px; padding:25px; display:flex; flex-direction:column; border-right:1px solid var(--line); }
.free-start-list article:last-child { border-right:0; }
.free-start-list .line-icon { width:34px; height:34px; }
.free-start-list b { margin-top:auto; font:500 24px "Cormorant Garamond",serif; }
.free-start-list p { color:var(--muted); font-size:10px; line-height:1.7; }
.timeline-section { padding:0 7vw 110px; }
.timeline-section ol { margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
.timeline-section li { min-height:210px; display:grid; grid-template-columns:100px minmax(0,1fr) 70px; gap:5vw; align-items:center; padding:35px 3vw; border-bottom:1px solid var(--line); transition:.25s; }
.timeline-section li:hover { background:white; box-shadow:0 20px 55px rgba(40,32,24,.08); transform:translateX(6px); }
.timeline-number { color:#c7beb1; font:500 55px "Cormorant Garamond",serif; }
.timeline-section small { color:var(--copper); font-size:8px; letter-spacing:.16em; }
.timeline-section h2 { margin:9px 0; font-size:35px; }
.timeline-section p { max-width:750px; margin:0; color:var(--muted); font-size:11px; line-height:1.75; }
.timeline-section .line-icon { width:45px; height:45px; justify-self:end; }
.planning-answers { background:#e8dfd2; }
.planning-answers>div:first-child { margin-bottom:50px; }
.answer-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #c9bdad; border-left:1px solid #c9bdad; }
.answer-grid article { min-height:240px; padding:27px; border-right:1px solid #c9bdad; border-bottom:1px solid #c9bdad; }
.answer-grid b { color:var(--copper); font-size:8px; }
.answer-grid h3 { margin:55px 0 12px; font:500 26px "Cormorant Garamond",serif; }
.answer-grid p { color:var(--muted); font-size:10px; line-height:1.7; }

.project-editorial>p { padding-top:45px; }
.project-stories { padding:0 5vw 110px; display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.project-stories article { min-height:610px; display:grid; grid-template-rows:1fr auto; overflow:hidden; background:#eee7dc; }
.project-stories .story-wide { grid-column:1/-1; min-height:560px; grid-template-columns:1.55fr .65fr; grid-template-rows:1fr; }
.project-stories .story-wide.reverse { grid-template-columns:.65fr 1.55fr; }
.project-stories .story-wide.reverse figure { grid-column:2; grid-row:1; }
.project-stories figure { margin:0; overflow:hidden; }
.project-stories img { display:block; width:100%; height:100%; min-height:380px; object-fit:cover; transition:transform .65s ease; }
.project-stories article:hover img { transform:scale(1.025); }
.project-stories article>div { padding:28px 32px 32px; }
.project-stories small { color:var(--copper); font-size:8px; letter-spacing:.15em; }
.project-stories h2 { margin:18px 0 12px; font-size:36px; }
.project-stories p { color:var(--muted); font-size:11px; line-height:1.75; }
.project-stories a,.contact-methods a { margin-top:15px; display:inline-block; color:var(--copper); font-size:8px; font-weight:750; letter-spacing:.11em; text-transform:uppercase; }
.project-disclaimer { padding:35px 7vw; display:flex; align-items:center; gap:25px; color:#c8cbc5; background:#1a1d1b; }
.project-disclaimer .line-icon { width:36px; height:36px; }
.project-disclaimer p { margin:0; max-width:1000px; font-size:10px; line-height:1.7; }

.contact-page-hero { position:relative; min-height:700px; padding:170px 7vw 80px; display:grid; grid-template-columns:1fr 360px; gap:8vw; align-items:center; color:white; background:linear-gradient(105deg,rgba(16,19,17,.97),rgba(24,29,25,.91)),url('../images/hero-construction.webp') center/cover; }
.contact-hero-copy { max-width:850px; }
.contact-location-card { padding:35px; color:var(--ink); background:rgba(250,247,241,.97); box-shadow:0 30px 90px rgba(0,0,0,.3); }
.contact-location-card .line-icon { width:42px; height:42px; }
.contact-location-card small { display:block; margin:35px 0 12px; color:var(--copper); font-size:8px; letter-spacing:.15em; }
.contact-location-card strong { display:block; font:500 28px/1.35 "Cormorant Garamond",serif; }
.contact-location-card a { display:inline-block; margin-top:30px; padding-bottom:5px; border-bottom:1px solid currentColor; color:var(--copper); font-size:8px; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
.contact-methods { grid-template-columns:repeat(3,1fr); }
.contact-page-form { scroll-margin-top:70px; }
.contact-map-section { display:grid; grid-template-columns:.75fr 1.25fr; gap:8vw; align-items:center; }

.legal-page { padding:0; background:var(--cream); }
.legal-header { min-height:92px; padding:18px 6vw; display:flex; align-items:center; justify-content:space-between; color:white; background:var(--ink); border-bottom:1px solid #353936; }
.legal-layout { width:min(1280px,88vw); margin:0 auto; padding:100px 0 130px; display:grid; grid-template-columns:230px minmax(0,760px); gap:9vw; }
.legal-layout aside { position:sticky; top:100px; align-self:start; display:flex; flex-direction:column; gap:22px; }
.legal-layout aside p { margin:25px 0 0; color:var(--copper); font-size:8px; font-weight:750; letter-spacing:.18em; }
.legal-layout aside span { color:#969189; font-size:9px; }
.legal-content h1 { margin:24px 0 60px; font-size:clamp(60px,8vw,100px); }
.legal-content section { padding:42px 0; border-top:1px solid var(--line); }
.legal-content h2 { margin:0 0 23px; font-size:34px; }
.legal-content p { max-width:760px; margin:0 0 18px; color:var(--muted); font-size:12px; line-height:1.9; }
.legal-content p a { color:var(--copper); text-decoration:underline; text-underline-offset:3px; }
.legal-note { margin-bottom:55px; padding:25px 28px; border-left:3px solid var(--copper); background:#ece3d7; }
.legal-note strong { display:block; margin-bottom:9px; color:var(--copper); font-size:8px; letter-spacing:.14em; text-transform:uppercase; }
.legal-note p { margin:0; color:var(--ink); }
.legal-data { margin:0; }
.legal-data>div { display:grid; grid-template-columns:210px 1fr; gap:25px; padding:15px 0; border-bottom:1px solid var(--line); }
.legal-data dt { color:#8c877f; font-size:8px; letter-spacing:.1em; text-transform:uppercase; }
.legal-data dd { margin:0; font-size:11px; line-height:1.65; }
.legal-map-link { display:inline-block; font-weight:750; }
.legal-footer { padding:28px 6vw; display:flex; justify-content:space-between; color:#afb2ad; background:#111412; font-size:9px; letter-spacing:.08em; }
.legal-footer a { color:#d58760; }

section:not(:first-of-type) { content-visibility:auto; contain-intrinsic-size:auto 700px; }

@media(max-width:1050px){
  .content-hero{min-height:650px}.values-section{grid-template-columns:1fr 1fr}.company-profile{grid-template-columns:1fr}.company-profile figure img{min-height:420px}.process-intro{grid-template-columns:1fr}.project-stories .story-wide,.project-stories .story-wide.reverse{grid-template-columns:1fr 1fr}.contact-page-hero{grid-template-columns:1fr}.contact-location-card{display:none}.legal-layout{grid-template-columns:180px minmax(0,1fr);gap:6vw}
}
@media(max-width:760px){
  .rgb-brand img{width:52px;height:42px}.rgb-brand b{font-size:18px}.rgb-brand small{max-width:140px;font-size:6px}.content-hero{min-height:650px;padding:125px 24px 70px}.content-hero-copy{width:100%}.content-hero h1,.contact-page-hero h1{font-size:52px}.editorial-split,.project-editorial,.contact-map-section{grid-template-columns:1fr;gap:20px}.editorial-copy,.project-editorial>p{padding-top:0}.values-section,.contact-methods{grid-template-columns:1fr}.values-section article,.contact-methods article{min-height:260px}.values-section small,.contact-methods small{margin-top:28px}.company-profile{padding:80px 24px}.company-profile figure img{min-height:300px}.company-profile dl div{grid-template-columns:105px 1fr}.free-start-list{grid-template-columns:1fr}.free-start-list article{min-height:180px;border-right:0;border-bottom:1px solid var(--line)}.timeline-section{padding:0 24px 80px}.timeline-section li{grid-template-columns:60px 1fr;padding:30px 0;gap:20px}.timeline-section .line-icon{display:none}.timeline-number{font-size:42px}.timeline-section h2{font-size:28px}.answer-grid{grid-template-columns:1fr 1fr}.project-stories{padding:0 24px 80px;grid-template-columns:1fr}.project-stories .story-wide,.project-stories .story-wide.reverse{grid-column:auto;min-height:550px;grid-template-columns:1fr;grid-template-rows:1fr auto}.project-stories .story-wide.reverse figure{grid-column:1;grid-row:1}.project-stories article{min-height:550px}.project-stories img{min-height:330px}.project-disclaimer{padding:28px 24px}.contact-page-hero{min-height:680px;padding:125px 24px 70px}.contact-methods article{padding:28px}.contact-map-section .google-map{margin-top:30px}.legal-header{min-height:78px;padding:13px 24px}.legal-header .header-cta{display:none}.legal-layout{width:auto;margin:0;padding:70px 24px 100px;display:block}.legal-layout aside{position:static;margin-bottom:60px}.legal-content h1{margin-bottom:45px}.legal-data>div{grid-template-columns:1fr;gap:8px}.legal-footer{padding:25px 24px;gap:25px}.css-service-wheel{width:250px}.css-service-wheel strong{font-size:48px}.css-performance>span{grid-template-columns:78px 1fr 18px}.standards-grid .line-icon{margin-bottom:35px}
}

/* Alignment, layering & small-screen hardening v9 */
main,section,header,footer,nav,div,article,aside,figure,form,fieldset { min-width:0; }
h1,h2,h3,p,li,dt,dd,a,span,strong { overflow-wrap:break-word; }
.hero,.content-hero,.detail-hero,.contact-page-hero,.coordination-section { isolation:isolate; }
.hero-content,.content-hero-copy,.detail-hero-copy,.detail-free-card,.contact-hero-copy,.contact-location-card { position:relative; z-index:3; }
.hero-consult,.hero-proof { position:absolute; z-index:3; }
.site-header { gap:clamp(16px,2.2vw,38px); padding-inline:clamp(24px,4.5vw,72px); }
.site-header>* { flex:0 0 auto; }
.main-nav { flex:1 1 auto; min-width:0; justify-content:center; gap:clamp(16px,2.2vw,34px); }
.rgb-brand { flex:0 0 auto; gap:9px; }
.rgb-brand img { display:block; flex:0 0 66px; width:66px; height:50px; filter:drop-shadow(0 4px 10px rgba(0,0,0,.18)); }
.rgb-brand b { max-width:155px; font-size:12px; line-height:1.15; letter-spacing:.13em; white-space:nowrap; }
.rgb-brand small { max-width:155px; font-size:6.5px; letter-spacing:.2em; }
.hero { min-height:880px; }
.hero-content { width:min(680px,54vw); }
.hero-content h1 { max-width:760px; text-wrap:balance; }
.hero-copy { max-width:600px; }
.hero-proof { left:auto; right:calc(clamp(24px,5vw,90px) + 230px); bottom:42px; max-width:calc(100% - 14vw); }
.hero-proof div { min-width:0; }
.project-copy { grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr); grid-template-rows:auto auto auto auto; column-gap:7vw; align-items:start; }
.project-copy>.eyebrow { grid-column:1; grid-row:1; }
.project-copy>h2 { grid-column:1; grid-row:2/5; margin-bottom:0; }
.project-copy>p:not(.eyebrow) { grid-column:2; grid-row:1/3; margin-top:30px; }
.project-copy>.project-filters { grid-column:2; grid-row:3; align-self:start; }
.project-copy>.text-link { grid-column:2; grid-row:4; align-self:end; margin-top:25px; }
.project-card:after { z-index:1; }
.project-label,.project-number { z-index:2; }
.project-label { padding-top:38px; text-shadow:0 2px 12px rgba(0,0,0,.6); }
.material-image:after { z-index:1; }
.material-image figcaption { z-index:2; }
.contact-section>* { position:relative; z-index:1; }
.contact-form,.success-message { width:100%; }
.footer-grid { align-items:start; }
.footer-bottom { flex-wrap:wrap; row-gap:14px; }
.whatsapp-float { position:fixed; z-index:36; right:22px; bottom:104px; width:210px; min-height:58px; padding:13px 18px; display:grid; grid-template-columns:30px 1fr; column-gap:11px; align-items:center; color:white; background:#128c4a; border:1px solid rgba(255,255,255,.18); box-shadow:0 18px 50px rgba(4,55,27,.28); transition:transform .25s,background .25s; }
.whatsapp-float:hover { background:#0d733c; transform:translateY(-4px); }
.whatsapp-float .line-icon { grid-row:1/3; width:27px; height:27px; color:white; }
.whatsapp-float b { font-size:9px; letter-spacing:.1em; text-transform:uppercase; }
.whatsapp-float small { color:#d5f3e1; font-size:7px; }

@media(max-width:1200px){
  .hero-content{width:min(760px,84vw)}
  .hero-proof{display:none}
  .project-copy{grid-template-columns:1fr 1fr}
}
@media(max-width:960px){
  .utility-bar{display:none}
  .site-header{top:0;height:82px}
  .site-header.scrolled{height:70px}
  .main-nav{display:none;position:absolute;top:82px;left:0;right:0;max-height:calc(100vh - 82px);overflow:auto;padding:24px clamp(24px,6vw,60px) 30px;flex-direction:column;align-items:flex-start;gap:0;color:white;background:rgba(17,20,18,.985);border-top:1px solid rgba(255,255,255,.12);box-shadow:0 24px 45px rgba(0,0,0,.2)}
  .site-header.scrolled .main-nav{top:70px}
  .main-nav.open{display:flex}
  .main-nav a{width:100%;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.1)}
  .main-nav a:after{display:none}
  .header-cta{display:none}
  .menu-button{display:block;margin-left:auto}
  .hero-content{width:min(760px,86vw)}
  .project-copy{display:block}
  .project-copy>p:not(.eyebrow){max-width:650px;margin-top:20px}
  .project-copy>.text-link{display:inline-block}
  .reviews-head{grid-template-columns:1fr}
  .reviews-head .eyebrow{grid-column:1}
  .contact-section{gap:55px}
}
@media(max-width:760px){
  .site-header{height:72px;padding-inline:18px}
  .site-header.scrolled{height:66px}
  .site-header .main-nav{top:72px}
  .site-header.scrolled .main-nav{top:66px}
  .rgb-brand{gap:7px}
  .rgb-brand img{flex-basis:52px;width:52px;height:42px}
  .rgb-brand b{max-width:135px;font-size:10.5px;letter-spacing:.1em}
  .rgb-brand small{font-size:5.5px}
  .hero{min-height:900px}
  .hero-content{width:100%;padding:128px 22px 285px}
  .hero h1{font-size:clamp(44px,14vw,56px);line-height:.96}
  .hero-copy{font-size:13px;line-height:1.7}
  .hero-actions{width:100%}
  .hero-actions .button{width:100%}
  .hero-mini-proof{font-size:8px}
  .hero-proof{display:none}
  .section{padding-inline:22px}
  .project-copy h2{font-size:46px}
  .project-card{min-height:390px}
  .project-label{left:20px;right:20px;bottom:20px}
  .content-hero,.contact-page-hero{padding-left:22px;padding-right:22px}
  .content-hero h1,.contact-page-hero h1{font-size:clamp(44px,13vw,54px)}
  .timeline-section{padding-left:22px;padding-right:22px}
  .project-stories{padding-left:22px;padding-right:22px}
  .contact-section{padding-left:22px;padding-right:22px}
  .contact-form{padding:26px 18px}
  .google-map iframe{height:340px}
  .whatsapp-float,.planning-float{display:none}
  .mobile-actions{grid-template-columns:.8fr 1.2fr}
  .footer-grid{padding-left:22px;padding-right:22px}
  .footer-bottom{padding-left:22px;padding-right:22px}
}
@media(max-width:480px){
  body{min-width:320px}
  .site-header{padding-inline:14px}
  .rgb-brand img{flex-basis:46px;width:46px;height:38px}
  .rgb-brand b{max-width:122px;font-size:9px;letter-spacing:.08em}
  .rgb-brand small{font-size:5px}
  .menu-button{padding:7px}
  .hero-content{padding-left:18px;padding-right:18px}
  .hero h1{font-size:clamp(40px,13.5vw,49px)}
  .hero-proof{left:18px;right:18px}
  .hero-proof strong{font-size:22px}
  .hero-proof span{font-size:6px}
  .section{padding-left:18px;padding-right:18px}
  .section-head h2,.projects-section h2,.contact-section h2{font-size:43px}
  .answer-grid{grid-template-columns:1fr}
  .project-stories{padding-left:18px;padding-right:18px}
  .project-stories article,.project-stories .story-wide,.project-stories .story-wide.reverse{min-height:510px}
  .project-stories img{min-height:285px}
  .contact-section{padding-left:18px;padding-right:18px}
  .contact-form{padding:24px 16px}
  .trade-grid{grid-template-columns:1fr}
  .wizard-actions{gap:8px}
  .wizard-next,.wizard-actions .submit{min-width:130px}
  .legal-layout{padding-left:18px;padding-right:18px}
  .legal-content h1{font-size:56px}
  .legal-footer{flex-wrap:wrap}
  .footer-grid{padding-left:18px;padding-right:18px}
  .footer-bottom{padding-left:18px;padding-right:18px}
}
@media(min-width:961px) and (max-height:760px){
  .hero{min-height:900px}
}
@media(min-width:1201px) and (max-height:820px){
  .hero-consult,.hero-proof{display:none}
  .hero-content{width:min(760px,70vw)}
}

/* Customer feedback system v10 */
.customer-voice-section{position:relative;display:grid;grid-template-columns:minmax(0,.95fr) minmax(520px,1.05fr);gap:clamp(55px,8vw,120px);align-items:center;padding-top:125px;padding-bottom:125px;color:#fff;background:
  radial-gradient(circle at 14% 18%,rgba(190,101,53,.19),transparent 31%),
  linear-gradient(135deg,#151817 0%,#202522 62%,#171918 100%);overflow:hidden}
.customer-voice-section:before{content:"RGB";position:absolute;right:-.04em;bottom:-.27em;color:rgba(255,255,255,.025);font:700 clamp(210px,27vw,430px)/1 Manrope,sans-serif;letter-spacing:-.08em;pointer-events:none}
.customer-voice-section:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(90deg,#000,transparent 82%);pointer-events:none}
.customer-voice-section>*{position:relative;z-index:1}
.customer-voice-intro h2{margin:0;font-size:clamp(50px,5.2vw,80px);line-height:.98;text-wrap:balance}
.customer-voice-intro h2 em{color:#d48251;font-weight:400}
.customer-voice-intro>p:not(.eyebrow){max-width:650px;margin:30px 0 0;color:#c7cec9;font-size:14px;line-height:1.85}
.feedback-orbit{position:relative;width:min(100%,470px);aspect-ratio:1;margin:52px 0 42px;border:1px solid rgba(255,255,255,.13);border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.055) 0 1px,transparent 2px),radial-gradient(circle,rgba(190,101,53,.16),transparent 58%);box-shadow:inset 0 0 0 46px rgba(255,255,255,.012)}
.feedback-orbit:before,.feedback-orbit:after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.feedback-orbit:before{inset:13%;border:1px dashed rgba(212,130,81,.45);animation:orbit-spin 38s linear infinite}
.feedback-orbit:after{inset:30%;border:1px solid rgba(255,255,255,.16)}
.orbit-core{position:absolute;z-index:2;inset:35%;display:grid;place-content:center;text-align:center;border-radius:50%;background:#f3eee5;color:#191c1a;box-shadow:0 24px 65px rgba(0,0,0,.36),0 0 0 10px rgba(255,255,255,.035)}
.orbit-core strong{font:500 clamp(42px,5vw,67px)/.8 "Cormorant Garamond",Georgia,serif;color:#b45f35}
.orbit-core span{margin-top:12px;font-size:7px;font-weight:800;line-height:1.45;letter-spacing:.19em}
.orbit-item{position:absolute;z-index:3;padding:9px 13px;color:#f8f5ef;background:rgba(22,25,23,.88);border:1px solid rgba(255,255,255,.16);box-shadow:0 10px 28px rgba(0,0,0,.2);font-size:8px;font-weight:750;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.orbit-one{left:50%;top:-15px;transform:translateX(-50%)}.orbit-two{right:-26px;top:28%}.orbit-three{right:2%;bottom:6%}.orbit-four{left:0;bottom:7%}.orbit-five{left:-24px;top:29%}
@keyframes orbit-spin{to{transform:rotate(360deg)}}
.feedback-links{display:grid;grid-template-columns:1.2fr 1fr;gap:12px;max-width:690px}
.feedback-links a{position:relative;min-height:86px;padding:18px 18px;display:grid;align-items:center;color:white;border:1px solid rgba(255,255,255,.15);transition:transform .25s,border-color .25s,background .25s}
.feedback-links a:hover{transform:translateY(-4px);border-color:rgba(212,130,81,.7);background:rgba(255,255,255,.045)}
.feedback-links small{color:#b6bdb8;font-size:6.5px;letter-spacing:.16em}
.feedback-links b{display:block;margin-top:6px;font-size:10px;letter-spacing:.03em}
.feedback-links i{position:absolute;right:16px;top:16px;color:#d48251;font-style:normal}
.google-review-link{grid-template-columns:34px 1fr;gap:13px}
.google-g{font:700 25px/1 Arial,sans-serif;color:#fff}
.review-form-panel{padding:clamp(30px,4.5vw,64px);color:#181b19;background:#f3eee5;border-top:4px solid #b45f35;box-shadow:0 45px 100px rgba(0,0,0,.34)}
.review-panel-head{display:flex;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid #d6cec2}
.review-panel-head span,.review-panel-head small{font-size:7px;font-weight:800;letter-spacing:.15em}.review-panel-head small{color:#8b8174}
.review-form-panel>h3{max-width:650px;margin:30px 0 12px;font:500 clamp(31px,3vw,47px)/1.08 "Cormorant Garamond",Georgia,serif}
.review-form-panel>p{max-width:600px;margin:0 0 30px;color:#6e716d;font-size:12px;line-height:1.75}
.review-form{display:grid;gap:18px}
.review-form>label:not(.privacy):not(.review-publish):not(.website-field),.review-form .form-row>label{display:grid;gap:8px;color:#373a37;font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.review-form input:not([type=radio]):not([type=checkbox]),.review-form select,.review-form textarea{width:100%;min-height:50px;padding:13px 14px;color:#171918;background:#faf8f4;border:1px solid #cec4b7;border-radius:0;font:500 12px/1.5 Manrope,sans-serif;outline:none;transition:border-color .2s,box-shadow .2s}
.review-form textarea{min-height:126px;resize:vertical}
.review-form input:focus,.review-form select:focus,.review-form textarea:focus{border-color:#b45f35;box-shadow:0 0 0 3px rgba(180,95,53,.11)}
.review-form .form-row{gap:12px}
.star-rating{padding:18px 20px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 20px;border:1px solid #cec4b7;background:#ebe4d9}
.star-rating legend{padding:0;font-size:8px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.star-options{grid-column:2;grid-row:1/3;display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:5px}
.star-options input{position:absolute;opacity:0;pointer-events:none}
.star-options label{cursor:pointer;color:#b7ad9f;font:34px/1 Georgia,serif;transition:color .15s,transform .15s}
.star-options label:hover,.star-options label:hover~label,.star-options input:checked~label{color:#c46f3f;transform:translateY(-2px)}
.star-options input:focus-visible+label{outline:2px solid #b45f35;outline-offset:3px}
.star-rating>small{grid-column:1;color:#80776c;font-size:7px;letter-spacing:.08em}
.field-hint{color:#8a8177;font-size:7px;font-weight:500;letter-spacing:0;text-transform:none}
.review-form .privacy,.review-publish{display:flex;gap:11px;align-items:flex-start;color:#5e615e;font-size:8px;line-height:1.55}
.review-form .privacy input,.review-publish input{flex:0 0 auto;margin-top:2px;accent-color:#b45f35}
.review-form .privacy a{color:#a6522d;text-decoration:underline}
.review-publish{padding:14px 16px;background:#e7dfd3;border-left:3px solid #c87849}
.review-submit{width:100%;justify-content:center;border:0}
.review-success{min-height:560px;place-content:center;text-align:center}.review-success:not([hidden]){display:grid}
.review-success>span{width:68px;height:68px;margin:0 auto 24px;display:grid;place-items:center;border-radius:50%;color:white;background:#b45f35;font-size:28px}
.review-success h3{margin:0;font:500 clamp(34px,4vw,50px)/1.1 "Cormorant Garamond",Georgia,serif}.review-success p{color:#6e716d;line-height:1.7}
.review-success button{margin:14px auto 0;padding:12px 18px;color:#a6522d;background:transparent;border:1px solid #b45f35;font-size:8px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}

@media(prefers-reduced-motion:reduce){.feedback-orbit:before{animation:none}}
@media(max-width:1100px){
  .customer-voice-section{grid-template-columns:1fr;padding-top:100px;padding-bottom:100px}
  .customer-voice-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.85fr);column-gap:55px;align-items:start}
  .customer-voice-intro>.eyebrow,.customer-voice-intro>h2,.customer-voice-intro>p{grid-column:1}
  .feedback-orbit{grid-column:2;grid-row:1/5;margin:15px auto 35px}
  .feedback-links{grid-column:1/-1;width:100%;max-width:none}
}
@media(max-width:760px){
  .customer-voice-section{display:block;padding:88px 22px}
  .customer-voice-intro{display:block}
  .customer-voice-intro h2{font-size:clamp(45px,13vw,57px)}
  .feedback-orbit{width:min(88vw,400px);margin:55px auto 48px}
  .feedback-links{grid-template-columns:1fr}
  .review-form-panel{margin-top:58px;padding:31px 20px}
  .review-form-panel>h3{font-size:37px}
  .star-rating{grid-template-columns:1fr;padding:17px 14px}
  .star-options{grid-column:1;grid-row:auto;margin-top:11px;justify-content:flex-end}
  .star-rating>small{grid-column:1}
  .review-success{min-height:440px}
}
@media(max-width:430px){
  .customer-voice-section{padding-left:18px;padding-right:18px}
  .feedback-orbit{width:calc(100vw - 76px);margin-top:58px}
  .orbit-item{padding:7px 9px;font-size:6.5px}
  .orbit-one{top:-12px}.orbit-two{right:-22px}.orbit-three{right:-2px}.orbit-four{left:-2px}.orbit-five{left:-22px}
  .orbit-core strong{font-size:43px}.orbit-core span{font-size:5.5px}
  .review-form-panel{margin-left:0;margin-right:0;padding:27px 15px}
  .review-panel-head{gap:9px}.review-panel-head span,.review-panel-head small{font-size:6px}
  .star-options label{font-size:31px}
}

/* Contact, alignment and conversion polish v11 */
.utility-phone{color:#fff!important;font-weight:800;letter-spacing:.12em}
.utility-phone:before{content:"TEL · ";color:#d68a62}
.location-card a{display:inline-flex;width:max-content;max-width:100%;margin-top:5px;color:var(--copper);font-size:9px;font-style:normal;font-weight:800;letter-spacing:.05em}
.contact-details{align-items:flex-start}
.contact-details strong{max-width:100%;text-wrap:balance}
.contact-details .contact-phone,.contact-details .contact-whatsapp{display:inline-flex;align-items:center;min-height:38px;padding:9px 13px;border:1px solid rgba(255,255,255,.17);font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.contact-details .contact-phone:hover{color:#fff;border-color:#d68a62;background:rgba(214,138,98,.12)}
.contact-details .contact-whatsapp{color:#ddf7e7;border-color:rgba(58,193,108,.48);background:rgba(18,140,74,.18)}
.contact-details .contact-whatsapp:hover{color:#fff;background:#128c4a;border-color:#128c4a}
.contact-location-card strong{overflow-wrap:anywhere;text-wrap:balance}
.contact-location-card .contact-card-phone,.contact-location-card .contact-card-whatsapp{display:block;width:max-content;max-width:100%;margin-top:18px}
.contact-location-card .contact-card-phone{color:var(--ink);font-size:13px;letter-spacing:.04em}
.contact-location-card .contact-card-whatsapp{margin-top:12px;padding:10px 13px;color:#fff;background:#128c4a;border:0}
.contact-location-card .contact-card-whatsapp:hover{background:#0d733c}
.company-profile dd a{color:var(--copper);font-weight:800}
.profile-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:28px}
.profile-actions a{margin:0}
.profile-actions .profile-whatsapp{padding:12px 15px;color:#fff;background:#128c4a;font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.profile-actions .profile-whatsapp:hover{background:#0d733c}
.contact-methods .method-whatsapp{position:relative;overflow:hidden}
.contact-methods .method-whatsapp:after{content:"";position:absolute;right:-48px;top:-48px;width:135px;height:135px;border:1px solid rgba(18,140,74,.24);border-radius:50%;box-shadow:0 0 0 23px rgba(18,140,74,.055);pointer-events:none}
.contact-methods .method-whatsapp:hover{background:#0e6f3b}
.contact-methods .method-whatsapp:hover a,.contact-methods .method-whatsapp:hover small{color:#dff7e8}
.footer-contact strong{max-width:100%;overflow-wrap:anywhere}
.footer-contact .footer-phone{margin-top:-4px;color:#fff;font-size:12px;font-weight:800;letter-spacing:.025em}
.footer-contact .footer-phone:hover{color:#d68a62}
.whatsapp-float{isolation:isolate;overflow:hidden;border-radius:3px}
.whatsapp-float:before{content:"";position:absolute;z-index:-1;inset:-100% auto -100% -45%;width:46%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent);transform:rotate(20deg);transition:transform .7s ease}
.whatsapp-float:hover:before{transform:translateX(430%) rotate(20deg)}
.whatsapp-float b,.whatsapp-float small{min-width:0;overflow-wrap:normal}

@media(max-width:760px){
  body{padding-bottom:64px}
  .mobile-actions{height:64px;grid-template-columns:.82fr 1.08fr 1fr;background:#f3eee5}
  .mobile-actions a{min-width:0;padding:4px 6px;border-right:1px solid rgba(0,0,0,.09);font-size:8px;line-height:1.2;letter-spacing:.075em;text-align:center;white-space:nowrap}
  .mobile-actions a:last-child{border-right:0}
  .mobile-actions .mobile-call{background:#f3eee5;color:var(--ink)}
  .mobile-actions .mobile-whatsapp{background:#128c4a;color:#fff}
  .mobile-actions .mobile-request{background:var(--copper);color:#fff}
  .contact-methods article{min-height:245px}
}
@media(max-width:380px){
  .mobile-actions a{font-size:7px;letter-spacing:.045em}
}

/* Responsive customer story carousel v12 */
.story-slider-section{position:relative;padding-top:125px;padding-bottom:125px;background:#eee8dd;overflow:hidden}
.story-slider-section:before{content:"“";position:absolute;right:2vw;top:-.24em;color:rgba(180,95,53,.065);font:500 clamp(260px,31vw,520px)/1 "Cormorant Garamond",Georgia,serif;pointer-events:none}
.story-slider-head{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.72fr) auto;gap:clamp(28px,5vw,78px);align-items:end;margin-bottom:58px}
.story-slider-head h2{max-width:760px;margin:0;font-size:clamp(52px,5.4vw,84px);line-height:.97;text-wrap:balance}
.story-slider-head h2 em{color:var(--copper);font-weight:400}
.story-slider-head>p{max-width:520px;margin:0;color:var(--muted);font-size:13px;line-height:1.85}
.story-slider-controls{display:flex;align-items:center;gap:14px;justify-self:end}
.story-slider-controls button{width:50px;height:50px;display:grid;place-items:center;border:1px solid #bdb3a5;color:var(--ink);background:rgba(250,247,241,.55);font-size:18px;cursor:pointer;transition:color .2s,background .2s,border-color .2s,transform .2s}
.story-slider-controls button:hover,.story-slider-controls button:focus-visible{color:#fff;background:var(--copper);border-color:var(--copper);transform:translateY(-2px);outline:none}
.story-slider-controls p{width:84px;margin:0;display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;color:#8b857b;font-size:9px;letter-spacing:.08em}
.story-slider-controls strong{color:var(--copper);font-size:12px}.story-slider-controls i{height:1px;background:#bdb3a5}
.story-viewport{position:relative;z-index:1;width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scrollbar-width:none;outline:none}
.story-viewport::-webkit-scrollbar{display:none}
.story-viewport:focus-visible{box-shadow:0 0 0 3px rgba(180,95,53,.2)}
.story-track{--story-gap:16px;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--story-gap) * 2))/3);gap:var(--story-gap)}
.story-card{position:relative;min-height:390px;padding:31px;display:flex;flex-direction:column;scroll-snap-align:start;color:var(--ink);background:rgba(250,247,241,.82);border:1px solid #d1c7b9;transition:transform .3s,border-color .3s,box-shadow .3s}
.story-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--copper);transform:scaleY(0);transform-origin:bottom;transition:transform .35s}
.story-card:hover{transform:translateY(-7px);border-color:#c1ab99;box-shadow:0 26px 55px rgba(35,30,25,.1)}
.story-card:hover:before{transform:scaleY(1)}
.story-card-top{display:flex;justify-content:space-between;gap:16px;align-items:center;padding-bottom:22px;border-bottom:1px solid #d9d0c4}
.story-card-top span{color:#7e786f;font-size:7px;font-weight:800;letter-spacing:.14em}
.story-card-top b{flex:0 0 auto;color:var(--copper);font-size:10px;letter-spacing:.11em}
.story-card blockquote{margin:38px 0 34px;color:#292c29;font:500 clamp(21px,1.55vw,27px)/1.46 "Cormorant Garamond",Georgia,serif;text-wrap:pretty}
.story-card footer{margin-top:auto;padding:23px 0 0;display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:13px;align-items:center;color:var(--ink);background:transparent;border-top:1px solid #d9d0c4}
.story-card footer>span{width:44px;height:44px;display:grid;place-items:center;color:#fff;background:var(--ink);font-size:9px;font-weight:800;letter-spacing:.08em}
.story-card footer p{margin:0;display:grid;gap:4px}.story-card footer strong{font-size:10px}.story-card footer small{color:#888278;font-size:7px;letter-spacing:.05em}
.story-card footer i{align-self:end;color:#c5bbad;font:italic 32px/1 "Cormorant Garamond",Georgia,serif}
.story-progress{position:relative;z-index:1;height:2px;margin-top:30px;background:#d3c9bb;overflow:hidden}
.story-progress i{display:block;width:calc(100% / 7);height:100%;background:var(--copper);transform:translateX(0);transition:transform .45s ease}
@media(max-width:1599px){.hero-proof{display:none}}
@media(max-width:1180px){
  .story-slider-head{grid-template-columns:1fr minmax(250px,.7fr)}
  .story-slider-controls{grid-column:1/-1;justify-self:start}
  .story-track{grid-auto-columns:calc((100% - var(--story-gap))/2)}
}
@media(max-width:760px){
  .story-slider-section{padding:88px 22px}
  .story-slider-head{display:block;margin-bottom:38px}
  .story-slider-head h2{font-size:clamp(45px,13vw,57px)}
  .story-slider-head>p{margin-top:24px;font-size:12px}
  .story-slider-controls{margin-top:28px;justify-content:flex-start}
  .story-slider-controls button{width:46px;height:46px}
  .story-track{--story-gap:12px;grid-auto-columns:100%}
  .story-card{min-height:365px;padding:25px 22px}
  .story-card blockquote{margin:31px 0;font-size:24px;line-height:1.43}
}
@media(max-width:390px){
  .story-slider-section{padding-left:18px;padding-right:18px}
  .story-card{min-height:390px;padding:22px 18px}
  .story-card-top{gap:9px}.story-card-top span{font-size:6px}.story-card blockquote{font-size:22px}
}
@media(prefers-reduced-motion:reduce){
  .story-viewport{scroll-behavior:auto}.story-card,.story-progress i{transition:none}
}
