/* Layout: his existing black site, sharpened — one column read top-down, photo-led, with the enquiry form as the destination.
   Palette pulled from custombrickwork.com.au (black, charcoal #3a3a3a, grey #888, white) plus one accent for calls to action. Single dark theme by choice: it is his brand. */
:root{
  --bg:#0B0B0B; --bg-2:#141414; --surface:#1C1C1C; --surface-2:#262626; --ink:#FFFFFF; --ink-2:#D9D9D9; --muted:#9A9A9A; --line:#333333;
  --accent:#C8532F; --accent-ink:#FFFFFF; --accent-soft:#3A1E15;
  --good:#5FBF84;
  --display:"Coda","Arial Narrow","Helvetica Neue",Arial,sans-serif;
  --body:"Open Sans","Helvetica Neue",Arial,sans-serif;
  --radius:4px; --max:1120px;
  color-scheme:dark;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto} *{animation:none!important;transition:none!important}}
body{background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Crect width='4' height='4' fill='%230B0B0B'/%3E%3Crect width='1' height='1' fill='%23181818'/%3E%3C/svg%3E");color:var(--ink);font-family:var(--body);font-size:16.5px;line-height:1.6;margin:0}
h1,h2,h3,h4{font-family:var(--display);font-weight:800;line-height:1.05;margin:0;text-wrap:balance}
h1{font-size:clamp(38px,6.2vw,66px);letter-spacing:-.01em}
h2{font-size:clamp(30px,4.2vw,44px)}
h3{font-size:22px}
p{margin:0}
a{color:inherit}
img{max-width:100%;display:block}
button{font:inherit;cursor:pointer}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:20px}
.eyebrow{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.16em;font-size:13px;color:var(--muted)}
.lede{font-size:18px;color:var(--ink-2);max-width:62ch}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:2px solid var(--ink);background:var(--ink);color:#0B0B0B;font-family:var(--display);font-weight:800;font-size:16px;text-transform:uppercase;letter-spacing:.06em;padding:12px 20px;border-radius:var(--radius);text-decoration:none;min-height:48px}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.rule{height:2px;background:linear-gradient(90deg,var(--ink) 0,var(--ink) 60%,transparent 100%);opacity:.5;margin:14px 0 0}

/* Concept bar */
.concept{background:#F2F2F2;color:#0B0B0B;font-size:13px;padding:8px 20px;display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:center;align-items:center}
.concept strong{font-family:var(--display);text-transform:uppercase;letter-spacing:.1em;font-size:12px}
.concept a{font-weight:700}

/* Notice bar (editable from the owner app) */
.notice{background:var(--accent);color:var(--accent-ink);text-align:center;font-weight:600;padding:9px 20px;font-size:15px}

/* Header */
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:rgba(11,11,11,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(6px)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:78px}
.brand{display:flex;align-items:center;text-decoration:none}
.brand img{height:46px;width:auto}
nav.main{display:flex;gap:24px;font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.06em}
nav.main a{text-decoration:none;color:var(--muted)}
nav.main a:hover{color:var(--ink)}
@media (max-width:860px){nav.main{display:none}}
.hdr-right{display:flex;align-items:center;gap:16px}
.hdr-right .tel{font-family:var(--display);font-weight:400;font-size:22px;letter-spacing:.02em;text-decoration:none;white-space:nowrap}
@media (max-width:560px){.hdr-right .tel{display:none}}
header .btn{font-size:14px;padding:9px 14px;min-height:42px}

/* Hero */
.hero{position:relative;isolation:isolate;overflow:hidden}
.hero .bg{position:absolute;inset:0;z-index:-1}
.hero .bg img{width:100%;height:100%;object-fit:cover;object-position:center 60%;opacity:.55}
.hero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,11,11,.92) 0%,rgba(11,11,11,.75) 45%,rgba(11,11,11,.25) 100%)}
.hero .wrap{padding-block:76px 64px;display:flex;flex-direction:column;gap:22px;max-width:var(--max)}
.hero .copy{max-width:640px;display:flex;flex-direction:column;gap:20px}
.hero .cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.hero .sub{font-size:15px;color:var(--muted)}
.hero .sub b{color:var(--ink-2);font-weight:600}
@media (max-width:760px){.hero .wrap{padding-block:56px 48px}.hero .bg img{opacity:.35}}

