/* Oakview Premium 0.10.7 — Timber Doors. Scoped to .ovtd to avoid legacy builder conflicts. */
.ovtd{--td-ink:#12262d;--td-green:#5fa733;--td-cream:#f5f2eb;--td-sand:#ddc9a2;--td-line:#dedbd3;--td-muted:#607178;color:var(--td-ink);background:#fff;overflow:hidden}.ovtd *{box-sizing:border-box}.ovtd a{text-underline-offset:3px}.ovtd h1,.ovtd h2,.ovtd h3{text-wrap:balance}.ovtd p{max-width:none}.ovtd-hero{position:relative;min-height:650px;display:flex;align-items:center;color:#fff;isolation:isolate;background:#12272d}.ovtd-hero-media,.ovtd-hero-overlay{position:absolute;inset:0}.ovtd-hero-media{z-index:-3;overflow:hidden}.ovtd-hero-img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.88) contrast(1.04)}.ovtd-hero-overlay{z-index:-2;background:linear-gradient(90deg,rgba(6,23,29,.96) 0%,rgba(6,23,29,.83) 43%,rgba(6,23,29,.37) 72%,rgba(6,23,29,.15) 100%),linear-gradient(0deg,rgba(6,23,29,.4),transparent 50%)}.ovtd-hero-inner{padding:92px 0 84px}.ovtd-breadcrumbs{display:flex;gap:8px;flex-wrap:wrap;font-size:12px;color:#e8ece9;margin-bottom:46px}.ovtd-breadcrumbs a{color:#fff;text-decoration:none}.ovtd-kicker,.ovtd-eyebrow{display:inline-block;font-size:11px;line-height:1.4;font-weight:850;letter-spacing:.18em;text-transform:uppercase}.ovtd-kicker{color:#e1c896}.ovtd-eyebrow{color:#7c684a}.ovtd-eyebrow-light{color:#ddc79d}.ovtd-hero h1{font:500 clamp(46px,6.2vw,88px)/1.01 Georgia,serif;letter-spacing:-.045em;max-width:940px;margin:18px 0 23px;color:#fff}.ovtd-hero h1 em{font-weight:400;color:#e1c896}.ovtd-hero p{font-size:clamp(17px,2vw,20px);line-height:1.65;max-width:710px;color:#eef1ee;margin:0}.ovtd-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.ovtd-btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:54px;padding:15px 24px;text-decoration:none!important;font-weight:800;border:1px solid transparent;border-radius:3px;transition:transform .18s ease,background .18s ease}.ovtd-btn:hover{transform:translateY(-2px)}.ovtd-btn-primary{background:var(--td-sand);color:#14262c!important}.ovtd-btn-ghost{color:#fff!important;border-color:rgba(255,255,255,.5);background:rgba(12,31,37,.24)}.ovtd-hero-tags{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:45px;font-size:12px;color:#e3e9e6}.ovtd-hero-tags span:before{content:"✓";color:#93ca72;margin-right:8px}.ovtd-trust{background:#f4f0e7;border-bottom:1px solid #e3dfd5}.ovtd-trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.ovtd-trust-grid>div{padding:23px 25px;border-right:1px solid #dbd7ce}.ovtd-trust-grid>div:last-child{border-right:0}.ovtd-trust strong,.ovtd-trust span{display:block}.ovtd-trust strong{font:600 20px Georgia,serif;margin-bottom:3px}.ovtd-trust span{font-size:12px;color:var(--td-muted)}.ovtd-section{padding:clamp(68px,8vw,112px) 0}.ovtd-two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(370px,.88fr);gap:clamp(38px,7vw,90px);align-items:center}.ovtd-copy h2,.ovtd-heading h2,.ovtd-showcase h2,.ovtd-compare h2,.ovtd-faq h2,.ovtd-cta h2{font:500 clamp(34px,4.5vw,60px)/1.08 Georgia,serif;letter-spacing:-.035em;margin:14px 0 24px}.ovtd-copy p,.ovtd-heading p,.ovtd-showcase p,.ovtd-lead,.ovtd-faq-intro p{color:var(--td-muted);line-height:1.82}.ovtd-copy p{font-size:17px}.ovtd-copy a,.ovtd-showcase a{font-weight:750}.ovtd-link-row{display:flex;gap:24px;flex-wrap:wrap;margin-top:28px}.ovtd-link-row a,.ovtd-text-link{font-size:14px;font-weight:800;text-decoration:none;border-bottom:1px solid #9b896c;padding-bottom:3px}.ovtd-image-card{margin:0;background:#ece8df;padding:12px;box-shadow:0 20px 55px rgba(20,38,45,.09)}.ovtd-content-img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover}.ovtd-image-card figcaption{font-size:12px;color:#657178;padding:12px 8px 3px}.ovtd-types{background:#f6f4ef}.ovtd-heading{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:38px}.ovtd-heading>div{max-width:820px}.ovtd-heading>p{max-width:410px;margin:0 0 8px}.ovtd-type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#dedbd3;border:1px solid #dedbd3}.ovtd-type-card{background:#fff;padding:30px;min-height:310px;display:flex;flex-direction:column;transition:background .2s ease,transform .2s ease}.ovtd-type-card:hover{background:#fbfaf7;transform:translateY(-3px)}.ovtd-type-card>span{font-size:12px;color:#8e7654;font-weight:800}.ovtd-type-card h3{font:500 26px/1.18 Georgia,serif;margin:28px 0 13px}.ovtd-type-card p{font-size:14px;color:var(--td-muted);line-height:1.7;flex:1}.ovtd-type-card a{font-size:13px;font-weight:800;text-decoration:none}.ovtd-showcase{background:#152a30;color:#fff}.ovtd-showcase-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);align-items:stretch;min-height:620px}.ovtd-showcase figure{margin:0;min-height:620px;overflow:hidden}.ovtd-showcase-img{width:100%;height:100%;min-height:620px;object-fit:cover;display:block}.ovtd-showcase-grid>div{padding:80px clamp(35px,5vw,80px);align-self:center}.ovtd-showcase p{color:#d7dfdc}.ovtd-showcase a{color:#fff}.ovtd-text-link.light{border-bottom-color:#d9c39a}.ovtd-spec-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,.55fr);gap:38px;align-items:start}.ovtd-spec-list{margin:0;border-top:1px solid var(--td-line)}.ovtd-spec-list>div{display:grid;grid-template-columns:190px 1fr;gap:28px;padding:18px 0;border-bottom:1px solid var(--td-line)}.ovtd-spec-list dt{font-weight:800}.ovtd-spec-list dd{margin:0;color:#52646b}.ovtd-spec-note{background:#f4f0e7;padding:30px;position:sticky;top:120px}.ovtd-spec-note h3{font:600 25px Georgia,serif;margin:0 0 15px}.ovtd-spec-note p{font-size:14px;color:#56666c;line-height:1.75}.ovtd-spec-note a{display:inline-block;margin-top:11px;font-size:13px;font-weight:800}.ovtd-projects{background:#f6f4ef}.ovtd-gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:230px;gap:12px}.ovtd-gallery-item{position:relative;overflow:hidden;background:#d9d9d3;text-decoration:none}.ovtd-gallery-item:nth-child(1),.ovtd-gallery-item:nth-child(4){grid-column:span 7}.ovtd-gallery-item:nth-child(2),.ovtd-gallery-item:nth-child(3){grid-column:span 5}.ovtd-gallery-item:nth-child(5),.ovtd-gallery-item:nth-child(6){grid-column:span 6}.ovtd-gallery-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.ovtd-gallery-item:hover .ovtd-gallery-img{transform:scale(1.025)}.ovtd-gallery-number{position:absolute;left:14px;top:14px;z-index:2;background:rgba(15,36,42,.86);color:#fff;padding:6px 9px;font-size:10px;font-weight:800;letter-spacing:.08em}.ovtd-project-links{display:flex;gap:22px;flex-wrap:wrap;margin-top:25px}.ovtd-project-links a{font-weight:800;text-decoration:none}.ovtd-why{background:#fff}.ovtd-why-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.ovtd-why-grid>div{background:#f7f5f0;padding:28px;border:1px solid #e3dfd6}.ovtd-why-grid strong{display:block;font:600 24px Georgia,serif;margin-bottom:11px}.ovtd-why-grid p{font-size:14px;color:var(--td-muted);line-height:1.7;margin:0}.ovtd-cert-link{text-align:right;margin-top:25px}.ovtd-cert-link a{font-weight:800;text-decoration:none}.ovtd-compare{text-align:center;background:#f6f4ef}.ovtd-compare h2{max-width:930px;margin-left:auto;margin-right:auto}.ovtd-lead{max-width:760px;margin:0 auto 38px}.ovtd-related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;text-align:left}.ovtd-related-grid a{display:flex;flex-direction:column;gap:7px;padding:25px;border:1px solid var(--td-line);background:#fff;text-decoration:none;transition:.2s}.ovtd-related-grid a:hover{transform:translateY(-3px);border-color:#a99879}.ovtd-related-grid strong{font:600 24px Georgia,serif}.ovtd-related-grid span{color:var(--td-muted);font-size:14px}.ovtd-faq{background:#fff}.ovtd-faq-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;align-items:start}.ovtd-faq-intro{position:sticky;top:120px}.ovtd-faq-list{border-top:1px solid var(--td-line)}.ovtd-faq-list details{border-bottom:1px solid var(--td-line);padding:21px 0}.ovtd-faq-list summary{cursor:pointer;font-weight:800;font-size:18px}.ovtd-faq-list p{color:var(--td-muted);line-height:1.75;max-width:760px}.ovtd-cta{background:#0f242a;color:#fff;padding:72px 0}.ovtd-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:55px}.ovtd-cta-inner>div:first-child{max-width:760px}.ovtd-cta h2{font-size:clamp(34px,4vw,52px);margin-bottom:16px}.ovtd-cta p{color:#d8dfdc;line-height:1.75}.ovtd-cta-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:260px}.ovtd-cta-actions>a:not(.ovtd-btn){color:#fff;text-decoration:none;font-weight:700}.ovtd .ov-service-quote{padding-top:70px;padding-bottom:70px}.ovtd+.ov-footer-cta{margin-top:0}
@media(max-width:1020px){.ovtd-trust-grid,.ovtd-type-grid,.ovtd-why-grid{grid-template-columns:repeat(2,1fr)}.ovtd-two-col,.ovtd-showcase-grid,.ovtd-spec-layout,.ovtd-faq-layout{grid-template-columns:1fr}.ovtd-image-card{max-width:760px}.ovtd-showcase figure,.ovtd-showcase-img{min-height:420px}.ovtd-showcase-grid>div{padding:58px 0 72px}.ovtd-spec-note,.ovtd-faq-intro{position:static}.ovtd-heading{align-items:flex-start;flex-direction:column;gap:10px}.ovtd-heading>p{max-width:760px}.ovtd-gallery{grid-auto-rows:210px}}
@media(max-width:680px){.ovtd-hero{min-height:590px}.ovtd-hero-overlay{background:linear-gradient(90deg,rgba(6,23,29,.94),rgba(6,23,29,.62)),linear-gradient(0deg,rgba(6,23,29,.48),transparent)}.ovtd-hero-inner{padding:55px 0 62px}.ovtd-breadcrumbs{margin-bottom:34px}.ovtd-hero h1{font-size:clamp(42px,13vw,59px)}.ovtd-hero-actions .ovtd-btn{width:100%}.ovtd-hero-tags{gap:10px 18px}.ovtd-trust-grid,.ovtd-type-grid,.ovtd-why-grid,.ovtd-related-grid{grid-template-columns:1fr}.ovtd-trust-grid>div{border-right:0;border-bottom:1px solid #dbd7ce;padding:17px 0}.ovtd-type-card{min-height:230px;padding:24px}.ovtd-two-col{gap:35px}.ovtd-content-img{aspect-ratio:16/11}.ovtd-showcase figure,.ovtd-showcase-img{min-height:300px}.ovtd-spec-list>div{grid-template-columns:1fr;gap:4px;padding:15px 0}.ovtd-cert-link{text-align:left}.ovtd-faq-list summary{font-size:16px}.ovtd-cta{padding:54px 0}.ovtd-cta-actions,.ovtd-cta-actions .ovtd-btn{width:100%}.ovtd-gallery{grid-template-columns:1fr;grid-auto-rows:245px}.ovtd-gallery-item:nth-child(n){grid-column:auto}.ovtd-project-links{flex-direction:column;gap:10px}}

/* v0.10.8 generic Services reuse the same premium visual system. */
.ovsp .ovtd-showcase-placeholder{min-height:620px;background:linear-gradient(135deg,#31494c,#9a9b8f)}.ovsp + .ov-project-related,.ovtd .ov-project-related{margin-top:0;margin-bottom:0;padding-top:70px;padding-bottom:70px}.ovsp .ov-service-advice{margin:0}.ovsp .ov-service-quote{background:#fff}@media(max-width:1020px){.ovsp .ovtd-showcase-placeholder{min-height:320px}}

/* ==========================================================
   v0.10.10 — mobile containment + CTA stacking for all premium Services
   Fixes horizontal clipping on 320–480px viewports.
   ========================================================== */
.ovsp,.ovsp *{min-width:0}
.ovsp .wrap{max-width:100%;}
.ovsp .ovtd-heading,.ovsp .ovtd-heading>div,.ovsp .ovtd-type-grid,.ovsp .ovtd-type-card,
.ovsp .ovtd-type-card h3,.ovsp .ovtd-type-card p,.ovsp .ovtd-showcase-grid,.ovsp .ovtd-showcase-grid>div,
.ovsp .ovtd-spec-layout,.ovsp .ovtd-spec-list,.ovsp .ovtd-spec-list>div,.ovsp .ovtd-why-grid,
.ovsp .ovtd-related-grid,.ovsp .ovtd-related-grid a,.ovsp .ovtd-faq-layout,.ovsp .ovtd-faq-list,
.ovsp .ovtd-cta-inner,.ovsp .ovtd-cta-inner>div,.ovsp .ovtd-cta-actions{max-width:100%;min-width:0}
.ovsp .ovtd-type-card p,.ovsp .ovtd-spec-list dd,.ovsp .ovtd-why-grid p,.ovsp .ovtd-related-grid span,
.ovsp .ovtd-faq-list p,.ovsp .ovtd-cta p,.ovsp .ovtd-cta-actions a,.ovsp .ovtd-showcase p{
  white-space:normal!important;
  overflow-wrap:anywhere;
  word-break:normal;
}

@media(max-width:680px){
  .ovsp{overflow-x:clip}
  .ovsp .wrap{width:calc(100% - 32px);margin-left:auto;margin-right:auto}
  .ovsp .ovtd-section{padding:56px 0}
  .ovsp .ovtd-heading{width:100%;margin-bottom:26px}
  .ovsp .ovtd-heading h2{font-size:clamp(32px,9.4vw,42px);line-height:1.08;letter-spacing:-.03em;margin:10px 0 16px}
  .ovsp .ovtd-heading>p{width:100%;font-size:16px;line-height:1.72;margin:0}
  .ovsp .ovtd-type-grid{width:100%;grid-template-columns:minmax(0,1fr)!important}
  .ovsp .ovtd-type-card{width:100%;min-height:0;padding:24px 24px 26px;overflow:hidden}
  .ovsp .ovtd-type-card h3{font-size:clamp(25px,7.4vw,31px);line-height:1.16;margin:24px 0 14px}
  .ovsp .ovtd-type-card p{width:100%;font-size:15px;line-height:1.72;margin:0 0 18px}
  .ovsp .ovtd-type-card a{display:inline-flex;max-width:100%;font-size:13px}

  .ovsp .ovtd-showcase-grid{width:100%}
  .ovsp .ovtd-showcase-grid>div{width:100%;padding:44px 16px 54px}
  .ovsp .ovtd-showcase h2{font-size:clamp(31px,9vw,40px)}

  .ovsp .ovtd-spec-note{padding:24px}
  .ovsp .ovtd-why-grid>div{padding:24px}
  .ovsp .ovtd-related-grid a{padding:22px}
  .ovsp .ovtd-related-grid strong{font-size:22px}

  .ovsp .ovtd-cta{padding:15px}
  .ovsp .ovtd-cta-inner{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:30px;width:100%}
  .ovsp .ovtd-cta-inner>div:first-child{width:100%;max-width:none}
  .ovsp .ovtd-cta h2{font-size:clamp(34px,10vw,45px);line-height:1.08;margin:14px 0 18px}
  .ovsp .ovtd-cta p{font-size:15px;line-height:1.72;margin-bottom:0}
  .ovsp .ovtd-cta-actions{width:100%;min-width:0;align-items:stretch;gap:12px}
  .ovsp .ovtd-cta-actions .ovtd-btn{width:100%;max-width:100%;white-space:normal;text-align:center;padding-left:18px;padding-right:18px}
  .ovsp .ovtd-cta-actions>a:not(.ovtd-btn){display:block;width:100%;max-width:100%;font-size:15px;line-height:1.5;overflow-wrap:anywhere;word-break:break-word}
}

@media(max-width:420px){
  .ovsp .wrap{width:calc(100% - 24px)}
  .ovsp .ovtd-type-card{padding:22px 20px 24px}
  .ovsp .ovtd-heading h2{font-size:31px}
  .ovsp .ovtd-heading>p{font-size:15px}
  .ovsp .ovtd-cta h2{font-size:36px}
  .ovsp .ovtd-showcase-grid>div{padding-left:12px;padding-right:12px}
}


/* ==========================================================
   v0.10.11 — final mobile showcase containment + paint budget
   Keeps the Hillingdon specification section inside 320–480px
   and skips below-the-fold rendering work until needed.
   ========================================================== */
.ovtd-showcase,.ovtd-showcase-grid,.ovtd-showcase-grid>figure,.ovtd-showcase-grid>div{min-width:0;max-width:100%}
.ovtd-showcase-grid>div h2,.ovtd-showcase-grid>div p,.ovtd-showcase-grid>div a{max-width:100%;min-width:0;overflow-wrap:anywhere}
.ovtd-showcase-grid>div .ovtd-text-link{white-space:normal;word-break:normal}

@media(max-width:680px){
  .ovtd-showcase{width:100%;max-width:100%;overflow:hidden}
  .ovtd-showcase .wrap.ovtd-showcase-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:calc(100% - 32px)!important;max-width:calc(100% - 32px)!important;margin-left:auto!important;margin-right:auto!important;overflow:hidden}
  .ovtd-showcase-grid>figure{width:100%;max-width:100%;overflow:hidden}
  .ovtd-showcase-grid>div{width:100%!important;max-width:100%!important;padding:42px 0 52px!important;overflow:hidden}
  .ovtd-showcase-grid>div h2{width:100%;font-size:clamp(30px,8.7vw,39px);line-height:1.08;letter-spacing:-.03em;text-wrap:pretty}
  .ovtd-showcase-grid>div p{width:100%;font-size:15px;line-height:1.72}
  .ovtd-showcase-grid>div .ovtd-text-link{display:inline;line-height:1.7}
}
@media(max-width:420px){
  .ovtd-showcase .wrap.ovtd-showcase-grid{width:calc(100% - 24px)!important;max-width:calc(100% - 24px)!important}
  .ovtd-showcase-grid>div h2{font-size:31px}
}

@supports(content-visibility:auto){
  .ovtd-types,.ovtd-showcase,.ovtd-spec,.ovtd-projects,.ovtd-why,.ovtd-compare,.ovtd-faq,.ovtd-cta,.ovtd .ov-service-quote{content-visibility:auto;contain-intrinsic-size:auto 720px}
}
