
:root{
  --red:#e33b32;--ink:#121212;--char:#1d1d1d;--muted:#686868;--line:#e7e4df;
  --paper:#f7f5f1;--white:#fff;--max:1240px;--radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);background:var(--white);line-height:1.55}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
.container{width:min(var(--max),calc(100% - 40px));margin:auto}
.eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--red)}
h1,h2,h3{line-height:1.05;margin:.3em 0 .45em;letter-spacing:-.035em}
h1{font-size:clamp(3rem,7vw,7rem);max-width:900px}
h2{font-size:clamp(2.2rem,4.5vw,4.6rem)}
h3{font-size:clamp(1.35rem,2vw,2rem)}
p{margin:.6rem 0 1rem}
.lead{font-size:clamp(1.12rem,1.8vw,1.4rem);max-width:720px;color:#dedede}
.red{color:var(--red)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:52px;padding:0 24px;border:1px solid transparent;border-radius:4px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;font-size:.82rem;transition:.2s}
.btn-primary{background:var(--red);color:#fff}.btn-primary:hover{background:#c92f27}
.btn-light{background:#fff;color:#111}.btn-light:hover{background:#eee}
.btn-outline{border-color:#ffffff55;color:#fff;background:#00000022}.btn-outline:hover{border-color:#fff}
.btn-dark{background:#111;color:#fff}.btn-dark:hover{background:#2a2a2a}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid #eee}
.nav{height:84px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo{width:285px;max-width:58vw;height:auto}
.navlinks{display:flex;align-items:center;gap:24px;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.035em}
.navlinks a:hover,.navlinks a[aria-current="page"]{color:var(--red)}
.menu-btn{display:none;border:0;background:#111;color:#fff;width:48px;height:48px;border-radius:4px;font-size:1.35rem}
.hero{min-height:760px;display:flex;align-items:flex-end;position:relative;color:#fff;background:#111;overflow:hidden}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.54)}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.74),rgba(0,0,0,.15) 70%,rgba(0,0,0,.25))}
.hero-inner{position:relative;z-index:2;padding:130px 0 86px}
.hero h1 span{color:var(--red)}
.trustbar{background:#0f0f0f;color:#fff;border-top:1px solid #333}
.trustgrid{display:grid;grid-template-columns:repeat(3,1fr)}
.trustitem{padding:24px;text-align:center;border-right:1px solid #333;font-weight:850;font-size:.88rem;letter-spacing:.08em;text-transform:uppercase}
.trustitem:last-child{border-right:0}
.section{padding:92px 0}
.section-sm{padding:58px 0}
.paper{background:var(--paper)}
.dark{background:#111;color:#fff}
.intro-grid,.split{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.copy{font-size:1.08rem;color:#555;max-width:690px}.dark .copy{color:#cfcfcf}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
.card{border:1px solid var(--line);background:#fff;overflow:hidden;border-radius:var(--radius)}
.card img{height:240px;width:100%;object-fit:cover}
.card-body{padding:26px}
.card p{color:#666}
.card-link{font-weight:850;font-size:.82rem;text-transform:uppercase;color:var(--red)}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.feature{padding:28px;border:1px solid #333;border-radius:var(--radius)}
.feature strong{display:block;font-size:1.1rem;margin-bottom:.4rem}
.price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:34px}
.price-card{background:#fff;color:#111;padding:34px;border-radius:var(--radius)}
.price{font-size:clamp(2.7rem,5vw,4.7rem);font-weight:900;letter-spacing:-.06em;line-height:1}
.price small{font-size:.95rem;letter-spacing:0}
.process{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:34px;counter-reset:steps}
.step{padding:24px;border-top:3px solid var(--red);background:#fff;counter-increment:steps}
.step:before{content:"0" counter(steps);font-weight:900;color:var(--red);font-size:.85rem}
.project-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-auto-rows:290px;gap:16px;margin-top:34px}
.project-tile{position:relative;overflow:hidden;border-radius:var(--radius);color:#fff;background:#111}
.project-tile:first-child{grid-row:span 2}
.project-tile img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.project-tile:hover img{transform:scale(1.025)}
.project-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.82),transparent 65%)}
.project-label{position:absolute;z-index:2;left:24px;right:24px;bottom:20px}
.project-label .eyebrow{color:#ff756e}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.gallery img{width:100%;height:280px;object-fit:cover;border-radius:16px}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}
.review{padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.review blockquote{font-size:1.05rem;margin:0 0 18px}
.review cite{font-style:normal;font-weight:800;color:#555;font-size:.85rem}
.owner-photo{border-radius:999px;aspect-ratio:1;object-fit:cover;max-width:420px;margin:auto}
.cta{background:var(--red);color:#fff;padding:72px 0}
.cta h2{margin-top:0}.cta .container{display:flex;align-items:center;justify-content:space-between;gap:30px}
.page-hero{padding:105px 0 70px;background:#111;color:#fff;position:relative;overflow:hidden}
.page-hero.with-image{min-height:520px;display:flex;align-items:flex-end}
.page-hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.35)}
.page-hero .container{position:relative;z-index:2}
.service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:30px}
.service-item{padding:22px;border-left:3px solid var(--red);background:#fff}
.kicker{font-weight:800;color:#333}
.timeline{display:grid;gap:24px}
.timeline-item{display:grid;grid-template-columns:70px 1fr;gap:22px;align-items:start}
.timeline-num{width:54px;height:54px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-weight:900}
.project-case{padding:70px 0;border-bottom:1px solid var(--line)}
.case-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:start}
.case-gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.case-gallery img{width:100%;height:250px;object-fit:cover;border-radius:16px}
.case-gallery img:first-child{grid-column:span 2;height:430px}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px}
.form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
label{font-weight:800;font-size:.82rem}
input,textarea,select{border:1px solid #d6d2cc;background:#fff;border-radius:6px;padding:14px 14px;color:#111}
textarea{min-height:160px;resize:vertical}
.notice{font-size:.82rem;color:#777}
.footer{background:#0e0e0e;color:#c9c9c9;padding:62px 0 26px}
.footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr 1fr;gap:36px}
.footer h4{color:#fff;margin:0 0 12px}
.footer a{display:block;margin:.35rem 0}.footer a:hover{color:#fff}
.footer-logo{width:285px;max-width:100%;height:auto;background:#fff;padding:8px;border-radius:4px}
.footer-bottom{border-top:1px solid #333;margin-top:42px;padding-top:22px;font-size:.82rem;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.badge{display:inline-block;padding:7px 10px;border-radius:999px;background:#f3ebe9;color:#a52b24;font-size:.75rem;font-weight:850;text-transform:uppercase}
.statline{display:flex;gap:16px;flex-wrap:wrap;margin:22px 0}.statline span{padding:10px 14px;border:1px solid #ddd;border-radius:999px;font-weight:800;font-size:.82rem}
@media(max-width:980px){
 .navlinks{display:none;position:absolute;left:20px;right:20px;top:76px;background:#fff;border:1px solid #eee;padding:18px;flex-direction:column;align-items:stretch;box-shadow:0 18px 40px #0002}
 .navlinks.open{display:flex}.menu-btn{display:block}
 .hero{min-height:680px}.intro-grid,.split,.case-grid,.contact-grid{grid-template-columns:1fr}
 .cards,.feature-grid,.review-grid{grid-template-columns:1fr 1fr}
 .process{grid-template-columns:1fr 1fr}
 .project-grid{grid-template-columns:1fr 1fr;grid-auto-rows:320px}.project-tile:first-child{grid-row:auto;grid-column:span 2}
 .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
 .container{width:min(100% - 28px,var(--max))}.nav{height:72px}.logo{width:230px}
 .hero{min-height:650px}.hero-inner{padding:100px 0 55px}
 h1{font-size:clamp(2.8rem,14vw,4.7rem)}
 .section{padding:68px 0}.section-sm{padding:44px 0}
 .trustgrid{grid-template-columns:1fr}.trustitem{border-right:0;border-bottom:1px solid #333}
 .cards,.feature-grid,.price-grid,.review-grid,.service-list,.process,.gallery{grid-template-columns:1fr}
 .project-grid{display:grid;grid-template-columns:1fr;grid-auto-rows:300px}.project-tile:first-child{grid-column:auto}
 .case-gallery{grid-template-columns:1fr}.case-gallery img:first-child{grid-column:auto;height:300px}.case-gallery img{height:270px}
 .form{grid-template-columns:1fr}.field.full{grid-column:auto}
 .cta .container{display:block}.cta .actions{margin-top:22px}
 .footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}
}

/* DBM project cost calculator */
.calculator-teaser{background:#fff}
.calculator-teaser-box{background:#111;color:#fff;border-radius:var(--radius);padding:42px;min-height:250px;display:flex;flex-direction:column;justify-content:center;border-left:5px solid var(--red)}
.calculator-teaser-box strong{font-size:clamp(1.7rem,3vw,3rem);line-height:1.05;margin:.3rem 0 1rem}.calculator-teaser-box span{color:#ccc;font-size:1.05rem;max-width:430px}
.calculator-layout{display:grid;grid-template-columns:1.08fr .92fr;gap:28px;align-items:start}
.calculator-panel,.calculator-result{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:34px}
.calc-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}.calc-help{font-size:.78rem;color:#777;margin-top:3px}
.calc-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.calc-option{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:8px;padding:15px;background:#fff;cursor:pointer}.calc-option input{width:20px;height:20px;margin-top:1px;flex:0 0 auto;accent-color:var(--red)}.calc-option span{display:block}.calc-option strong{display:block;font-size:.88rem}.calc-option small{display:block;color:#777;font-size:.77rem;line-height:1.35;margin-top:3px;font-weight:500}
.calculator-result{position:sticky;top:108px;background:#111;color:#fff;border-color:#222}.calc-price{font-size:clamp(2.5rem,5vw,4.6rem);font-weight:900;letter-spacing:-.055em;line-height:1.02;margin-top:12px}.calc-vat{color:#bbb;font-weight:800;margin-top:7px}.calc-summary{border-top:1px solid #333;border-bottom:1px solid #333;margin:26px 0;padding:16px 0;display:grid;gap:12px}.calc-summary div{display:flex;justify-content:space-between;gap:20px}.calc-summary span{color:#aaa;font-size:.82rem}.calc-summary strong{text-align:right;font-size:.85rem}.calc-disclaimer{background:#1c1c1c;border-radius:8px;padding:18px;color:#ccc;font-size:.84rem}.calc-disclaimer strong{color:#fff}.calc-disclaimer p{margin:.5rem 0 0}.calc-enquire{width:100%;margin-top:18px}.calc-lead{margin-top:20px;border-top:1px solid #333;padding-top:20px;display:grid;gap:12px}.calc-lead label{color:#fff}.calc-lead input{width:100%}.calc-hidden{display:none!important}
@media(max-width:980px){.calculator-layout{grid-template-columns:1fr}.calculator-result{position:static}.calc-options{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.calculator-panel,.calculator-result{padding:22px}.calc-fields,.calc-options{grid-template-columns:1fr}.calc-price{font-size:clamp(2.2rem,12vw,3.4rem)}.calc-summary div{display:block}.calc-summary strong{display:block;text-align:left;margin-top:3px}.calculator-teaser-box{padding:28px;min-height:210px}}

/* DBM design, technical and drawings enquiry additions */
.service-checks{display:grid;gap:12px;margin:26px 0}.service-checks>div{border-left:3px solid var(--red);padding:14px 16px;background:#1a1a1a}.service-checks strong{display:block;color:#fff;margin-bottom:3px}.service-checks span{display:block;color:#bdbdbd;font-size:.88rem;line-height:1.45}.service-checks.light>div{background:#fff;border:1px solid var(--line);border-left:3px solid var(--red)}.service-checks.light strong{color:#111}.service-checks.light span{color:#666}
.design-route{background:#181818;border:1px solid #333;border-radius:var(--radius);padding:34px}.route-list{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:20px}.route-list li{display:grid;grid-template-columns:52px 1fr;gap:15px;align-items:start}.route-list>li>span{width:44px;height:44px;display:grid;place-items:center;border:1px solid #444;border-radius:50%;font-weight:900;color:var(--red)}.route-list strong{display:block;color:#fff}.route-list p{margin:4px 0 0;color:#aaa;font-size:.88rem}
.drawings-preview{border:1px solid var(--line);background:#fff;border-radius:var(--radius);padding:38px;min-height:260px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.upload-icon{width:58px;height:58px;border-radius:50%;background:#111;color:#fff;display:grid;place-items:center;font-size:1.8rem;font-weight:900;margin-bottom:18px}.drawings-preview strong{font-size:1.4rem}.drawings-preview p{color:#666;max-width:420px}.drawings-preview a{font-weight:900;color:var(--red);text-transform:uppercase;font-size:.82rem;letter-spacing:.04em}
.drawings-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;align-items:start}.drawings-form{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.drawings-form .field.full{grid-column:1/-1}.drawings-form input[type=file]{padding:12px;background:#fafafa}
@media(max-width:980px){.drawings-layout{grid-template-columns:1fr}.design-route{padding:26px}}
@media(max-width:640px){.drawings-form{grid-template-columns:1fr;padding:22px}.drawings-form .field.full{grid-column:auto}.drawings-preview{padding:26px}.route-list li{grid-template-columns:44px 1fr}.service-checks{margin-top:20px}}

/* Featured case-study review cards */
.case-review{margin-top:24px;padding:22px;border-left:4px solid var(--red);background:#fff;border-radius:0 12px 12px 0;box-shadow:0 8px 30px rgba(0,0,0,.05)}
.case-review strong{display:block;margin-bottom:8px;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--red)}
.case-review p{margin:0 0 10px;color:#404040;line-height:1.65}
.case-review span{font-size:.86rem;font-weight:800;color:#222}
.paper .case-review{background:#fafafa}

/* Planning & Permitted Development Guide */
.pd-hero .lead{max-width:820px}.pd-statline span{border-color:#3a3a3a;color:#eee}.pd-warning{background:#111;color:#fff;border-radius:var(--radius);padding:34px;border-left:5px solid var(--red)}.pd-warning h3{color:#fff}.pd-warning p{color:#c9c9c9}.pd-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:30px}.pd-card{border:1px solid var(--line);background:#fff;border-radius:var(--radius);padding:28px}.pd-card h3{margin-top:12px}.pd-card p{color:#5f5f5f}.pd-card.pd-feature{border-top:4px solid var(--red)}.pd-big{font-size:clamp(2.8rem,6vw,5rem);font-weight:950;letter-spacing:-.06em;line-height:1;color:var(--red);margin:18px 0}.pd-list{margin:16px 0 0;padding-left:20px;color:#555}.pd-list li{margin:.55rem 0}.pd-note{padding:14px 16px;background:#f4f1ed;border-left:3px solid var(--red);font-size:.88rem}.pd-rulebar{margin-top:20px;border-left:4px solid var(--red);background:#111;color:#ddd;padding:18px 22px;border-radius:0 10px 10px 0}.pd-rulebar strong{color:#fff}.dark-grid .pd-card{background:#191919;border-color:#303030}.dark-grid .pd-card h3{color:#fff}.dark-grid .pd-card p,.dark-grid .pd-list{color:#bbb}.dark-grid .badge{background:#2a1d1c;color:#ff847d}.pd-number-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:30px 0}.pd-number-row>div{border:1px solid #333;border-top:4px solid var(--red);padding:28px;border-radius:var(--radius);background:#191919}.pd-number-row strong{display:block;color:#fff;font-size:clamp(2.4rem,5vw,4rem);line-height:1}.pd-number-row span{display:block;color:#aaa;margin-top:10px}.pd-process .step{min-height:190px}.pd-teaser-card{background:#111;color:#fff;border-radius:var(--radius);padding:36px}.pd-teaser-card strong{display:block;font-size:clamp(3rem,7vw,6rem);letter-spacing:-.06em;line-height:1;margin:18px 0 8px;color:#fff}.pd-teaser-card p{color:#bbb}.pd-teaser-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.pd-teaser-links span{border:1px solid #3a3a3a;padding:7px 10px;border-radius:999px;color:#ddd;font-size:.78rem;font-weight:800}.pd-service-link{background:#f7f5f1;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.pd-service-link .container{display:flex;align-items:center;justify-content:space-between;gap:24px}.pd-service-link h3{margin:.2rem 0}.pd-service-link p{margin:0;color:#666}.pd-mini{background:#111;color:#fff;padding:30px;border-radius:var(--radius)}.pd-mini strong{font-size:1.25rem}.pd-mini p{color:#bbb}.pd-design-link{background:#fff}
@media(max-width:980px){.pd-grid{grid-template-columns:1fr}.pd-number-row{grid-template-columns:1fr}.pd-service-link .container{display:block}.pd-service-link .btn{margin-top:18px}}
@media(max-width:640px){.pd-card,.pd-warning,.pd-teaser-card{padding:22px}.pd-number-row>div{padding:22px}.pd-big{font-size:3.2rem}}

/* =========================================================
   DBM PREMIUM EDITION — high-end residential design/build skin
   Same structure and content, refined visual presentation only.
   ========================================================= */
:root{
  --red:#b62d27;
  --ink:#171614;
  --char:#211f1c;
  --muted:#706d67;
  --line:#dedbd4;
  --paper:#f4f1eb;
  --white:#fffdf9;
  --max:1280px;
  --radius:2px;
}
html{background:#f4f1eb}
body{
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  color:var(--ink);
  background:#fffdf9;
  line-height:1.7;
  letter-spacing:.002em;
  -webkit-font-smoothing:antialiased;
}
.container{width:min(var(--max),calc(100% - 72px))}
.eyebrow{
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.24em;
  color:var(--red);
}
h1,h2,h3{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  line-height:.98;
  letter-spacing:-.045em;
}
h1{font-size:clamp(3.9rem,7.7vw,8.2rem);max-width:980px}
h2{font-size:clamp(2.7rem,5vw,5.25rem)}
h3{font-size:clamp(1.5rem,2.1vw,2.25rem);line-height:1.08}
p{margin:.75rem 0 1.15rem}
.copy{font-size:1.04rem;color:#6c6963;line-height:1.8}
.lead{font-size:clamp(1.08rem,1.45vw,1.3rem);font-weight:300;line-height:1.75;color:#eee8df;max-width:760px}
.red{color:var(--red)}

/* Header / navigation */
.site-header{
  background:rgba(255,253,249,.94);
  border-bottom:1px solid rgba(24,22,19,.08);
  backdrop-filter:blur(18px);
}
.nav{height:94px}
.logo{width:265px}
.navlinks{gap:27px;font-size:.71rem;font-weight:700;letter-spacing:.13em}
.navlinks a{position:relative;padding:35px 0 33px}
.navlinks a:after{content:"";position:absolute;left:0;right:100%;bottom:23px;height:1px;background:var(--red);transition:.25s ease}
.navlinks a:hover:after,.navlinks a[aria-current="page"]:after{right:0}
.navlinks a:hover,.navlinks a[aria-current="page"]{color:var(--ink)}
.menu-btn{border-radius:0;background:#1b1a18}

/* Buttons: quieter, more architectural */
.btn{
  min-height:50px;
  padding:0 25px;
  border-radius:0;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.14em;
  transition:all .25s ease;
}
.btn-primary{background:var(--red)}
.btn-primary:hover{background:#93231e;transform:translateY(-1px)}
.btn-dark{background:#1b1a18}.btn-dark:hover{background:#34312d}
.btn-light{background:#fffdf9}.btn-light:hover{background:#f1eee8}
.btn-outline{background:transparent;border-color:rgba(255,255,255,.45)}
.btn-outline:hover{background:#fff;color:#171614}
.actions{gap:10px}

/* Hero */
.hero{min-height:810px;background:#181715}
.hero-bg{filter:brightness(.55) saturate(.78);transform:scale(1.002)}
.hero:after{
  background:
    linear-gradient(90deg,rgba(17,16,14,.82) 0%,rgba(17,16,14,.56) 40%,rgba(17,16,14,.12) 78%),
    linear-gradient(0deg,rgba(17,16,14,.32),transparent 45%);
}
.hero-inner{padding:165px 0 104px}
.hero h1 span{color:#d85750}
.hero .eyebrow{color:#df655e}
.trustbar{background:#191816;border-top:1px solid rgba(255,255,255,.12)}
.trustitem{padding:26px 20px;border-right:1px solid rgba(255,255,255,.12);font-size:.72rem;font-weight:650;letter-spacing:.15em;color:#ded9d0}

/* Spacing and surface treatment */
.section{padding:122px 0}
.section-sm{padding:76px 0}
.paper{background:#f4f1eb}
.dark{background:#1b1a18;color:#fff}
.intro-grid,.split{gap:90px}

/* Cards and services */
.cards{gap:28px;margin-top:52px}
.card{
  border:0;
  border-bottom:1px solid #d8d4cc;
  background:transparent;
  border-radius:0;
  overflow:visible;
}
.card img{height:300px;filter:saturate(.82) contrast(.98)}
.card-body{padding:25px 4px 28px}
.card p{color:#77736d}
.card-link{font-size:.7rem;font-weight:700;letter-spacing:.13em;color:var(--red)}
.card:hover img{filter:saturate(.95) contrast(1.01)}

.feature-grid{gap:1px;background:#393633;border:1px solid #393633}
.feature{padding:36px 32px;border:0;border-radius:0;background:#201f1d}
.feature strong{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:1.35rem}
.price-grid{gap:1px;background:#d9d5ce}
.price-card{border-radius:0;padding:44px;background:#fffdf9}
.price{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.06em}

/* Process */
.process{gap:1px;background:#d9d5ce;margin-top:50px}
.step{padding:32px 26px 34px;border-top:1px solid var(--red);background:#fffdf9}
.step:before{font-weight:700;letter-spacing:.12em;font-size:.7rem}

/* Project imagery — larger, calmer, editorial */
.project-grid{gap:6px;grid-auto-rows:330px;margin-top:48px}
.project-tile{border-radius:0}
.project-tile img{filter:saturate(.82);transition:transform .55s ease,filter .55s ease}
.project-tile:hover img{transform:scale(1.018);filter:saturate(.95)}
.project-tile:after{background:linear-gradient(0deg,rgba(15,14,12,.78),transparent 62%)}
.project-label{left:28px;right:28px;bottom:26px}
.project-label .eyebrow{color:#e0736e}
.gallery{gap:6px}
.gallery img{height:320px;border-radius:0;filter:saturate(.85)}

/* Reviews */
.review-grid{gap:1px;background:#dedbd4;margin-top:42px}
.review{padding:38px;border:0;border-radius:0;background:#fffdf9}
.review blockquote{font-family:Georgia,"Times New Roman",serif;font-size:1.17rem;line-height:1.7;color:#383531}
.review cite{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}
.case-review{margin-top:30px;padding:25px 28px;border-left:1px solid var(--red);border-radius:0;box-shadow:none;background:#f5f2ed}
.case-review strong{font-size:.68rem;letter-spacing:.15em}
.case-review p{font-family:Georgia,"Times New Roman",serif;font-size:1.04rem;line-height:1.7}

/* CTA */
.cta{background:#b62d27;padding:86px 0}
.cta h2{font-size:clamp(2.6rem,4.7vw,4.7rem)}

/* Interior/page heroes */
.page-hero{padding:132px 0 86px;background:#1a1917}
.page-hero.with-image{min-height:590px}
.page-hero .bg{filter:brightness(.4) saturate(.75)}
.page-hero.with-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,17,15,.66),rgba(18,17,15,.08) 72%)}
.page-hero .container{z-index:3}

/* Service / timeline / case studies */
.service-list{gap:1px;background:#ddd9d1}
.service-item{padding:28px 30px;border-left:1px solid var(--red);background:#fffdf9}
.timeline{gap:0;border-top:1px solid #d8d4cc}
.timeline-item{grid-template-columns:80px 1fr;gap:24px;padding:28px 0;border-bottom:1px solid #d8d4cc}
.timeline-num{width:46px;height:46px;border-radius:0;background:transparent;border:1px solid var(--red);color:var(--red);font-size:.76rem}
.project-case{padding:105px 0;border-bottom:1px solid #d7d2ca}
.case-grid{gap:74px}
.case-gallery{gap:6px}
.case-gallery img{border-radius:0;filter:saturate(.86)}
.case-gallery img:first-child{height:480px}

/* Forms */
.form{gap:18px}
label{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
input,textarea,select{border:0;border-bottom:1px solid #bbb6ae;border-radius:0;background:transparent;padding:15px 2px}
input:focus,textarea:focus,select:focus{outline:0;border-bottom-color:var(--red)}
.notice{color:#817d76}

/* Owner */
.owner-photo{border-radius:0;aspect-ratio:4/5;max-width:430px;filter:saturate(.82)}

/* Footer */
.footer{background:#151412;color:#aaa69f;padding:82px 0 30px}
.footer-grid{gap:52px}
.footer h4{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:1.1rem}
.footer a{font-size:.88rem}
.footer-logo{width:250px;background:transparent;padding:0;border-radius:0;filter:brightness(0) invert(1);opacity:.9}
.footer-bottom{border-top:1px solid #34312d;margin-top:54px;padding-top:25px;color:#7f7b74}
.badge{border-radius:0;background:#eee8df;color:#8f2b26;font-size:.67rem;letter-spacing:.12em}
.statline span{border-radius:0;border-color:#d5d0c8;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}

/* Premium treatment for utility blocks */
.calculator-teaser-box,.calculator-panel,.calculator-result,.design-route,.drawings-preview,.drawings-form,.pd-warning,.pd-card,.pd-number-row>div,.pd-teaser-card,.pd-mini{border-radius:0}
.calculator-teaser-box{border-left:1px solid var(--red)}
.calculator-result{background:#1b1a18}
.calc-price{font-family:Georgia,"Times New Roman",serif;font-weight:400}
.calc-option{border-radius:0}
.service-checks>div,.service-checks.light>div{border-left-width:1px}
.upload-icon{border-radius:0}
.pd-card.pd-feature{border-top:1px solid var(--red)}
.pd-number-row>div{border-top:1px solid var(--red)}
.pd-big,.pd-number-row strong,.pd-teaser-card strong{font-family:Georgia,"Times New Roman",serif;font-weight:400}
.pd-note,.pd-rulebar{border-left-width:1px;border-radius:0}
.pd-teaser-links span{border-radius:0}

@media(max-width:980px){
  .container{width:min(var(--max),calc(100% - 44px))}
  .navlinks{top:88px;border-radius:0;background:#fffdf9}
  .hero{min-height:720px}
  .intro-grid,.split,.case-grid,.contact-grid{gap:50px}
  .cards,.feature-grid,.review-grid{gap:18px;background:transparent}
  .process{gap:14px;background:transparent}
  .project-grid{gap:8px}
}
@media(max-width:640px){
  .container{width:min(100% - 30px,var(--max))}
  .nav{height:76px}.logo{width:215px}
  .hero{min-height:680px}.hero-inner{padding:112px 0 64px}
  h1{font-size:clamp(3.2rem,15vw,5.3rem)}
  h2{font-size:clamp(2.4rem,11vw,3.8rem)}
  .section{padding:82px 0}.section-sm{padding:54px 0}
  .card img{height:260px}
  .cards,.feature-grid,.review-grid{gap:18px}
  .feature{border:1px solid #393633}
  .project-case{padding:78px 0}
  .case-gallery img:first-child{height:330px}
  .page-hero{padding:100px 0 62px}.page-hero.with-image{min-height:500px}
  .cta{padding:66px 0}
}