/* Trust strip */
.trust{border-block:1px solid var(--line);background:var(--bg-2)}
.trust .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.trust div{padding:16px 14px;border-left:1px solid var(--line);font-size:14.5px;font-weight:600;display:flex;gap:10px;align-items:center;min-width:0;color:var(--ink-2)}
.trust div:first-child{border-left:0}
.trust svg{flex:none;width:20px;height:20px;color:var(--accent)}
@media (max-width:760px){.trust .wrap{grid-template-columns:1fr 1fr}.trust div:nth-child(3){border-left:0}.trust div{border-top:1px solid var(--line)}.trust div:nth-child(-n+2){border-top:0}}

section.block{padding-block:72px}
.head{display:flex;flex-direction:column;gap:10px;margin-bottom:34px;max-width:720px}

/* Services */
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.services article{background:var(--surface);padding:24px 22px;display:flex;flex-direction:column;gap:8px;min-width:0}
.services article.feature{grid-column:span 3;display:grid;grid-template-columns:1.1fr 1fr;gap:28px;padding:0;background:var(--surface)}
.services article.feature .txt{padding:26px 24px;display:flex;flex-direction:column;gap:10px}
.services article.feature img{width:100%;height:100%;object-fit:cover;min-height:240px}
.services article h3{font-size:21px}
.services article p{color:var(--muted);font-size:15px}
.services .k{font-family:var(--display);text-transform:uppercase;letter-spacing:.14em;font-size:12px;color:var(--accent);margin-top:auto;padding-top:6px}
@media (max-width:900px){.services{grid-template-columns:1fr 1fr}.services article.feature{grid-column:span 2;grid-template-columns:1fr}}
@media (max-width:560px){.services{grid-template-columns:1fr}.services article.feature{grid-column:span 1}}

/* Gallery */
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.gal figure{margin:0;position:relative;overflow:hidden;background:var(--surface);aspect-ratio:4/3}
.gal figure img{width:100%;height:100%;object-fit:cover}
.gal figure.wide{grid-column:span 2;aspect-ratio:8/4.4}
.gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 12px 10px;font-size:13px;color:var(--ink);background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.75))}
@media (max-width:760px){.gal{grid-template-columns:1fr 1fr}.gal figure.wide{grid-column:span 2}}

/* About */
.about{background:var(--bg-2);border-block:1px solid var(--line)}
.about .wrap{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.about img{width:100%;aspect-ratio:4/3;object-fit:cover}
.about .txt{display:flex;flex-direction:column;gap:16px}
.about .txt p{color:var(--ink-2)}
.about .tag{font-family:var(--display);font-size:20px;line-height:1.3;color:var(--ink);border-left:3px solid var(--accent);padding-left:14px}
@media (max-width:820px){.about .wrap{grid-template-columns:1fr}}

/* Process */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:step;padding:0;margin:0}
.steps li{list-style:none;display:flex;flex-direction:column;gap:8px;min-width:0;border-top:2px solid var(--line);padding-top:14px}
.steps li::before{counter-increment:step;content:"0" counter(step);font-family:var(--display);font-weight:800;font-size:30px;line-height:1;color:var(--accent)}
.steps li b{font-family:var(--display);font-size:19px;font-weight:800}
.steps li p{color:var(--muted);font-size:15px}
@media (max-width:860px){.steps{grid-template-columns:1fr 1fr}}

/* Reviews */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.review{background:var(--surface);border:1px solid var(--line);padding:20px;display:flex;flex-direction:column;gap:10px;min-width:0}
.review .stars{color:var(--accent);letter-spacing:2px;font-size:18px}
.review .slot{border:1.5px dashed var(--line);padding:12px;color:var(--muted);font-size:14.5px;font-style:italic}
.review .who{font-weight:600;font-size:14px;color:var(--muted)}
@media (max-width:760px){.reviews{grid-template-columns:1fr}}

