
:root{
  --ink:#171717; --soft:#6f6c67; --paper:#f3f1ec; --paper2:#ebe8e1;
  --line:#d7d3ca; --white:#fff; --max:1480px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55}
img{display:block;width:100%;height:auto}
a{color:inherit;text-decoration:none}
.container{width:min(var(--max),calc(100% - 72px));margin:auto}
header{background:rgba(245,243,238,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;backdrop-filter:blur(12px)}
.nav{min-height:104px;display:grid;grid-template-columns:310px 1fr auto;align-items:center;gap:34px}
.brand img{width:255px}
.menu{display:flex;justify-content:center;gap:34px;font-size:.72rem;text-transform:uppercase;letter-spacing:.13em}
.menu a{padding:8px 0}
.menu a:hover{opacity:.55}
.nav-cta{display:flex;align-items:center;gap:20px}
.lang{font-size:.68rem;letter-spacing:.15em;color:var(--soft)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:48px;padding:0 23px;border:1px solid var(--ink);font-size:.71rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:transparent}
.btn.dark{background:var(--ink);color:#fff}
.btn:hover{opacity:.75}
.hero{border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;min-height:670px}
.hero-copy{padding:96px 70px 86px 0;display:flex;flex-direction:column;justify-content:center}
.eyebrow{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#5f5c57;margin-bottom:24px}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(3.3rem,6vw,6.6rem);font-weight:500;line-height:.93;letter-spacing:-.058em;margin-bottom:30px;max-width:780px}
.hero-copy p{max-width:680px;color:#65625e;font-size:1.02rem;margin-bottom:34px}
.hero-media{display:grid;grid-template-columns:2.4fr .82fr .82fr;height:670px}
.hero-media img{height:100%;object-fit:cover;filter:grayscale(.82) sepia(.08)}
.hero-media .slice{border-left:6px solid var(--paper)}
.hero-tag{position:absolute;right:28px;bottom:28px;background:rgba(243,241,236,.92);padding:20px 16px;font-size:.65rem;line-height:1.8;letter-spacing:.16em;text-transform:uppercase}
.hero-image-wrap{position:relative;min-width:0}
.section{padding:100px 0;border-bottom:1px solid var(--line)}
.split{display:grid;grid-template-columns:1.02fr .98fr;gap:78px;align-items:center}
.sketch{position:relative}
.sketch img{filter:grayscale(1);mix-blend-mode:multiply}
.micro{display:flex;align-items:center;gap:22px;font-size:.66rem;letter-spacing:.13em;text-transform:uppercase;margin-bottom:35px}
.micro:after{content:"";height:1px;background:var(--line);flex:1}
.display{font-size:clamp(2.7rem,5vw,5.2rem);font-weight:500;line-height:.98;letter-spacing:-.05em;margin-bottom:26px}
.display .muted{color:#9b9891}
.copy{color:#696661;max-width:650px}
.text-link{display:inline-block;margin-top:24px;padding-bottom:5px;border-bottom:1px solid var(--ink);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);background:var(--paper2);border-bottom:1px solid var(--line)}
.pillar{padding:52px 44px;border-right:1px solid #c9c5bd;min-height:230px}
.pillar:last-child{border-right:0}
.pillar .num{font-size:.8rem;margin-bottom:20px}
.pillar h3{font-size:1.22rem;font-weight:500;text-transform:uppercase;letter-spacing:.03em;max-width:180px}
.pillar p{color:#75716c;font-size:.88rem;max-width:290px}
.image-banner{position:relative;height:390px;overflow:hidden}
.image-banner img{height:100%;object-fit:cover;filter:grayscale(.75) sepia(.08)}
.banner-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.02))}
.banner-copy{position:absolute;left:max(36px,calc((100vw - var(--max))/2));top:50%;transform:translateY(-50%);color:#fff}
.banner-copy .eyebrow{color:#ddd}
.banner-copy h2{font-size:clamp(2.1rem,4vw,4.5rem);font-weight:400;line-height:1.02;letter-spacing:-.04em;max-width:650px}
.services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.service{padding:34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:280px;display:flex;flex-direction:column}
.service .index{font-size:.69rem;letter-spacing:.15em;color:#8a867f;margin-bottom:55px}
.service h3{font-size:1.55rem;font-weight:500;letter-spacing:-.025em}
.service p{font-size:.9rem;color:#726f69}
.service a{margin-top:auto;font-size:.67rem;text-transform:uppercase;letter-spacing:.12em}
.areas{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}
.area{background:var(--paper);padding:60px;min-height:390px}
.area h3{font-size:2.6rem;font-weight:500;letter-spacing:-.045em}
.area p{color:#706d68;max-width:500px}
.contact-strip{display:grid;grid-template-columns:1fr 1fr;background:#efede8}
.contact-photo img{height:100%;min-height:460px;object-fit:cover;filter:grayscale(.75) sepia(.08)}
.contact-copy{padding:76px}
.contact-copy h2{font-size:clamp(2.7rem,4.6vw,5rem);font-weight:500;line-height:.94;letter-spacing:-.055em}
.contact-copy p{max-width:590px;color:#716d67}
footer{background:#1b1b1b;color:#d7d7d2;padding:55px 0 25px}
.footer-grid{display:grid;grid-template-columns:1.4fr .7fr .7fr;gap:45px}
footer img{width:235px;filter:invert(1) grayscale(1) brightness(2)}
footer p,footer a{color:#aaa;font-size:.8rem}
footer h4{font-size:.7rem;text-transform:uppercase;letter-spacing:.13em;color:#fff}
.legal{border-top:1px solid #383838;margin-top:34px;padding-top:20px;font-size:.68rem;color:#777}
.page-hero{padding:105px 0 78px;border-bottom:1px solid var(--line)}
.page-hero h1{max-width:1050px}
.breadcrumb{padding-top:28px;font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;color:#777}
.editorial-split{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.editorial-split img{filter:grayscale(.8) sepia(.08)}
.checklist{list-style:none;padding:0;border-top:1px solid var(--line)}
.checklist li{padding:14px 0;border-bottom:1px solid var(--line);color:#5f5c57}
.contact-form{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}
form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
label{font-size:.67rem;text-transform:uppercase;letter-spacing:.12em}
input,select,textarea{width:100%;margin-top:8px;border:0;border-bottom:1px solid #aaa;background:transparent;padding:13px 3px;font:inherit}
textarea{min-height:120px;resize:vertical}
.full{grid-column:1/-1}
@media(max-width:1050px){
 .nav{grid-template-columns:1fr auto}.menu{display:none}.hero-grid,.split,.editorial-split,.contact-strip,.contact-form{grid-template-columns:1fr}
 .hero-copy{padding:70px 0}.hero-media{height:520px}.services{grid-template-columns:1fr 1fr}.container{width:min(var(--max),calc(100% - 38px))}
 .contact-copy{padding:50px}.footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
 .nav{min-height:82px}.brand img{width:190px}.nav-cta .lang{display:none}.nav-cta .btn{display:none}
 .hero-media{height:380px;grid-template-columns:2fr .55fr .55fr}.hero-copy{padding:58px 0}
 h1{font-size:3.3rem}.section{padding:70px 0}.split{gap:45px}.pillars,.services,.areas,.footer-grid{grid-template-columns:1fr}
 .pillar{border-right:0;border-bottom:1px solid #c9c5bd}.service{min-height:230px}.area{padding:38px}.contact-copy{padding:48px 24px}
 form{grid-template-columns:1fr}.full{grid-column:auto}
}

/* FINAL SEO / BLOG / LOCAL PAGES */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d7d3ca;border:1px solid #d7d3ca}.blog-card{background:#f3f1ec}.blog-card img{aspect-ratio:16/10;object-fit:cover;filter:grayscale(.82) sepia(.08)}.blog-card .inner{padding:28px}.blog-card .meta,.article-meta{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:#817c75}.blog-card h2{font-size:1.55rem;font-weight:500;line-height:1.08;letter-spacing:-.03em;margin:14px 0}.blog-card p{font-size:.89rem;color:#716d67}.article{max-width:900px;margin:auto}.article h2{font-size:2.05rem;font-weight:500;letter-spacing:-.03em;margin-top:52px}.article h3{font-size:1.3rem;font-weight:500;margin-top:32px}.article p,.article li{color:#4f4c47}.article .answer{font-size:1.12rem;color:#171717;border-left:3px solid #171717;padding:4px 0 4px 22px;margin:28px 0}.article-source{font-size:.8rem;color:#777;border-top:1px solid #d7d3ca;padding-top:20px;margin-top:42px}.article-source a{text-decoration:underline}.faq details{border-top:1px solid #d7d3ca;padding:20px 0}.faq details:last-child{border-bottom:1px solid #d7d3ca}.faq summary{cursor:pointer;font-size:1.05rem;font-weight:600}.faq p{color:#6f6b65;max-width:900px;margin:12px 0 0}.areas-final{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #d7d3ca;border-left:1px solid #d7d3ca}.zone-card{padding:34px 28px;border-right:1px solid #d7d3ca;border-bottom:1px solid #d7d3ca;min-height:250px;display:flex;flex-direction:column}.zone-card h3{font-size:1.5rem;font-weight:500;letter-spacing:-.03em}.zone-card p{font-size:.88rem;color:#6f6b65}.zone-card a{margin-top:auto;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase}.trust-final{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d7d3ca}.trust-item{background:#f3f1ec;padding:32px;min-height:210px}.trust-item h3{font-size:1.18rem;font-weight:500}.trust-item p{font-size:.88rem;color:#6f6b65}.reference-box{border-top:1px solid #171717;padding-top:22px}.reference-box p{color:#6f6b65}.form-wrap{min-height:560px;border:1px solid #d7d3ca;background:#fff}.form-wrap iframe{display:block;min-height:560px}.article-hero{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.article-hero img{max-height:470px;object-fit:cover;filter:grayscale(.82) sepia(.08)}.callout{background:#1a1a1a;color:#fff;padding:38px;margin:46px 0}.callout p{color:#d0d0cb}.callout a{border-bottom:1px solid #fff}.lang a{margin:0 4px}.page-intro{max-width:780px;color:#6f6b65}.seo-note{font-size:.8rem;color:#777}.source-list{padding-left:18px}
@media(max-width:1050px){.blog-grid,.areas-final,.trust-final{grid-template-columns:1fr 1fr}.article-hero{grid-template-columns:1fr}}
@media(max-width:700px){.blog-grid,.areas-final,.trust-final{grid-template-columns:1fr}}
