:root{--navy:#102630;--ink:#172d37;--muted:#52616a;--gold:#d4a332;--gold-light:#f0c66b;--gold-deep:#7b591e;--line:#dbe1e3;--paper:#f3f6f7;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6.5rem}
body{margin:0;background:white;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{line-height:1.2}h1,h2{letter-spacing:-.035em;font-weight:650;text-wrap:balance}h2{font-size:clamp(1.9rem,3.1vw,2.65rem)}h3{font-size:1.2rem;font-weight:650}
a{color:inherit;text-underline-offset:4px}button,summary{font:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid var(--gold-deep);outline-offset:5px}img{display:block;max-width:100%}[hidden]{display:none!important}
.hero :focus-visible,.contact :focus-visible,footer :focus-visible{outline-color:var(--gold)}.mission :focus-visible{outline-color:var(--navy)}
.wrap{width:min(calc(100% - 3rem),var(--max));margin-inline:auto}
.skip{position:fixed;top:-5rem;left:1rem;z-index:100;background:white;padding:.6rem 1rem}.skip:focus{top:1rem}
.eyebrow{font-size:.875rem;font-weight:650;letter-spacing:.1em;text-transform:none;color:var(--gold-deep);margin-bottom:.8rem}
.button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;padding:.7rem 1.15rem;border:1px solid transparent;border-radius:3px;font-size:.95rem;font-weight:650;text-decoration:none;line-height:1.4}
.button.primary{background:var(--gold);color:var(--navy)}.button.primary:hover{background:var(--gold-light)}
.button.outline{border-color:#c6d0d4;background:transparent}.button.outline:hover{background:var(--paper);color:var(--navy)}
.button.dark{background:var(--navy);color:white}.actions{display:flex;flex-wrap:wrap;gap:.75rem}
header{position:sticky;top:0;z-index:20;background:white;border-bottom:1px solid var(--line)}
.nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;flex-shrink:0}.brand img{width:43px;height:53px;object-fit:contain}
.brand-name{font-size:1rem;font-weight:750;line-height:1.15;letter-spacing:-.02em}
.brand-name small{display:block;font-size:.75rem;color:var(--muted);font-weight:550;margin-top:.22rem;letter-spacing:.055em}
.desktop-nav{display:flex;align-items:center;gap:1.65rem}.desktop-nav a{font-size:.9rem;font-weight:550;text-decoration:none}.desktop-nav a:hover{text-decoration:underline}.desktop-nav .button{color:white}.mobile-menu{display:none}
.hero{position:relative;isolation:isolate;background:var(--navy);color:white;overflow:hidden}
.hero-media{position:absolute;inset:0 0 0 48%;width:52%;height:100%;object-fit:cover;object-position:50% 44%;background:var(--navy)}
.hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,var(--navy) 0%,var(--navy) 40%,rgba(16,38,48,.9) 46%,rgba(16,38,48,.2) 63%,transparent 78%)}
.hero-inner{position:relative;min-height:560px;display:flex;align-items:center;z-index:2}.hero-copy{width:54%;padding:4.25rem 0 4.75rem}.hero .eyebrow{color:var(--gold-light)}
h1{max-width:620px;font-size:clamp(2.4rem,4.2vw,3.65rem);line-height:1.1}
.hero-lead{max-width:475px;color:#e0e8eb;font-size:1.08rem;line-height:1.65;margin:1.4rem 0 1.7rem}
.hero .outline{color:white;border-color:#a2b0b6}.hero-note{font-size:.875rem;color:#ced9dd;margin-top:1.2rem}
.video-control{position:absolute;z-index:3;bottom:1rem;right:1.5rem;display:flex;align-items:center;gap:.55rem;padding:.45rem .7rem;min-height:40px;border:1px solid #bac3c5;border-radius:3px;color:white;background:rgba(16,38,48,.85);font-size:.875rem}
.video-control::before{content:"";width:8px;height:11px;border-inline:2px solid currentColor}.video-control[data-paused="true"]::before{width:0;height:0;border:5px solid transparent;border-left:8px solid currentColor;border-right:0}
.proof-strip{border-bottom:1px solid var(--line);background:white}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);padding-block:1.35rem}
.proof{padding-inline:1.5rem;border-left:1px solid var(--line);font-size:.9rem}.proof:first-child{padding-left:0;border:0}.proof strong{font-weight:650;display:block}.proof span{color:var(--muted);font-size:.875rem}
.section{padding:5rem 0}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end;margin-bottom:2.5rem}.section-heading>p{color:var(--muted);max-width:520px}
.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 3rem;border-top:1px solid var(--line)}.service{padding:1.8rem 0;border-bottom:1px solid var(--line)}.service h3{margin-bottom:.7rem}.service p{color:var(--muted);max-width:500px}.service-number{font-size:.875rem;color:var(--gold-deep);display:block;margin-bottom:.8rem}
.contractor{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem;margin-top:2.75rem;padding:1.8rem 2rem;border-left:3px solid var(--gold);background:var(--paper)}.contractor p{color:var(--muted)}.contractor a{display:inline-block;margin-top:.65rem;font-size:.95rem;font-weight:650}
.pricing{background:var(--paper)}.pricing-intro{max-width:780px}.pricing-intro h2{margin-bottom:1.25rem}.pricing-intro>p:not(.eyebrow){color:var(--muted);margin-top:1rem}
.pricing-mode-title{margin-top:2rem}.pricing-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:.9rem}.pricing-card{padding:1.35rem 1.5rem;border:1px solid var(--line);border-top:3px solid var(--gold);background:white}.pricing-card strong{display:block;font-size:2rem;line-height:1.2;letter-spacing:-.04em;font-weight:650}.pricing-card strong small{font-size:1rem;letter-spacing:0}.pricing-card h4{font-size:1rem;margin:.55rem 0 .35rem}.pricing-card p{color:var(--muted);font-size:.95rem}
.pricing-charges{margin-top:1.25rem;color:var(--muted)}.project-pricing{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:2.75rem;padding-top:2rem;border-top:1px solid #cbd5d8}.project-pricing h3{margin-bottom:.8rem}.project-pricing p{color:var(--muted);margin-top:.65rem}
.faq h2{margin-bottom:1.5rem}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 2rem}.faq-item{border-top:1px solid var(--line)}.faq-item:last-child,.faq-item:nth-last-child(2){border-bottom:1px solid var(--line)}.faq-item summary{padding:1rem 1.5rem 1rem 0;font-weight:650;line-height:1.4}.faq-item p{padding:0 1rem 1rem 0;color:var(--muted)}
.report-stage{padding:1.5rem;background:var(--paper);border:1px solid var(--line)}.report-page{padding:1.5rem;background:white;border:1px solid #d8dfe2;box-shadow:0 5px 16px #10263008}
.report-brand{display:flex;gap:.75rem;align-items:center;padding-bottom:.9rem;border-bottom:2px solid var(--gold)}.report-brand img{width:31px;height:40px;object-fit:contain}.report-brand small{display:block;font-size:.75rem;font-weight:650;margin-bottom:.25rem}.report-brand h3{font-size:1.15rem;line-height:1.35}
.report-sample{font-size:.75rem;text-transform:none;letter-spacing:.06em;color:var(--muted);padding:.6rem 0}.report-fields{display:grid;grid-template-columns:1fr 1fr;gap:.45rem 1rem;font-size:.875rem;padding:.5rem 0 1rem;border-bottom:1px solid var(--line)}
.report-heading{font-size:.95rem;font-weight:700;margin:1.05rem 0 .6rem;border-left:3px solid var(--gold);padding-left:.55rem}.blank-line{height:1px;background:#e3e8eb;margin:11px 0;width:100%}.blank-line.short{width:68%}
.report-area{background:var(--navy);color:white;font-size:.875rem;font-weight:600;padding:.5rem .65rem}.report-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.875rem;line-height:1.5}.report-table th,.report-table td{border:1px solid var(--line);padding:.55rem .65rem;text-align:left;vertical-align:top}.report-table th{width:53%;font-weight:600}
.report-followup{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem;font-size:.875rem;color:var(--muted)}.report-followup span+span::before{content:"/";padding-right:.5rem;color:#aebbc1}
.report-stage figcaption{margin-top:.85rem;color:var(--muted);font-size:.875rem;line-height:1.5}.report-details{border-top:1px solid var(--line);margin-top:1rem;font-size:.875rem}.report-details summary{min-height:44px;padding:.7rem 0;font-weight:600}.report-details ul{margin:0 0 1rem;padding-left:1.2rem}
.work{background:var(--paper)}.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.project{background:white;border:1px solid var(--line)}
.project-photos{display:grid;grid-template-columns:1fr 1fr;gap:3px}.project>img,.project-photos{width:100%;height:285px}.project img{width:100%;height:100%;object-fit:cover}.project>img{height:285px}.project-photos img:first-child{object-position:50% 40%}
.project-copy{padding:1.5rem}.project-type{color:var(--gold-deep);font-size:.875rem;margin-bottom:.45rem}.project h3{margin-bottom:.7rem}.project-copy>p:last-child{color:var(--muted)}
.about-grid{display:grid;grid-template-columns:.68fr 1.32fr;gap:4.5rem;align-items:center}.owner-photo{width:100%;height:auto;aspect-ratio:4/4.5;object-fit:cover;object-position:50% 32%;background:var(--paper)}
.owner-caption{padding:1rem 0;border-bottom:1px solid var(--line);font-size:.875rem;color:var(--muted)}.owner-caption strong{display:block;color:var(--ink);font-size:1rem}.about-copy h2{margin-bottom:1.3rem}.about-copy>p:not(.eyebrow){margin-top:1rem;color:var(--muted)}
.mission{background:var(--gold);color:var(--navy);padding:6rem 0}.mission-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:4.5rem;align-items:start}.mission .eyebrow{color:var(--navy)}.mission h2{font-size:clamp(2.4rem,4vw,3.6rem)}.mission p:not(.eyebrow){font-size:clamp(1.15rem,1.65vw,1.4rem);line-height:1.7;max-width:750px}
.contact{background:var(--navy);color:white;padding:4rem 0}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem;align-items:start}.contact h2{font-size:2.2rem}.contact p{max-width:590px;color:#d2dee3;margin-top:1rem}.contact-form{background:white;color:var(--ink);padding:1.5rem;border-top:3px solid var(--gold)}.contact-form h3{margin-bottom:1rem}.contact-form iframe{display:block;width:100%;border:0}.contact-form-fallback{font-size:.875rem;color:var(--muted)!important;margin-top:.5rem!important}.contact-form-fallback a{color:var(--ink)}.contact .contact-privacy{font-size:.875rem}
.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:.8rem}.contact-actions a:not(.button){font-size:.95rem}
footer{padding:2rem 0;background:#0b1c24;color:#d2dee3}.footer-grid{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.5rem;font-size:.875rem}footer strong{color:white;font-weight:600}footer p{margin-top:.25rem}footer a{overflow-wrap:anywhere}
@media(max-width:1000px){.desktop-nav{gap:1rem}.desktop-nav a{font-size:.875rem}.about-grid{gap:2.5rem}.section-heading,.project-pricing{gap:2rem}.hero-copy{width:59%}.hero-media{left:46%;width:54%}.proof{padding-inline:1rem}}
@media(max-width:800px){
.desktop-nav{display:none}.mobile-menu{display:block}.mobile-menu summary{padding:.5rem .8rem;min-height:44px;border:1px solid #c4cfd4;border-radius:3px;font-size:.95rem}
.mobile-menu nav{position:absolute;left:0;right:0;top:100%;padding:1rem 1.5rem 1.5rem;background:white;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.mobile-menu nav a{display:block;padding:.65rem .5rem;text-decoration:none}.mobile-menu nav .button{color:white}
.nav{min-height:76px}.hero-inner{min-height:540px}.hero-copy{width:65%}.hero-lead{font-size:1rem}.hero::after{background:linear-gradient(90deg,var(--navy) 0%,rgba(16,38,48,.97) 28%,rgba(16,38,48,.7) 50%,transparent 100%)}
.proof-grid{grid-template-columns:1fr 1fr;gap:1rem}.proof:nth-child(3){border:0;padding-left:0}.section{padding:3.5rem 0}
.report-stage{max-width:650px}
.contractor{grid-template-columns:1fr;gap:1rem;padding:1.5rem}.pricing-cards{gap:.75rem}.pricing-card{padding:1.1rem}
.about-grid{grid-template-columns:.8fr 1.2fr;gap:2rem;align-items:start}.mission-grid{gap:2rem}.project>img,.project-photos{height:235px}
.contact-grid{grid-template-columns:1fr;gap:1.7rem}.contact-actions{flex-direction:row;flex-wrap:wrap;align-items:center;gap:1.5rem}}
@media(max-width:560px){
html{scroll-padding-top:5.8rem}.wrap{width:calc(100% - 2rem)}.brand-name{font-size:.95rem}.brand img{width:36px;height:46px}.nav{min-height:70px;gap:.75rem}
.hero-media{inset:0;width:100%;object-position:50% 25%}.hero-inner{min-height:590px;align-items:flex-end}.hero::after{background:linear-gradient(0deg,var(--navy) 0%,rgba(16,38,48,.97) 22%,rgba(16,38,48,.88) 52%,rgba(16,38,48,.05) 93%)}
.hero-copy{width:100%;padding:11rem 0 3.6rem}.hero .eyebrow{font-size:.8rem;margin-bottom:.65rem}h1{font-size:clamp(2rem,8.5vw,2.8rem);max-width:450px}.hero-lead{margin:1rem 0 1.2rem;max-width:430px}
.hero .actions{gap:.6rem}.hero .button{padding:.65rem .8rem;font-size:.875rem;flex:1 1 auto}.hero-note{font-size:.8rem;margin-top:1rem}.video-control{right:1rem;bottom:.7rem;min-height:34px;padding:.3rem .6rem;font-size:.8rem}
.proof-grid{gap:.9rem;padding-block:1.2rem}.proof{font-size:.875rem;padding-left:1rem;padding-right:0}.proof span{font-size:.8rem}
.section-heading{grid-template-columns:1fr;gap:1rem;margin-bottom:2rem}.service-grid,.project-pricing,.work-grid,.about-grid{grid-template-columns:1fr}.service{padding:1.5rem 0}.service-number{float:right;margin:0 0 0 1rem}
.project-pricing{gap:1.7rem}.pricing-cards,.faq-grid{grid-template-columns:1fr;gap:.75rem}.pricing-card{padding:1rem 1.2rem}.pricing-card strong{font-size:1.8rem}.faq-grid{gap:0}.faq-item:nth-last-child(2){border-bottom:0}
.report-stage{padding:.7rem}.report-page{padding:1rem}.report-fields{gap:.6rem .7rem}.report-table th,.report-table td{padding:.5rem}.report-brand h3{font-size:1rem}
.project>img,.project-photos{height:265px}.project-copy{padding:1.25rem}.owner-photo{max-height:450px;object-position:50% 28%}
.mission{padding:4.5rem 0}.mission-grid{grid-template-columns:1fr;gap:1.5rem}
.contact{padding:2.7rem 0}.contact h2{font-size:1.9rem}.contact-actions{gap:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.audience-card{border:1px solid var(--line);background:white;overflow:hidden}
.audience-card img{width:100%;height:230px;object-fit:cover}
.audience-card-body{padding:1.5rem}.audience-card-body p{color:var(--muted);margin:.7rem 0 1.2rem}
.audience-hero{background:var(--navy);color:white;position:relative;isolation:isolate;overflow:hidden}
.audience-hero>img{position:absolute;inset:0 0 0 48%;width:52%;height:100%;object-fit:cover;z-index:-2}
.audience-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--navy) 0%,var(--navy) 38%,rgba(16,38,48,.88) 52%,rgba(16,38,48,.14) 85%)}
.audience-hero .hero-inner{min-height:440px}.audience-hero .hero-copy{padding-block:4rem}
.audience-hero .eyebrow{color:var(--gold-light)}
.audience-hero .outline{color:white;border-color:#a2b0b6}
.audience-hero .hero-lead{max-width:520px}
.audience-next{background:var(--paper);padding:2.5rem 0}.audience-next .wrap{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.audience-next p{color:var(--muted)}
.commercial-value{background:var(--paper)}.commercial-value .service-grid{border-top-color:#cbd5d8}
.report-showcase{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.report-showcase .report-stage{min-width:0}.report-showcase .report-page{min-height:425px}.report-showcase .report-table{font-size:.82rem}.report-showcase .report-table th{width:54%}
@media(max-width:800px){.audience-hero>img{left:40%;width:60%}.audience-hero::after{background:linear-gradient(90deg,var(--navy),rgba(16,38,48,.9) 46%,rgba(16,38,48,.35))}}
@media(max-width:800px){.reporting .section-heading,.report-showcase{grid-template-columns:1fr}.reporting .section-heading{gap:1rem}.report-showcase .report-page{min-height:0}}
@media(max-width:560px){.audience-grid{grid-template-columns:1fr}.audience-card img{height:210px}.audience-hero>img{inset:0;width:100%;object-position:center 35%}.audience-hero::after{background:linear-gradient(0deg,var(--navy) 0%,rgba(16,38,48,.96) 48%,rgba(16,38,48,.25) 100%)}.audience-hero .hero-inner{min-height:500px;align-items:flex-end}.audience-hero .hero-copy{width:100%;padding:9rem 0 2.5rem}.audience-next .wrap{display:block}.audience-next .button{margin-top:1rem}}

.travel-title{font-size:1.2rem;margin:2rem 0 .65rem;letter-spacing:0}.travel-basis{color:var(--muted);margin-bottom:1rem}.travel-rates{width:100%;border-collapse:collapse;text-align:left;background:white;font-size:.95rem;line-height:1.45}.travel-rates th,.travel-rates td{padding:.8rem 1rem;border-bottom:1px solid var(--line)}.travel-rates thead{background:var(--navy);color:white}.travel-rates tbody th{font-weight:550}.travel-rates tbody td{color:var(--muted)}@media(max-width:560px){.travel-rates{font-size:.85rem}.travel-rates th,.travel-rates td{padding:.65rem .5rem}}

.travel-charges{margin-top:2rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.travel-charges>summary{padding:1rem 0;font-size:1.2rem;font-weight:650;line-height:1.4}.travel-content{padding-bottom:1rem}

/* Service visit requests: buttons stay in normal page flow. */
.desktop-nav .request-nav{white-space:nowrap;padding:.65rem .85rem;font-weight:650}
.mobile-menu nav .request-nav{grid-column:1/-1;text-align:center}
.footer-visit p{font-size:.82rem;margin-top:.5rem}
.visit-prompt{background:var(--paper);padding:2.75rem 0;border-block:1px solid var(--line)}.visit-prompt>.wrap{display:flex;align-items:center;justify-content:space-between;gap:2rem}.visit-prompt p:not(.eyebrow){color:var(--muted);margin-top:.75rem;max-width:700px}.visit-prompt .button{flex-shrink:0}
.request-hero{padding:4.5rem 0;background:var(--navy);color:white}.request-intro{max-width:900px}.request-hero .eyebrow{color:var(--gold-light)}.request-hero h1{max-width:850px}.request-hero p:not(.eyebrow){max-width:760px;color:#e0e8eb}.request-lead{font-size:1.4rem;line-height:1.5;margin:1.5rem 0 .8rem}.request-hero .button{margin-top:1.6rem}
.request-process h2{margin-bottom:2rem}.request-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.request-steps li{border-top:2px solid var(--gold);padding-top:1.1rem}.request-steps li>span{display:block;color:var(--gold-deep);font-size:.875rem;margin-bottom:.65rem}.request-steps h3{margin-bottom:.65rem}.request-steps p{color:var(--muted)}
.request-calendar{background:var(--paper);padding-top:3.5rem}.request-calendar-heading{max-width:850px;margin-bottom:1.75rem}.request-calendar-heading p:not(.eyebrow){color:var(--muted);margin-top:1rem}.cal-service-visit{min-height:650px;width:100%;background:white;border:1px solid var(--line);border-radius:5px;overflow:clip}.cal-service-visit iframe{width:100%;border:0;display:block}.calendar-loading{padding:1.5rem;color:var(--muted)}.calendar-fallback{margin-top:1.2rem}.request-privacy{font-size:.875rem;color:var(--muted);margin-top:1rem}.request-options{display:grid;grid-template-columns:1.3fr 1fr;gap:3rem}.request-options h2{margin-bottom:1rem}.request-options .actions{margin-top:1.5rem}.request-pricing{padding:1.75rem;background:var(--paper);border-top:3px solid var(--gold)}.request-pricing p{margin:.85rem 0;color:var(--muted)}
@media(min-width:801px) and (max-width:1100px){.desktop-nav{display:none}.mobile-menu{display:block}.mobile-menu summary{padding:.5rem .8rem;min-height:44px;border:1px solid #c4cfd4;border-radius:3px;font-size:.95rem}.mobile-menu nav{position:absolute;left:0;right:0;top:100%;padding:1rem 1.5rem 1.5rem;background:white;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.mobile-menu nav a{display:block;padding:.65rem .5rem;text-decoration:none}.mobile-menu nav .button{color:white}}
@media(max-width:800px){.request-steps{grid-template-columns:1fr;gap:1.5rem}.request-options{grid-template-columns:1fr;gap:2rem}.visit-prompt>.wrap{display:block}.visit-prompt .button{margin-top:1.5rem}.request-hero{padding:3rem 0}.request-lead{font-size:1.2rem}.request-calendar{padding-top:2.5rem}}
@media(max-width:560px){.request-hero .button,.visit-prompt .button{width:100%}.cal-service-visit{min-height:760px}.request-pricing{padding:1.25rem}.request-options .actions{display:grid}.contact-actions .button{width:100%}}

/* One scheduling destination; concise next steps replace repeated enquiry forms. */
.service-next-step{padding:3.5rem 0;background:var(--paper);border-top:1px solid var(--line)}.service-next-step>.wrap{display:grid;grid-template-columns:1.25fr 1fr;gap:4rem;align-items:start}.service-next-step h2{max-width:620px}.service-next-step p:not(.eyebrow){color:var(--muted);margin:1rem 0 1.4rem;max-width:640px}.service-next-step aside{border-left:2px solid var(--gold);padding-left:1.5rem}.service-next-step aside p{margin:.75rem 0 1rem}.service-next-step aside a{font-weight:650}.pricing-request-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.footer-links a{font-weight:550}
@media(max-width:800px){.service-next-step>.wrap{grid-template-columns:1fr;gap:2rem}.service-next-step aside{padding-left:1.25rem}.service-next-step{padding:2.75rem 0}}
@media(max-width:560px){.service-next-step .button,.pricing-request-actions .button{width:100%}}

.pricing-notes{margin-top:2rem;max-width:78ch}.pricing-notes h2{font-size:1.3rem;margin-bottom:.65rem}.pricing-card p{line-height:1.65}

/* Owner-operated service pages */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.owner-hero .hero-inner{min-height:650px}.owner-hero .hero-copy{width:55%;padding-block:3.5rem}.owner-hero h1{font-size:clamp(2.4rem,4.1vw,3.5rem)}.owner-hero .hero-lead{margin:1.2rem 0 .9rem}.hero-personal{color:#e0e8eb;max-width:510px;margin:.8rem 0;line-height:1.65}.owner-hero .actions{margin-top:1.6rem}.service-directory .service h3 a{text-decoration:none}.service-directory .service h3 a:hover{text-decoration:underline}.service-link{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;font-size:.92rem;font-weight:650}.home-process{background:var(--paper)}.home-commercial .contractor{margin-top:0}.service-hero{padding:1.6rem 0 4rem;background:var(--navy);color:white}.breadcrumbs{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.8rem;color:#ced9dd;margin-bottom:2.5rem}.service-hero-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.85fr);gap:4rem;align-items:center}.service-hero .eyebrow,.service-contact .eyebrow{color:var(--gold-light)}.service-hero h1{font-size:clamp(2.2rem,3.8vw,3.3rem);max-width:760px}.service-deck{font-size:1.17rem;font-weight:550;color:var(--gold-light);margin:1.1rem 0}.service-hero-copy>p:not(.eyebrow):not(.service-deck){color:#e0e8eb;margin:.85rem 0;max-width:650px}.service-hero .actions{margin-top:1.6rem;align-items:center;gap:1rem}.service-phone{font-size:.95rem;white-space:nowrap}.service-price{padding:2rem;background:#193540;border:1px solid #45606b;border-top:3px solid var(--gold);border-radius:3px;align-self:center}.price-label{display:block;color:#e0e8eb;font-size:.9rem}.service-price strong{font-size:3rem;letter-spacing:-.045em;line-height:1.3;display:block;margin:.5rem 0}.service-price p{color:#d2dee3;font-size:.92rem;line-height:1.65}.service-price>a{display:inline-block;margin-top:1.2rem;font-size:.9rem;font-weight:650}.service-body-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:4.5rem}.service-prose h2{font-size:clamp(1.7rem,2.7vw,2.2rem);margin-bottom:1.2rem}.service-prose>p:not(.eyebrow){color:var(--muted);margin:.9rem 0;max-width:70ch}.service-prose ul{padding-left:1.25rem;color:var(--muted);margin:1rem 0}.service-prose li{padding:.25rem 0}.service-guidance{border-left:2px solid var(--gold);padding-left:2rem}.service-work-photo{margin-top:1.5rem}.service-work-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.service-work-photo figcaption{font-size:.82rem;color:var(--muted);margin-top:.5rem}.service-faq{background:var(--paper)}.service-contact-inner{max-width:900px}.service-contact .actions{margin:1.5rem 0 1rem}.service-contact .outline{color:white;border-color:#a2b0b6}.service-contact .outline:hover{color:var(--navy)}.contact-email{display:inline-block;font-size:.95rem;overflow-wrap:anywhere}.related-services{padding-block:2.5rem}.related-services h2{font-size:1.3rem;margin-bottom:1rem}.related-services nav{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem}.related-services a{font-size:.9rem}.footer-services{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;padding-top:1.5rem;margin-top:1.5rem;border-top:1px solid #32444b;font-size:.82rem}.project-price-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.project-price-card{padding:1.5rem;border:1px solid var(--line);border-top:3px solid var(--gold)}.project-price-card h3 a{text-decoration:none}.project-price-amount{font-size:1.6rem;font-weight:650;margin:.8rem 0}.project-price-card>p:not(.project-price-amount){font-size:.92rem;color:var(--muted)}
@media(max-width:1000px){.service-hero-grid{gap:2rem;grid-template-columns:minmax(0,1.4fr) minmax(240px,.85fr)}.service-body-grid{gap:2.5rem}.service-price{padding:1.5rem}}
@media(max-width:800px){.owner-hero .hero-copy{width:70%}.service-hero-grid,.service-body-grid{grid-template-columns:1fr;gap:2rem}.service-price{max-width:650px}.service-guidance{padding-left:1.25rem}.service-hero{padding-bottom:2.75rem}.breadcrumbs{margin-bottom:1.75rem}.service-price strong{font-size:2.5rem}}
@media(max-width:560px){.owner-hero .hero-copy{width:100%;padding:10rem 0 3rem}.owner-hero .hero-inner{min-height:0}.owner-hero h1{font-size:clamp(2.05rem,8.4vw,2.8rem)}.owner-hero .hero-personal{font-size:.95rem}.service-hero h1{font-size:clamp(2rem,8.5vw,2.7rem)}.service-deck{font-size:1.05rem}.service-hero .actions,.service-contact .actions{display:flex;flex-direction:column;align-items:stretch}.service-hero .button,.service-contact .button{width:100%}.service-phone{text-align:center;padding:.3rem}.service-price{padding:1.25rem}.project-price-grid{grid-template-columns:1fr}.footer-services{display:grid;grid-template-columns:1fr;gap:.75rem}.related-services nav{display:grid;gap:.8rem}.service-contact{padding-block:3rem}}

/* Project enquiries */
.request-hero .contact-steps li:not([aria-current="step"]){color:#e1e9ed;border-color:#8fa2ab}.request-hero .contact-steps li:not([aria-current="step"]) span{background:#dce6eb;color:var(--navy)}
.contact-steps{display:flex;gap:1.5rem;list-style:none;padding:0;margin:1.75rem 0;max-width:650px}.contact-steps li{display:flex;align-items:center;gap:.65rem;font-size:.95rem;color:var(--muted);padding:.8rem 1rem;border:1px solid var(--line);border-radius:4px;flex:1}.contact-steps li[aria-current="step"]{color:var(--ink);border-color:var(--gold-deep);background:#fcf6e8;font-weight:650}.contact-steps span{display:inline-grid;place-items:center;background:var(--navy);color:white;border-radius:50%;width:1.7rem;height:1.7rem;flex-shrink:0}.anchor-target{scroll-margin-top:100px}.booking-help{padding:1.5rem;margin-top:1.5rem;border-left:3px solid var(--gold);background:white}.booking-help p{margin-top:.75rem}[hidden]{display:none!important}@media(max-width:560px){.contact-steps{gap:.6rem}.contact-steps li{font-size:.8rem;padding:.7rem .6rem;gap:.4rem}.contact-steps span{width:1.5rem;height:1.5rem}}
.request-personal-note{margin-top:1.2rem;font-size:.95rem}.request-form-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:3rem;align-items:start}.enquiry-form{min-width:0}.enquiry-form iframe{display:block;width:100%;border:0}.enquiry-guidance h4{font-size:1rem;margin:1.5rem 0 .5rem}.enquiry-guidance p{font-size:.94rem}.form-fallback{margin-top:1rem;font-size:.9rem;color:var(--muted)}.project-enquiry .section-heading{align-items:start}.project-enquiry .section-heading>p{max-width:570px}.request-calendar{background:var(--paper)}.request-calendar-heading>p{margin:.8rem 0;max-width:760px}
@media(max-width:900px){.request-form-grid{grid-template-columns:1fr;gap:2rem}.enquiry-guidance{max-width:none}.project-enquiry .section-heading{display:block}.project-enquiry .section-heading>p{margin-top:1rem;max-width:none}}

/* Local review version: no production changes. */
.preview-bar{background:#f6e9c8;color:var(--navy);font-size:.78rem;padding:.55rem 0;border-bottom:1px solid #dec991}.preview-bar>.wrap{display:flex;justify-content:space-between;align-items:center;gap:.7rem}.preview-bar nav{display:flex;gap:1.2rem}.preview-bar a{font-weight:600}.preview-bar strong{font-weight:650}.owner-hero .hero-inner{min-height:570px}.owner-hero .hero-copy{padding-block:3.5rem}.home-overview .section-heading{margin-bottom:1.75rem}.home-service-links{display:grid;grid-template-columns:repeat(3,1fr);gap:0 2rem;border-top:1px solid var(--line)}.home-service-links a{display:flex;justify-content:space-between;gap:.75rem;padding:1.25rem 0;border-bottom:1px solid var(--line);text-decoration:none;font-weight:600}.home-service-links a:hover{text-decoration:underline}.home-service-links span{color:var(--gold-deep)}.package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.package-card{padding:2rem;border:1px solid var(--line);border-top:3px solid var(--gold);background:white}.package-card h3{font-size:1.5rem}.package-amount{font-size:2.5rem;line-height:1.25;font-weight:650;color:var(--ink)!important;letter-spacing:-.035em;margin:1.2rem 0!important}.package-amount span{font-size:1rem;font-weight:500;letter-spacing:0;white-space:nowrap}.package-card ul{padding-left:1.2rem;color:var(--muted);margin:1.5rem 0 0}.package-card li{padding:.35rem 0}.package-notes{margin-top:2rem;max-width:85ch;color:var(--muted)}.package-notes p+p{margin-top:.8rem}.preview-form-placeholder{padding:2rem;border:1px solid var(--line);background:var(--paper)}.preview-form-placeholder p{margin:1rem 0}.preview-form-placeholder label{display:block;margin:1rem 0}.preview-form-placeholder input,.preview-form-placeholder select,.preview-form-placeholder textarea{display:block;padding:.8rem;width:100%;margin:.4rem 0;border:1px solid #bac7cd;border-radius:3px;font:inherit;background:white}.preview-form-placeholder button{opacity:.6}
@media(max-width:1180px){.desktop-nav{gap:1rem}.desktop-nav a{font-size:.84rem}}
@media(max-width:800px){.preview-bar>.wrap{align-items:flex-start;flex-direction:column}.preview-bar nav{flex-wrap:wrap;gap:.5rem 1.2rem}.home-service-links{grid-template-columns:1fr 1fr}.package-card{padding:1.5rem}}
@media(max-width:560px){.home-service-links,.package-grid{grid-template-columns:1fr}.package-amount{font-size:2rem}.owner-hero .hero-inner{min-height:0}.owner-hero .hero-copy{padding:9rem 0 3rem}.about-copy h2{font-size:2rem}.mission h2{font-size:2.4rem}}

/* Services dropdown navigation */
.services-menu{position:relative}.services-menu>summary{list-style:none;display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:550;min-height:44px}.services-menu>summary::-webkit-details-marker{display:none}.services-menu>summary::after{content:"";display:block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px}.services-menu[open]>summary::after{transform:rotate(225deg);margin-top:3px}.services-menu-links{position:absolute;top:100%;left:-1rem;min-width:280px;background:white;color:var(--ink);border:1px solid var(--line);border-top:3px solid var(--gold);box-shadow:0 12px 24px #10263014;padding:.5rem;z-index:30}.desktop-nav .services-menu-links a{display:block;padding:.7rem .8rem;font-size:.9rem;text-decoration:none}.services-menu-links a:hover,.services-menu-links a:focus-visible{background:var(--paper);text-decoration:underline}.home-service-overview{border-top:1px solid var(--line);padding-top:1.5rem}.home-service-overview>p{max-width:80ch;color:var(--muted)}.home-overview-links{display:flex;flex-wrap:wrap;gap:1rem 2rem;margin-top:1.2rem}.home-overview-links a{display:inline-flex;gap:.7rem;align-items:center;font-weight:600;font-size:.95rem}.home-overview-links span{color:var(--gold-deep)}
.mobile-menu .services-menu>summary{padding:.65rem .5rem;font-size:1rem;min-height:44px}.mobile-menu .services-menu-links{position:static;min-width:0;padding:.25rem .5rem .5rem;border:0;border-left:2px solid var(--gold);box-shadow:none;margin:.25rem 0 .75rem}.mobile-menu .services-menu-links a{font-size:.85rem;padding:.6rem .5rem}
@media(max-width:560px){.home-overview-links{display:grid;gap:1rem}.mobile-menu nav{grid-template-columns:1fr}.services-menu-links{max-width:100%}}

/* Real project photos supplied by Tigley. */
.project-evidence{background:var(--paper);border-top:1px solid var(--line)}.project-evidence .section-heading{align-items:start}.job-photo{margin:0;min-width:0;background:white;border:1px solid var(--line)}.job-photo img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}.job-photo figcaption{padding:.85rem 1rem;font-size:.85rem;font-weight:600;color:var(--ink);border-top:1px solid var(--line);line-height:1.5}.job-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start}.photo-project .job-photo-pair{gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.photo-project .job-photo{border:0}.photo-project .job-photo img{height:auto;aspect-ratio:1;object-fit:contain}.photo-project .job-photo figcaption{padding:.55rem .8rem;font-size:.78rem}.photo-project>img.project-feature-photo{height:auto;aspect-ratio:2/1;object-fit:cover;object-position:center 48%}.photo-project>img.diagnostic-feature{object-position:center 55%}.photo-project .project-copy{padding:1.5rem}.photo-project .service-link{font-size:.9rem}.job-photo-note{font-size:.9rem;color:var(--muted);margin-top:1.2rem;max-width:80ch}.more-projects{margin-top:2.5rem;border-top:1px solid #c8d2d7;border-bottom:1px solid #c8d2d7}.more-projects>summary{padding:1.25rem 0;font-size:1.1rem;font-weight:650;line-height:1.5}.more-projects>.work-grid{padding:1rem 0 2rem}.diagnostic-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:4rem;align-items:center}.diagnostic-intro .job-photo{max-width:500px;justify-self:end}.diagnostic-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;margin-top:2.5rem}.outdoor-project>p{color:var(--muted);margin:.5rem 0 1.5rem;max-width:80ch}.outdoor-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-bottom:2rem}.project-evidence + .service-faq{background:white}
@media(max-width:800px){.diagnostic-intro{gap:2rem;grid-template-columns:1fr 1fr}.diagnostic-photo-grid{grid-template-columns:1fr 1fr}.job-photo-pair{gap:1rem}.photo-project .project-copy{padding:1.2rem}.job-photo figcaption{padding:.7rem .8rem}}
@media(max-width:560px){.project-evidence>.wrap>.job-photo-pair,.diagnostic-intro,.outdoor-photo-grid{grid-template-columns:1fr}.diagnostic-intro .job-photo{max-width:none;width:100%}.diagnostic-photo-grid{gap:.8rem}.diagnostic-photo-grid .job-photo figcaption{font-size:.78rem}.photo-project .job-photo-pair{gap:1px}.photo-project>img.project-feature-photo{aspect-ratio:2/1}.more-projects>summary{font-size:1rem}.diagnostic-intro{gap:1.5rem}}

/* Approved personal profile */
.about-dan .about-grid{align-items:start;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:4.5rem}
.about-dan .about-portrait{position:sticky;top:115px;margin:0}
.about-dan .owner-photo{display:block;aspect-ratio:4/5;max-height:none;object-position:50% 30%}
.about-dan .owner-caption{padding:1.15rem 0;line-height:1.7}
.calgary-roots{display:block;font-size:.8rem;margin-top:.65rem;color:var(--gold-deep);font-weight:600}
.about-dan .about-copy h2{font-size:clamp(2rem,3.5vw,3.1rem);margin-bottom:1.25rem}
.about-dan .about-copy>p{line-height:1.8;margin-top:1.2rem}
.about-dan .about-copy>.about-introduction{font-size:1.13rem;color:var(--ink)}
.about-dan .about-copy>.family-name-story{border-left:3px solid var(--gold);padding:.3rem 0 .3rem 1.25rem;color:var(--ink);margin-block:1.7rem}
.about-dan .service-link{display:inline-block;margin-top:1.5rem}
@media(max-width:900px){.about-dan .about-grid{grid-template-columns:minmax(225px,.75fr) minmax(0,1.25fr);gap:2.3rem}}
@media(max-width:650px){.about-dan .about-grid{grid-template-columns:1fr;gap:2rem}.about-dan .about-portrait{position:static;max-width:420px;width:100%;margin-inline:auto}.about-dan .owner-photo{aspect-ratio:4/4.5;max-height:450px}.about-dan .about-copy>p{line-height:1.75}}
