@font-face{font-family:'Bebas Neue';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/bebas-neue-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:400 600;font-display:swap;src:url(../fonts/instrument-sans-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
:root{
  --ink:#231f20; --ink-2:#2e2829; --bronze:#a47d58; --bronze-deep:#7a5a3c;
  --paper:#eeece8; --paper-2:#e4e0d9; --white:#faf9f6; --muted:#5f5856;
  --bg:var(--paper); --fg:var(--ink); --line:rgba(35,31,32,.14);
  --display:"Bebas Neue",Impact,"Arial Narrow",sans-serif;
  --body:"Instrument Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --wrap:min(1200px,100% - 2.5rem);
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){--paper:#1c1919;--paper-2:#262122;--white:#2a2425;--muted:#b3aaa5;--bg:#1c1919;--fg:#eeece8;--line:rgba(238,236,232,.14);--bronze-deep:#c49c75;color-scheme:dark}
}
:root[data-theme="dark"]{--paper:#1c1919;--paper-2:#262122;--white:#2a2425;--muted:#b3aaa5;--bg:#1c1919;--fg:#eeece8;--line:rgba(238,236,232,.14);--bronze-deep:#c49c75;color-scheme:dark}
*,*::before,*::after{box-sizing:inherit;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 5rem)}
body{background:var(--bg);color:var(--fg);font:400 1.0625rem/1.6 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block;height:auto}
a{color:inherit}
:focus-visible{outline:2px solid var(--bronze);outline-offset:3px;border-radius:2px}
.wrap{width:var(--wrap);margin-inline:auto}
.skip{position:absolute;left:-999px;top:0;background:var(--bronze);color:#fff;padding:.6rem 1rem;z-index:100}
.skip:focus{left:1rem;top:calc(env(safe-area-inset-top,0px) + 1rem)}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:.92;letter-spacing:.005em}
h2{font-size:clamp(2.75rem,6vw,4.75rem)}
h3{font-size:2rem;line-height:1}
.lead{font-size:1.1875rem;max-width:34em;color:var(--muted)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.6rem;font:600 1rem/1 var(--body);text-decoration:none;padding:1rem 1.4rem;border-radius:999px;border:1.5px solid transparent;transition:background .2s,color .2s,border-color .2s}
.btn-primary{background:var(--bronze);color:#fff}
.btn-primary:hover{background:#8f6c4b}
.btn-ghost{border-color:currentColor}
.btn-ghost:hover{background:rgba(238,236,232,.1)}

/* header */
.site-header{position:fixed;inset:0 0 auto;z-index:50;padding-top:env(safe-area-inset-top,0px);color:#eeece8;transition:background .3s,box-shadow .3s}
.site-header::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(35,31,32,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;transition:opacity .3s}
.site-header.scrolled::before{opacity:1}
.site-header.menu-open::before{opacity:1;background:var(--ink);backdrop-filter:none;-webkit-backdrop-filter:none}
.nav{display:flex;align-items:center;justify-content:space-between;height:4.75rem}
.logo{display:block;width:150px;color:#eeece8}
.logo svg{width:100%;height:auto;display:block}
.nav-links{display:flex;align-items:center;gap:2rem;list-style:none;padding:0}
.nav-links a{text-decoration:none;font-weight:500;font-size:.98rem;display:inline-block;padding:.6rem 0}
.nav-links a:not(.btn):hover{color:var(--bronze)}
.nav-links .btn{padding:.7rem 1.15rem}
.menu-btn{display:none;background:none;border:0;color:inherit;width:44px;height:44px;cursor:pointer}
.menu-btn span{display:block;width:24px;height:2px;background:currentColor;margin:5px auto;transition:transform .25s,opacity .25s}
.menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* hero */
.hero{background:var(--ink);color:#eeece8;position:relative;overflow:hidden;min-height:min(100svh,920px);display:flex;align-items:flex-end;padding:9rem 0 4.5rem}
.hero-ring{position:absolute;right:-14vw;top:50%;width:min(78vw,860px);aspect-ratio:1;transform:translateY(-52%);pointer-events:none}
.hero-ring path,.hero-ring line{fill:none;stroke:var(--bronze);stroke-width:46}
.hero-ring .arc{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.6s cubic-bezier(.65,0,.35,1) .2s forwards}
.hero-ring .tail{stroke-linecap:butt;stroke-dasharray:1;stroke-dashoffset:1;animation:draw .5s cubic-bezier(.3,0,.2,1) 1.65s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.hero-inner{position:relative;z-index:1}
.hero h1{font-size:clamp(3.4rem,8.2vw,7.75rem);max-width:12.5ch;margin-bottom:2rem}
.hero p{font-size:clamp(1.1rem,1.6vw,1.3rem);max-width:31em;color:#cfc9c2;margin-bottom:2.25rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.85rem}
.hero-tag{position:absolute;right:max(1.25rem,calc((100% - 1200px)/2));bottom:4.5rem;font-family:var(--display);font-size:1.5rem;color:var(--bronze);letter-spacing:.03em;z-index:1}

/* clients */
.clients{border-bottom:1px solid var(--line);padding:1.6rem 0}
.clients .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 2.5rem}
.clients p{color:var(--muted);font-size:.95rem}
.clients ul{display:flex;flex-wrap:wrap;gap:.5rem 2.25rem;list-style:none;padding:0}
.clients li{font-family:var(--display);font-size:1.6rem;letter-spacing:.02em;opacity:.75}

/* sections */
section{padding:clamp(5rem,10vw,8.5rem) 0}
.sec-head{display:grid;grid-template-columns:1fr 1fr;gap:2rem 4rem;align-items:end;margin-bottom:3.5rem}
.sec-head h2{max-width:10ch}

/* services */
.services-list{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem}
.service img{aspect-ratio:4/3;object-fit:cover;border-radius:6px;margin-bottom:1.6rem}
.service h3{margin-bottom:.75rem}
.service p{color:var(--muted);margin-bottom:1.1rem}
.service ul{list-style:none;padding:0;margin-bottom:1.5rem;border-top:1px solid var(--line)}
.service li{padding:.6rem 0;border-bottom:1px solid var(--line);font-size:.98rem}
.text-link{font-weight:600;color:var(--bronze-deep);text-decoration:underline;text-underline-offset:.25em;text-decoration-thickness:1.5px}
.text-link:hover{color:var(--fg)}
.service .text-link,.led-actions .text-link{display:inline-block;padding:.65rem 0}

.led{margin-top:clamp(4rem,8vw,6rem);display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;padding-top:clamp(3rem,6vw,4.5rem);border-top:1px solid var(--line)}
.led-media{display:grid;grid-template-columns:1.4fr 1fr;gap:1rem;align-items:end}
.led-media img{border-radius:6px;object-fit:cover;width:100%}
.led-media img:first-child{aspect-ratio:4/5}
.led-media img:last-child{aspect-ratio:3/4;margin-bottom:2.5rem}
.led-body h3{font-size:clamp(2.5rem,4.5vw,3.5rem);margin-bottom:1rem}
.led-body>p{color:var(--muted);margin-bottom:1.75rem;max-width:36em}
.led-offers{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem}
.led-offers div{border:1.5px solid var(--line);border-radius:6px;padding:1.1rem 1.2rem;display:flex;flex-direction:column}
.led-offers dt{font-weight:600;margin-bottom:.25rem}
.led-offers dd{margin:0;color:var(--muted);font-size:.95rem}
.led-offers .price{font-family:var(--display);font-size:2rem;line-height:1;color:var(--bronze-deep);margin-top:auto;padding-top:.9rem}
.led-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem}

/* projects */
.projects{background:var(--white)}
.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2.25rem}
.filters button{font:500 .95rem/1 var(--body);padding:.7rem 1.1rem;border-radius:999px;border:1.5px solid var(--line);background:transparent;color:var(--fg);cursor:pointer}
.filters button[aria-pressed="true"]{background:var(--ink);color:#eeece8;border-color:var(--ink)}
:root[data-theme="dark"] .filters button[aria-pressed="true"]{background:var(--bronze);border-color:var(--bronze)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .filters button[aria-pressed="true"]{background:var(--bronze);border-color:var(--bronze)}}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem 1.75rem;list-style:none;padding:0}
.project[hidden]{display:none}
.project figure{overflow:hidden;border-radius:6px;margin-bottom:1rem;background:var(--paper-2)}
.project img{aspect-ratio:3/2;object-fit:cover;transition:transform .5s ease}
.project:hover img{transform:scale(1.03)}
.project .cat{font-size:.88rem;color:var(--bronze-deep);font-weight:600;margin-bottom:.2rem}
.project h3{font-size:1.75rem;margin-bottom:.4rem}
.project p{color:var(--muted);font-size:.98rem;max-width:36ch}

/* process */
.process{background:var(--ink);color:#eeece8}
.process .lead{color:#cfc9c2}
.steps{display:grid;grid-template-columns:repeat(6,1fr);list-style:none;padding:0;counter-reset:s;border-top:1px solid rgba(238,236,232,.18)}
.steps li{counter-increment:s;padding:1.5rem 1.25rem 0 0;position:relative}
.steps li::before{content:counter(s);display:block;font-family:var(--display);font-size:3.25rem;line-height:1;color:var(--bronze);margin-bottom:1rem}
.steps li::after{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:var(--bronze)}
.steps h3{font-size:1.6rem;margin-bottom:.4rem}
.steps p{color:#bdb6ae;font-size:.95rem}

/* faq */
.faq-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:3rem 5rem;align-items:start}
.faq-grid .lead{margin-top:1.25rem}
details{border-bottom:1px solid var(--line)}
details:first-of-type{border-top:1px solid var(--line)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1.5rem;align-items:center;padding:1.4rem 0;font-weight:600;font-size:1.15rem}
summary::-webkit-details-marker{display:none}
summary::after{content:"";flex:none;width:14px;height:14px;background:linear-gradient(currentColor,currentColor) center/100% 2px no-repeat,linear-gradient(currentColor,currentColor) center/2px 100% no-repeat;transition:transform .25s}
details[open] summary::after{transform:rotate(45deg)}
details .answer{padding:0 0 1.5rem;color:var(--muted);max-width:60ch}
details .answer ul{padding-left:1.1rem;margin-top:.5rem}
details .answer li{margin:.25rem 0}

/* contact */
.contact{padding-top:0}
.contact-card{background:var(--ink);color:#eeece8;border-radius:10px;overflow:hidden;display:grid;grid-template-columns:1fr 1.1fr}
.contact-card img{width:100%;height:100%;object-fit:cover;min-height:340px}
.contact-body{padding:clamp(2rem,5vw,4rem);display:flex;flex-direction:column;justify-content:center}
.contact-body h2{margin-bottom:1.25rem;max-width:9ch}
.contact-body p{color:#cfc9c2;max-width:32em;margin-bottom:2rem}
.contact-lines{display:grid;gap:.4rem;margin-top:2rem;font-size:1rem}
.faq-grid .lead .text-link{display:inline-block;padding:.35rem 0}
.contact-lines a{text-decoration:none;color:#eeece8}
.contact-lines a:hover{color:var(--bronze)}

/* footer */
footer{border-top:1px solid var(--line);padding:3.5rem 0 2.5rem;font-size:.95rem}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem}
.foot .logo{color:var(--fg);width:140px;margin-bottom:1rem}
.foot p{color:var(--muted);max-width:26ch}
.foot h2{font:600 .95rem/1 var(--body);letter-spacing:0;margin-bottom:1rem}
.foot ul{list-style:none;padding:0;display:grid;gap:.1rem;color:var(--muted)}
.foot a{text-decoration:none;color:var(--muted);display:inline-block;padding:.3rem 0}
.foot a:hover{color:var(--fg)}
.area{margin-top:2.5rem;color:var(--muted);font-size:.9rem;max-width:70ch}
.legal{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;color:var(--muted);font-size:.88rem}

/* responsive */
@media (max-width:980px){
  .services-list,.project-grid{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:repeat(3,1fr);row-gap:2.5rem}
  .faq-grid,.sec-head,.led{grid-template-columns:1fr}
  .foot{grid-template-columns:1fr 1fr}
  .hero-ring{opacity:.35;right:-30vw}
  .hero-tag{display:none}
  .service:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:2.5rem;align-items:start}
  .service:last-child img{grid-row:span 5;margin-bottom:0}
}
@media (max-width:760px){
  .menu-btn{display:block}
  .nav-links{position:fixed;inset:0;top:calc(env(safe-area-inset-top,0px) + 4.75rem);background:var(--ink);flex-direction:column;align-items:flex-start;padding:2rem 1.25rem;gap:1.5rem;transform:translateY(-110%);visibility:hidden;transition:transform .3s,visibility .3s}
  .nav-links.open{transform:none;visibility:visible}
  .nav-links a{font-family:var(--display);font-size:2.5rem;font-weight:400}
  .nav-links .btn{font:600 1rem/1 var(--body);padding:1rem 1.4rem}
  .services-list,.project-grid,.led-offers{grid-template-columns:1fr}
  .service:last-child{display:block}
  .service:last-child img{margin-bottom:1.6rem}
  .steps{grid-template-columns:1fr 1fr}
  .hero{padding-bottom:6rem}
  .hero-ring{width:118vw;left:-9vw;right:auto;top:46%;transform:translateY(-50%);opacity:.16}
  .hero-tag{display:none}
  .contact-card{grid-template-columns:1fr}
  .contact-card img{min-height:0;aspect-ratio:3/2}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero-ring .arc,.hero-ring .tail{animation:none;stroke-dashoffset:0}
  *{transition:none!important}
}

/* ---------- service pages ---------- */
.page-hero{background:var(--ink);color:#eeece8;padding:calc(4.75rem + clamp(2.5rem,6vw,4.5rem)) 0 clamp(3.5rem,7vw,5.5rem);position:relative;overflow:hidden}
.page-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.page-hero h1{font-size:clamp(3rem,7vw,6rem);margin-bottom:1.5rem;max-width:12ch}
.page-lead{font-size:clamp(1.08rem,1.5vw,1.25rem);color:#cfc9c2;max-width:34em;margin-bottom:2rem}
.page-hero-img{border-radius:8px;aspect-ratio:4/3;object-fit:cover;width:100%}
.crumbs ol{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.25rem .6rem;font-size:.92rem;color:#bdb6ae;margin-bottom:1.5rem}
.crumbs li+li::before{content:"/";margin-right:.6rem;opacity:.5}
.crumbs li{padding:.3rem 0}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--bronze)}
.features{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0 2.5rem;border-top:1px solid var(--line)}
.features li{padding:1.75rem 0;border-bottom:1px solid var(--line)}
.features h3{font-size:1.75rem;margin-bottom:.5rem}
.features p{color:var(--muted)}
.features.cols-2{grid-template-columns:repeat(2,1fr)}
.prose-sec{background:var(--white)}
.prose-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:2rem 5rem;align-items:start}
.prose-grid p{color:var(--muted);font-size:1.1rem;margin-bottom:1.25rem;max-width:40em}
.prose-grid .btn{margin-top:.75rem}
.offers-sec{padding-top:0}
.offer-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}
.offer-cards div{border:1.5px solid var(--line);border-radius:8px;padding:1.75rem;display:flex;flex-direction:column}
.offer-cards h3{font-size:2rem;margin-bottom:.35rem}
.offer-cards p{color:var(--muted)}
.offer-cards .price{font-family:var(--display);font-size:3rem;line-height:1;color:var(--bronze-deep);margin-top:auto;padding-top:1.5rem}
.gallery{display:grid;grid-template-columns:1fr;gap:1.25rem;margin-top:3rem}
.gallery img{border-radius:8px;aspect-ratio:16/9;object-fit:cover;object-position:center 35%;width:100%}
.project-grid.few{grid-template-columns:repeat(3,1fr)}
.related-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.related-list a{display:flex;justify-content:space-between;align-items:center;gap:1rem;height:100%;padding:1.4rem 1.5rem;border:1.5px solid var(--line);border-radius:8px;text-decoration:none;font-weight:600;transition:border-color .2s,color .2s}
.related-list a::after{content:"\2192";color:var(--bronze-deep);font-weight:400}
.related-list a:hover{border-color:var(--bronze);color:var(--bronze-deep)}
.related{padding-bottom:clamp(3rem,6vw,4.5rem)}
.related h2{font-size:clamp(2.25rem,4vw,3rem);margin-bottom:1.5rem}
.compare-sec{padding-top:0}
.compare-sec h2{font-size:clamp(2.25rem,4vw,3rem);margin-bottom:1.5rem}
.table-wrap{overflow-x:auto;background:var(--white);border:1.5px solid var(--line);border-radius:8px}
.compare{width:100%;border-collapse:collapse;min-width:560px;font-size:1rem}
.compare th,.compare td{text-align:left;padding:1rem 1.25rem;border-bottom:1px solid var(--line);vertical-align:top}
.compare thead th{font-family:var(--display);font-weight:400;font-size:1.5rem;letter-spacing:.01em}
.compare thead th:nth-child(2){color:var(--bronze-deep)}
.compare tbody th{font-weight:600;width:22%}
.compare td{color:var(--muted)}
.compare tr:last-child th,.compare tr:last-child td{border-bottom:0}
.updated{margin-top:1rem;font-size:.9rem;color:#bdb6ae}
.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:0 3rem;border-top:1px solid var(--line);margin:0}
.facts div{padding:1.1rem 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:9rem 1fr;gap:1rem}
.facts dt{font-weight:600}
.facts dd{margin:0;color:var(--muted)}
@media (max-width:760px){.facts{grid-template-columns:1fr}.facts div{grid-template-columns:1fr;gap:.25rem}
.compare{min-width:0}
.compare thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.compare tr{display:block;padding:1rem 1.1rem;border-bottom:1px solid var(--line)}
.compare tr:last-child{border-bottom:0}
.compare tbody th{display:block;width:auto;padding:0 0 .5rem;border:0;font-size:1.05rem}
.compare td{display:grid;grid-template-columns:7.5rem 1fr;gap:.75rem;padding:.3rem 0;border:0}
.compare td::before{content:attr(data-label);font-weight:600;color:var(--bronze-deep)}}
.foot address{font-style:normal;color:var(--muted);margin-top:1rem;line-height:1.6}
.guide{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:0 3rem;border-top:1px solid var(--line)}
ol.guide{counter-reset:g}
.guide li{padding:1.4rem 0;border-bottom:1px solid var(--line)}
ol.guide li{counter-increment:g;display:grid;grid-template-columns:3rem 1fr;column-gap:.5rem}
ol.guide li::before{content:counter(g);font-family:var(--display);font-size:2.25rem;line-height:1;color:var(--bronze-deep);grid-row:span 2}
.guide h3{font-size:1.6rem;margin-bottom:.35rem}
.guide p{color:var(--muted)}
.svc-cards{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem 1.75rem}
.svc-cards img{border-radius:6px;aspect-ratio:3/2;object-fit:cover;margin-bottom:1rem}
.svc-cards h2{font-size:2rem;margin-bottom:.5rem}
.svc-cards p{color:var(--muted);margin-bottom:.75rem}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.contact-grid img{border-radius:8px;aspect-ratio:4/3;object-fit:cover;width:100%}
.contact-list{margin:0 0 2rem}
.contact-list div{display:grid;grid-template-columns:8rem 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.contact-list div:first-child{border-top:1px solid var(--line)}
.contact-list dt{font-weight:600}
.contact-list dd{margin:0;color:var(--muted)}
.terms{max-width:46rem}
.terms h2{font-size:clamp(1.75rem,3vw,2.25rem);margin:2.5rem 0 .75rem}
.terms ol,.terms ul{padding-left:1.25rem;color:var(--muted);margin-bottom:.75rem}
.terms li{margin:.5rem 0}
.terms p{color:var(--muted);margin-bottom:.75rem}
.terms dl div{margin:.5rem 0}
.terms dt{display:inline;font-weight:600;color:var(--fg)}
.terms dd{display:inline;margin:0;color:var(--muted)}
.terms .meta{color:var(--fg)}
.all-link{margin-top:2.5rem}
.link-btn{background:none;border:0;padding:.3rem 0;font:inherit;color:var(--muted);cursor:pointer;text-align:left}
.link-btn:hover{color:var(--fg)}
.consent{position:fixed;left:1rem;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom,0px));z-index:70;display:flex;justify-content:center;pointer-events:none}
.consent[hidden]{display:none}
.consent-inner{pointer-events:auto;background:var(--white);color:var(--fg);border:1px solid var(--line);border-radius:10px;padding:1.1rem 1.25rem 1.1rem 1.5rem;max-width:760px;width:100%;display:flex;gap:1.25rem;align-items:center;box-shadow:0 12px 32px rgba(0,0,0,.28)}
.consent-text{font-size:.95rem;line-height:1.5;color:var(--muted);margin:0}
.consent-link{color:var(--fg);text-decoration:underline;text-underline-offset:.2em}
.consent-actions{display:flex;gap:.6rem;flex:none}
.consent-btn{padding:.75rem 1.2rem;background:transparent;color:var(--fg);border-color:var(--fg);cursor:pointer}
.consent-btn:hover{background:var(--fg);color:var(--bg)}
@media (max-width:640px){.consent-inner{flex-direction:column;align-items:stretch;gap:1rem;padding:1.1rem 1.1rem}.consent-actions .consent-btn{flex:1;justify-content:center}}
.sec-head h2{max-width:14ch}
.contact-grid h2{font-size:clamp(2.25rem,4vw,3rem);margin-bottom:1.25rem}
.project .project-title{font-size:1.75rem;line-height:1;margin-bottom:.4rem}
.project .text-link{display:inline-block;margin-top:.6rem;padding:.3rem 0}
.btn-ghost-dark{border-color:var(--fg);color:var(--fg)}
.btn-ghost-dark:hover{background:var(--fg);color:var(--bg)}
@media (max-width:980px){.svc-cards{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr}}
@media (max-width:760px){.guide,.svc-cards{grid-template-columns:1fr}.contact-list div{grid-template-columns:1fr;gap:.2rem}}
@media (max-width:980px){
  .page-hero-grid,.prose-grid{grid-template-columns:1fr}
  .page-hero-img{max-width:560px}
  .features,.related-list{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .features,.features.cols-2,.related-list,.offer-cards,.gallery,.project-grid.few{grid-template-columns:1fr}
}