/* Area */
.area .wrap{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.suburbs{display:flex;flex-wrap:wrap;gap:8px}
.suburbs span{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:14px;font-weight:600;color:var(--ink-2)}
@media (max-width:760px){.area .wrap{grid-template-columns:1fr}}

/* Smart Enquiry */
.enquiry{background:#F2F2F2;color:#0B0B0B;padding-block:72px;color-scheme:light}
.enquiry .eyebrow{color:#555}
.enquiry .lede{color:#333}
.enquiry .side{display:grid;grid-template-columns:1fr 1.4fr;gap:40px;align-items:start}
.enquiry .aside{display:flex;flex-direction:column;gap:22px}
.enquiry .aside .call{background:#0B0B0B;color:#fff;padding:20px;display:flex;flex-direction:column;gap:6px}
.enquiry .aside .call b{font-family:var(--display);font-size:26px;font-weight:400}
.enquiry .aside .call small{color:#aaa;font-size:13.5px}
@media (max-width:900px){.enquiry .side{grid-template-columns:1fr}}
.form-shell{background:#fff;color:#0B0B0B;padding:26px;box-shadow:0 20px 60px rgba(0,0,0,.18);border-top:4px solid var(--accent)}
@media (max-width:560px){.form-shell{padding:18px}}
.progress{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;font-size:13.5px;color:#666;font-weight:600}
.bar{height:5px;background:#E6E6E6;overflow:hidden;margin-bottom:24px}
.bar i{display:block;height:100%;background:var(--accent);width:25%;transition:width .3s}
.step h3{font-size:28px;margin-bottom:6px}
.step .hint{color:#666;font-size:15px;margin-bottom:18px}
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.field > span{font-weight:700;font-size:15px}
.field .sub{color:#666;font-weight:400;font-size:14px}
.opts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.opts.two{grid-template-columns:1fr 1fr}
.opts.four{grid-template-columns:repeat(4,1fr)}
@media (max-width:560px){.opts,.opts.four{grid-template-columns:1fr 1fr}}
.opt{position:relative;display:flex;flex-direction:column;gap:3px;border:1.5px solid #D6D6D6;padding:12px;cursor:pointer;background:#fff;min-height:52px;justify-content:center}
.opt input{position:absolute;opacity:0;width:1px;height:1px}
.opt b{font-weight:700;font-size:15px;line-height:1.2}
.opt small{color:#666;font-size:13px}
.opt:has(input:checked){border-color:#0B0B0B;background:#0B0B0B;color:#fff}
.opt:has(input:checked) small{color:#bbb}
.opt:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}
input[type=text],input[type=tel],input[type=email],input[type=number],select,textarea{width:100%;font:inherit;font-size:16px;padding:12px;border:1.5px solid #D6D6D6;background:#fff;color:#0B0B0B;min-height:48px;border-radius:0}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){.row{grid-template-columns:1fr}}
.len{display:flex;align-items:center;gap:10px}
.len input{max-width:140px}
.len .unit{font-weight:700;color:#666}
.quick{display:flex;flex-wrap:wrap;gap:6px}
.quick button{border:1px solid #D6D6D6;background:#F2F2F2;border-radius:999px;padding:5px 11px;font-size:13px;font-weight:600;color:#0B0B0B}
.upload{border:1.5px dashed #BDBDBD;padding:16px;text-align:center;color:#555;font-size:15px;cursor:pointer;background:#F7F7F7}
.upload input{display:none}
.thumbs{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.thumbs img{width:72px;height:72px;object-fit:cover;border:1px solid #D6D6D6}
.err{color:var(--accent);font-size:14px;font-weight:700;min-height:20px}
.nav-row{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:8px}
.nav-row .btn{font-size:15px;padding:10px 18px}
.nav-row .btn.ghost{color:#0B0B0B;border-color:#0B0B0B}
.fine{font-size:13px;color:#666;margin-top:14px}
.done{display:flex;flex-direction:column;gap:16px}
.done .tick{width:56px;height:56px;border-radius:50%;background:var(--good);color:#06110A;display:grid;place-items:center;font-size:28px;font-weight:800}
.done h3{font-size:32px}
.summary{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;background:#F2F2F2;padding:16px;font-size:15px}
.summary div{display:flex;flex-direction:column;min-width:0}
.summary small{color:#666;font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:700}
@media (max-width:480px){.summary{grid-template-columns:1fr}}
.demo-note{border-left:3px solid var(--accent);padding:10px 14px;background:#FBEDE7;font-size:14.5px}
.demo-note a{font-weight:700}

/* Footer */
footer.site{border-top:1px solid var(--line);background:var(--bg-2);padding-block:40px}
footer .wrap{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:28px;font-size:15px}
footer .col{display:flex;flex-direction:column;gap:6px;min-width:0;color:var(--ink-2)}
footer .col b{font-family:var(--display);text-transform:uppercase;letter-spacing:.14em;font-size:12px;color:var(--muted);font-weight:400}
footer .col img{height:40px;width:auto;margin-bottom:8px}
footer .copy{color:var(--muted);font-size:13px;margin-top:22px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
footer .copy a{color:var(--muted)}
@media (max-width:760px){footer .wrap{grid-template-columns:1fr}}
