:root{--p:#0d9488;--s:#0b1220;--a:#f59e0b;--ink:#f8fafc;--surface:#0b1220;--muted:#64748b;--line:#e5eaf1;--soft:#111827}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);line-height:1.65;background:#fff}a{text-decoration:none;color:inherit}.wrap,.narrow{width:min(1160px,calc(100% - 40px));margin:auto}.narrow{width:min(820px,calc(100% - 40px))}.site-header{position:sticky;top:0;z-index:30;background:#ffffffed;backdrop-filter:blur(14px);border-bottom:1px solid #eef1f5}.nav{height:82px;display:flex;align-items:center;gap:30px}.logo{display:flex;align-items:center;gap:11px;font-weight:900;font-size:17px;margin-right:auto}.logo-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,var(--p),#6d28d9);color:#fff;font-size:21px;box-shadow:0 9px 24px color-mix(in srgb,var(--p) 25%,transparent)}.logo-image{overflow:hidden;background:#fff!important;border:1px solid var(--line)}.logo-image img{width:100%;height:100%;object-fit:contain;display:block}.logo small{display:block;color:var(--muted);font-weight:600;font-size:10px}.nav nav{display:flex;gap:25px;font-size:13px;font-weight:750}.nav nav a:hover{color:var(--p)}.menu{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:13px 20px;border-radius:11px;font-weight:850;border:1px solid transparent;transition:.2s;cursor:pointer}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--p),color-mix(in srgb,var(--p) 70%,#6d28d9));color:#fff;box-shadow:0 12px 26px color-mix(in srgb,var(--p) 22%,transparent)}.btn-light{background:#fff;color:var(--ink);border-color:#dfe5ee}.hero{overflow:hidden;background:radial-gradient(circle at 85% 15%,color-mix(in srgb,var(--p) 14%,transparent),transparent 34%),linear-gradient(135deg,#f8fbff,#fff 55%,#f8f5ff);padding:78px 0 0}.hero-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:70px;align-items:center}.eyebrow{display:inline-block;color:var(--p);font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.eyebrow.light{color:#bfdbfe}.hero h1{font-size:clamp(44px,5.2vw,72px);line-height:1.02;letter-spacing:-.045em;margin:15px 0 22px}.hero-copy>p{font-size:19px;color:var(--muted);max-width:650px}.actions{display:flex;flex-wrap:wrap;gap:11px;margin:28px 0 15px}.micro{font-size:12px;color:var(--muted);font-weight:700}.hero-art{position:relative;min-height:500px;display:grid;place-items:center}.orb{position:absolute;width:420px;height:420px;border-radius:50%;background:linear-gradient(135deg,var(--p),#7c3aed);filter:saturate(.9)}.photo-card{position:relative;width:78%;min-height:380px;border-radius:28px;padding:25px;background:linear-gradient(160deg,#fff,#eef4ff);box-shadow:0 35px 70px #0f172a24;display:flex;flex-direction:column;justify-content:space-between;border:1px solid #ffffffb8;transform:rotate(2deg)}.photo-top,.photo-bottom{display:flex;justify-content:space-between;gap:10px}.photo-top span,.photo-bottom span{color:var(--muted);font-size:12px}.house{font-size:150px;line-height:1;text-align:center;color:var(--p);text-shadow:0 20px 50px color-mix(in srgb,var(--p) 22%,transparent)}.floating-card{position:absolute;bottom:45px;left:0;background:#fff;padding:16px 20px;border-radius:15px;box-shadow:0 18px 45px #0f172a24}.floating-card b,.floating-card span{display:block}.floating-card span{font-size:11px;color:var(--muted)}.trust{margin-top:65px;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 50px #0f172a0d;transform:translateY(34px)}.trust div{padding:20px 24px;border-right:1px solid var(--line)}.trust div:last-child{border:0}.trust b,.trust span{display:block}.trust span{font-size:11px;color:var(--muted)}.section{padding:95px 0}.intro{padding-top:125px}.center{text-align:center}.section h2{font-size:clamp(32px,4vw,48px);line-height:1.1;letter-spacing:-.035em;margin:12px 0 20px}.lead-copy{font-size:18px;color:var(--muted)}.soft{background:var(--soft)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:38px}.section-head>div{max-width:650px}.section-head>p{max-width:420px;color:var(--muted)}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 12px 35px #0f172a08;transition:.2s}.service-card:hover{transform:translateY(-4px);box-shadow:0 20px 45px #0f172a12}.service-icon{width:44px;height:44px;border-radius:12px;background:color-mix(in srgb,var(--p) 10%,#fff);color:var(--p);display:grid;place-items:center;font-weight:900}.service-photo{width:100%;height:190px;object-fit:cover;display:block}.service-pad{padding:0}.service-card:has(.service-photo){padding:0;overflow:hidden}.service-card:has(.service-photo) .service-pad{padding:22px 28px 28px}.photo-real{padding:0;overflow:hidden}.photo-real img{width:100%;height:380px;object-fit:cover;display:block}.service-card h3{font-size:20px}.service-card p{color:var(--muted)}.service-card a{font-weight:850;color:var(--p)}.dark{background:linear-gradient(135deg,var(--s),#172554);color:#fff}.why-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.why-grid>div:first-child>p{color:#cbd5e1}.benefits{display:grid;grid-template-columns:1fr 1fr;gap:14px}.benefit{display:flex;gap:13px;border:1px solid #ffffff20;background:#ffffff0a;border-radius:16px;padding:20px}.benefit>span{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#ffffff14;color:#fff;flex:0 0 32px}.benefit h3{margin:2px 0 5px}.benefit p{color:#cbd5e1;margin:0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.step{padding:25px;border-top:3px solid var(--p);background:#fff;box-shadow:0 12px 35px #0f172a09;border-radius:0 0 16px 16px}.step>span{color:var(--p);font-weight:900;font-size:13px}.step p{color:var(--muted)}.area{background:linear-gradient(135deg,#fff,#f4f8ff)}.area-grid{display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:center}.map-card{min-height:310px;border-radius:24px;background:linear-gradient(135deg,var(--s),var(--p));color:#fff;padding:38px;position:relative;overflow:hidden}.map-card span{font-size:11px;letter-spacing:.15em}.map-card b{display:block;font-size:42px;margin-top:55px}.map-lines{position:absolute;inset:0;background:repeating-radial-gradient(circle at 70% 35%,transparent 0 30px,#ffffff12 31px 32px)}.faq{margin-top:35px}.faq details{background:#fff;border:1px solid var(--line);border-radius:13px;margin:11px 0;padding:0 19px}.faq summary{padding:18px 0;font-weight:850;cursor:pointer;display:flex;justify-content:space-between}.faq details p{color:var(--muted);padding:0 0 18px;margin:0}.cta{background:linear-gradient(120deg,var(--p),#6d28d9);color:#fff;padding:65px 0}.cta-grid{display:flex;justify-content:space-between;gap:50px;align-items:center}.cta h2{font-size:40px;margin:10px 0}.cta p{color:#e9e8ff}.contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:65px}.contact-card{margin-top:30px;padding:23px;background:var(--soft);border-radius:15px}.lead{display:grid;gap:12px;background:#fff;border:1px solid var(--line);padding:28px;border-radius:20px;box-shadow:0 18px 50px #0f172a0c}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lead input,.lead textarea,.lead select{width:100%;padding:13px 14px;border:1px solid #dce3ec;border-radius:10px;font:inherit;background:#fff}.lead textarea{min-height:115px;resize:vertical}.lead small{color:var(--muted)}.inner-hero{padding:75px 0;background:linear-gradient(135deg,#f7faff,#fff)}.inner-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:55px;align-items:center}.inner-photo{border-radius:24px;overflow:hidden;box-shadow:0 22px 55px #0f172a20;background:#eef2f7}.inner-photo img{display:block;width:100%;height:330px;object-fit:cover}.content>.inner-photo{margin-bottom:28px}.content>.inner-photo img{height:390px}.map-section{width:100%;max-width:none;padding-left:0!important;padding-right:0!important}.map-section>.wrap{width:100%!important;max-width:none!important;padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important}.map-card{display:block;width:100%!important;max-width:none!important;border-radius:0;background:#fff;border:1px solid #e5e7eb;border-radius:24px;overflow:hidden;box-shadow:0 16px 42px #0f172a14}.map-head{padding:26px 28px;display:flex;justify-content:space-between;gap:24px;align-items:center}.map-head h2{margin:5px 0 7px}.map-head p{margin:0;color:#64748b}.map-card iframe.awb-location-map{display:block!important;width:100%!important;max-width:none!important;min-width:100%!important;height:420px!important;border:0!important;box-sizing:border-box!important}.map-section{padding-top:20px}@media(max-width:700px){.map-head{align-items:flex-start;flex-direction:column}.map-card iframe{height:330px}}.inner-hero h1{font-size:50px;line-height:1.05;max-width:800px}.content{max-width:850px}.content p{font-size:17px;color:#475569}.content-card{padding:28px;border:1px solid var(--line);border-radius:18px;background:#fff;margin:18px 0}footer{background:#0b1220;color:#cbd5e1;padding:65px 0 22px}.footer-grid{display:grid;grid-template-columns:1.5fr .7fr .8fr 1fr;gap:45px}.footer-grid .logo{color:#fff}.footer-grid>div>a{display:block;margin:8px 0;color:#cbd5e1}.footer-grid>div>b{color:#fff}.copyright{border-top:1px solid #ffffff14;margin-top:40px;padding-top:20px;font-size:12px}@media(max-width:900px){.nav nav,.header-cta{display:none}.menu{display:block;border:0;background:transparent;font-size:22px}.hero-grid,.why-grid,.area-grid,.contact-grid,.inner-grid{grid-template-columns:1fr}.hero-art{min-height:390px}.services,.steps{grid-template-columns:1fr 1fr}.trust{grid-template-columns:1fr 1fr}.trust div:nth-child(2){border-right:0}.section-head,.cta-grid{display:block}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.wrap,.narrow{width:min(100% - 28px,1160px)}.hero{padding-top:48px}.hero h1{font-size:42px}.hero-art{min-height:320px}.orb{width:280px;height:280px}.photo-card{min-height:270px;width:88%}.house{font-size:100px}.floating-card{bottom:10px}.trust,.services,.benefits,.steps,.form-row,.footer-grid{grid-template-columns:1fr}.trust div{border-right:0;border-bottom:1px solid var(--line)}.section{padding:70px 0}.actions .btn{width:100%}.cta h2{font-size:34px}}
/* Phase 2.9 true layout families */
.intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:start}.intro-grid h2{font-size:clamp(36px,4.5vw,58px);line-height:1.04;margin:8px 0}.intro-grid .lead-copy{font-size:18px;margin-top:8px}.intro-rule{height:1px;background:var(--line);margin:28px 0 18px}.visual-band{padding:90px 0;background:#fff}.visual-band-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:center}.visual-band .inner-photo{margin:0}.visual-band h2{font-size:clamp(34px,4vw,52px);line-height:1.05;letter-spacing:-.035em}.area-panel{min-height:350px;padding:45px;border-radius:28px;background:linear-gradient(145deg,var(--s),var(--p));color:#fff;display:flex;flex-direction:column;justify-content:flex-end}.area-panel b{font-size:46px}
.design-premium_split .hero{background:linear-gradient(120deg,#fff 0 58%,color-mix(in srgb,var(--p) 8%,#fff) 58%)}.design-premium_split .hero-grid{grid-template-columns:1fr 1fr}.design-premium_split .services{grid-template-columns:repeat(3,1fr)}.design-premium_split .intro{background:#fff}
.design-editorial .hero-grid{grid-template-columns:.82fr 1.18fr}.design-editorial .hero-art{min-height:560px}.design-editorial .photo-real{width:100%;transform:none}.design-editorial .photo-real img{height:560px}.design-editorial .floating-card{left:-34px;right:auto}.design-editorial .services{grid-template-columns:repeat(2,1fr)}.design-editorial .service-photo{height:300px}.design-editorial .intro-grid{grid-template-columns:1fr 1fr}.design-editorial .dark{background:#101827}
.design-local_pro .hero{background:linear-gradient(180deg,#f8fbff,#fff)}.design-local_pro .hero-grid{grid-template-columns:1.1fr .9fr}.design-local_pro .trust{box-shadow:0 18px 60px #0f172a12;border-radius:20px;overflow:hidden}.design-local_pro .services{grid-template-columns:repeat(3,1fr)}.design-local_pro .service-card{border-radius:24px}.design-local_pro .dark{border-radius:0}.design-local_pro .cta{background:var(--s)}
@media(max-width:900px){.intro-grid,.visual-band-grid{grid-template-columns:1fr;gap:34px}.design-editorial .hero-grid,.design-premium_split .hero-grid,.design-local_pro .hero-grid{grid-template-columns:1fr}.design-editorial .services,.design-premium_split .services,.design-local_pro .services{grid-template-columns:1fr 1fr}.design-editorial .hero-art{min-height:390px}.design-editorial .photo-real img{height:390px}}
@media(max-width:620px){.design-editorial .services,.design-premium_split .services,.design-local_pro .services{grid-template-columns:1fr}.visual-band{padding:62px 0}}

/* Phase 3.0 dynamic component library */
.hero-image_backdrop{position:relative;overflow:hidden;background:var(--ink);color:#fff}.hero-image_backdrop .hero-grid{min-height:640px;position:relative;z-index:2}.hero-image_backdrop .hero-art{position:absolute;inset:0 0 0 46%;opacity:.5}.hero-image_backdrop .photo-card,.hero-image_backdrop .photo-real{position:absolute;inset:0;width:100%;height:100%;transform:none;border-radius:0}.hero-image_backdrop .photo-real img{height:100%;filter:saturate(.86)}.hero-image_backdrop .hero-copy{padding:72px 0;max-width:670px}.hero-image_backdrop .hero-copy p{color:#e2e8f0}.hero-image_backdrop .floating-card{display:none}
.hero-offset_card .hero-grid{grid-template-columns:.88fr 1.12fr;gap:44px}.hero-offset_card .hero-art{padding:30px 0 30px 52px}.hero-offset_card .photo-card{transform:rotate(1.4deg);border-radius:34px}.hero-offset_card .floating-card{left:0;right:auto;bottom:40px}
.services-featured .services{grid-template-columns:1.25fr .75fr .75fr}.services-featured .service-card:first-child{grid-row:span 2}.services-featured .service-card:first-child .service-photo{height:420px}.services-featured .service-card:first-child h3{font-size:28px}
.services-alternating .services{display:flex;flex-direction:column;gap:24px}.services-alternating .service-card{display:grid;grid-template-columns:.9fr 1.1fr;min-height:260px}.services-alternating .service-card:nth-child(even){grid-template-columns:1.1fr .9fr}.services-alternating .service-card:nth-child(even) .service-photo{order:2}.services-alternating .service-photo{height:100%;min-height:260px}.services-alternating .service-pad{padding:38px!important;justify-content:center}
.process-timeline .process-grid{display:grid;grid-template-columns:1fr;max-width:900px;margin-left:auto}.process-timeline .process-card{display:grid;grid-template-columns:90px 1fr;align-items:start;border:0;border-left:2px solid var(--p);border-radius:0;padding:12px 0 38px 34px;box-shadow:none}
.faq-split .wrap{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;align-items:start}.faq-split .section-head{position:sticky;top:110px;text-align:left;margin:0}.faq-split .faq-list{margin:0;max-width:none}
.inner-proof{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.proof-row{display:grid;grid-template-columns:repeat(4,1fr);padding:18px 0;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.proof-row span{padding:0 18px;border-right:1px solid var(--line)}.proof-row span:last-child{border:0}
@media(max-width:900px){.hero-image_backdrop .hero-art{inset:0;opacity:.22}.hero-image_backdrop .hero-grid{min-height:590px}.hero-offset_card .hero-grid{grid-template-columns:1fr}.hero-offset_card .hero-art{padding:0}.services-featured .services{grid-template-columns:1fr 1fr}.services-featured .service-card:first-child{grid-column:1/-1;grid-row:auto}.services-alternating .service-card,.services-alternating .service-card:nth-child(even){grid-template-columns:1fr}.services-alternating .service-card:nth-child(even) .service-photo{order:0}.faq-split .wrap{grid-template-columns:1fr;gap:28px}.faq-split .section-head{position:static}.proof-row{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.services-featured .services,.proof-row{grid-template-columns:1fr}.services-featured .service-card:first-child{grid-column:auto}.services-featured .service-card:first-child .service-photo{height:260px}}


/* Phase 3.10.1 Unique Design DNA */
.dna-type-editorial_serif h1,.dna-type-editorial_serif h2,.dna-type-editorial_serif h3{font-family:Georgia,Times New Roman,serif}.dna-type-humanist{font-family:Segoe UI,Calibri,Arial,sans-serif}.dna-type-geometric{font-family:Trebuchet MS,Arial,sans-serif}.dna-type-compact_sans{font-family:Arial,sans-serif}.dna-type-classic{font-family:Verdana,Arial,sans-serif}
.dna-header-floating .site-header{top:14px;width:min(1160px,calc(100% - 32px));margin:auto;border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 35px #0f172a12}.dna-header-floating .nav{width:calc(100% - 32px);height:72px}.dna-header-compact .nav{height:66px}.dna-header-compact .logo-mark{width:36px;height:36px}.dna-header-bordered .site-header{border-bottom:3px solid color-mix(in srgb,var(--p) 45%,#fff);backdrop-filter:none}
.hero-wide_media .hero-grid{grid-template-columns:.78fr 1.22fr;gap:38px}.hero-wide_media .photo-card{width:100%;border-radius:12px}.hero-editorial .hero-grid{grid-template-columns:.9fr 1.1fr}.hero-editorial h1{font-size:clamp(48px,6vw,82px)}.hero-editorial .photo-card{width:92%;border-radius:4px}.hero-compact_banner .hero-grid{grid-template-columns:1.25fr .75fr;gap:42px}.hero-compact_banner .hero-art{min-height:340px}.hero-compact_banner .photo-card{min-height:320px;width:100%}
.services-compact_grid .services{grid-template-columns:repeat(2,1fr);gap:12px}.services-compact_grid .service-card{display:grid;grid-template-columns:120px 1fr}.services-compact_grid .service-photo{height:100%;min-height:150px}.services-border_rows .services{grid-template-columns:1fr;gap:0}.services-border_rows .service-card{display:grid;grid-template-columns:220px 1fr;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;padding:24px 0}.services-border_rows .service-photo{height:160px;border-radius:14px}
.process-numbered_band .process-grid{display:flex;gap:0;border:1px solid var(--line);border-radius:22px;overflow:hidden}.process-numbered_band .process-card{flex:1;border:0;border-right:1px solid var(--line);border-radius:0;box-shadow:none}.faq-boxed .faq{display:grid;grid-template-columns:1fr 1fr;gap:12px}.faq-boxed .faq details{margin:0}
.dna-layout-editorial_canvas .intro-grid{grid-template-columns:1.15fr .85fr}.dna-layout-editorial_canvas .section-head{border-bottom:1px solid var(--line);padding-bottom:24px}.dna-layout-local_authority .trust{border-radius:6px}.dna-layout-local_authority .service-card{box-shadow:none;border-width:2px}.dna-layout-modern_grid .why-grid{grid-template-columns:1fr 1fr}.dna-layout-modern_grid .benefits{grid-template-columns:1fr}.dna-layout-bold_blocks .why-section{background:var(--p)}.dna-layout-minimal_air .services-section{background:#fff}.dna-layout-minimal_air .service-card{box-shadow:none}.dna-layout-premium_frame main{background:#f8fafc}.dna-layout-premium_frame .section>.wrap,.dna-layout-premium_frame .visual-band>.wrap{background:#fff;border-radius:26px;padding:42px}.dna-layout-service_mosaic .services{gap:10px}.dna-layout-service_mosaic .service-card{border-radius:8px}.dna-layout-asymmetric_flow .intro-grid{grid-template-columns:.65fr 1.35fr}.dna-layout-asymmetric_flow .why-grid{grid-template-columns:1.2fr .8fr}.dna-layout-asymmetric_flow .area-grid{grid-template-columns:.7fr 1.3fr}.dna-layout-clean_corporate .service-card,.dna-layout-clean_corporate .lead{box-shadow:none}.dna-layout-clean_corporate .cta{background:var(--s)}.dna-layout-image_story .visual-band-grid{grid-template-columns:1.3fr .7fr}.dna-layout-image_story .visual-band .inner-photo img{height:460px}.dna-layout-compact_action .section{padding-block:58px}
.dna-space-compact .section{padding-block:56px}.dna-space-spacious .section{padding-block:96px}.dna-corners-square .service-card,.dna-corners-square .lead,.dna-corners-square .inner-photo,.dna-corners-square .photo-card,.dna-corners-square .map-card,.dna-corners-square .btn{border-radius:2px!important}.dna-corners-subtle .service-card,.dna-corners-subtle .lead,.dna-corners-subtle .inner-photo,.dna-corners-subtle .photo-card{border-radius:10px!important}.dna-corners-rounded .service-card,.dna-corners-rounded .lead,.dna-corners-rounded .inner-photo,.dna-corners-rounded .photo-card{border-radius:26px!important}.dna-corners-pill .btn{border-radius:999px!important}.dna-corners-pill .service-card{border-radius:30px!important}
.dna-image-soft_frame .photo-real,.dna-image-soft_frame .inner-photo{padding:10px;background:#fff;border:1px solid var(--line)}.dna-image-edge_to_edge .photo-card,.dna-image-edge_to_edge .inner-photo{border-radius:0!important;box-shadow:none!important}.dna-image-editorial .photo-real img,.dna-image-editorial .inner-photo img{filter:saturate(.78) contrast(1.04)}
.dna-cta-dark_panel .cta{background:var(--s)}.dna-cta-light_panel .cta{background:#f8fafc;color:var(--ink);border-block:1px solid var(--line)}.dna-cta-light_panel .cta p{color:var(--muted)}.dna-cta-split_panel .cta{background:linear-gradient(90deg,var(--s) 0 50%,var(--p) 50%)}
.dna-rhythm-alternating .services-section{background:#fff}.dna-rhythm-alternating .story-section{background:var(--soft)}.dna-rhythm-editorial .section-head{display:block;max-width:780px}.dna-rhythm-compact .section-head{margin-bottom:22px}
.dna-footer-compact footer{padding-top:34px}.dna-footer-compact .footer-grid{grid-template-columns:1.5fr 1fr 1fr}.dna-footer-compact .footer-grid>div:nth-child(3){display:none}.dna-footer-centered .footer-grid{display:block;text-align:center;max-width:760px}.dna-footer-centered .footer-grid>div{margin:18px 0}.dna-footer-centered .footer-grid .logo{justify-content:center}.dna-footer-split .footer-grid{grid-template-columns:1.8fr 1fr}.dna-footer-split .footer-grid>div:nth-child(2),.dna-footer-split .footer-grid>div:nth-child(3){display:none}
@media(max-width:900px){.hero-wide_media .hero-grid,.hero-editorial .hero-grid,.hero-compact_banner .hero-grid,.dna-layout-asymmetric_flow .why-grid,.dna-layout-asymmetric_flow .area-grid,.dna-layout-image_story .visual-band-grid{grid-template-columns:1fr!important}.services-compact_grid .service-card,.services-border_rows .service-card{grid-template-columns:1fr}.process-numbered_band .process-grid{display:grid}.faq-boxed .faq{grid-template-columns:1fr}.dna-cta-split_panel .cta{background:var(--s)}}


/* Phase 3.1.2 visual quality / screenshot fixes */
.hero{min-height:auto!important;padding:76px 0 58px!important;overflow:hidden}
.hero-grid{min-height:0!important;align-items:center!important}
.hero-copy{display:block!important;position:relative!important;z-index:3!important;opacity:1!important;visibility:visible!important;padding:0!important}
.hero-copy h1{display:block!important;color:var(--ink)!important;opacity:1!important;visibility:visible!important;margin:10px 0 20px!important;max-width:720px!important}
.hero-copy p{color:#475569!important;opacity:1!important;font-size:17px!important;line-height:1.72!important;margin:0 0 24px!important}
.hero-art{position:relative!important;inset:auto!important;opacity:1!important;min-height:430px!important}
.photo-card{position:relative!important;inset:auto!important;min-height:430px!important}
.photo-real{position:relative!important;inset:auto!important;width:100%!important;height:auto!important}
.photo-real img{width:100%!important;height:430px!important;object-fit:cover!important;filter:none!important}
.hero-offset_card .hero-art{padding:18px 0 18px 28px!important}
.hero-offset_card .photo-card{transform:none!important;border-radius:28px!important}
.hero-offset_card .floating-card{left:8px!important;bottom:28px!important}
.trust-strip{margin-top:38px!important}
.section{padding-top:72px!important;padding-bottom:72px!important}
.intro-grid{gap:64px!important}
.intro-grid .lead-copy{font-size:17px!important;line-height:1.75!important}
.services-section{background:#f7f9fc}
.services{align-items:stretch}
.service-card{min-width:0}
.service-card h3{font-size:18px!important;line-height:1.25!important}
.service-card p{font-size:14px!important;line-height:1.65!important;color:#536174!important}
.service-pad{padding:22px!important}
.dark{padding:76px 0!important}
.why-grid{gap:52px!important}
.why-grid h2{font-size:clamp(34px,4vw,50px)!important;line-height:1.05!important}
.why-cards{gap:16px!important}
.why-card{padding:22px!important;min-height:0!important}
.why-card p{font-size:14px!important;line-height:1.6!important}
.process-grid{margin-top:30px!important}
.process-card{padding:26px!important}
.visual-band{padding:72px 0!important}
.visual-band-grid{gap:52px!important}
.visual-band .inner-photo img{height:360px!important}
.area-grid{gap:52px!important}
.area .inner-photo img{height:340px!important}
.faq{padding-top:72px!important;padding-bottom:72px!important}
.faq-list{margin-top:28px!important}
.cta{padding:58px 0!important}
.contact{padding:72px 0!important}
.contact-grid{gap:48px!important}
.map-card iframe.awb-location-map{height:360px!important}
footer{padding-top:52px!important}
.footer-grid{padding-bottom:42px!important}

/* Prevent generated variants from creating accidental blank/low-contrast hero states */
.hero-image_backdrop{background:#fff!important;color:var(--ink)!important}
.hero-image_backdrop .hero-grid{min-height:0!important}
.hero-image_backdrop .hero-art{position:relative!important;opacity:1!important}
.hero-image_backdrop .hero-copy p{color:#475569!important}
.hero-image_backdrop .floating-card{display:block!important}

/* Internal pages: stronger readable composition */
.inner-hero{padding:64px 0!important}
.inner-grid{gap:52px!important;align-items:center!important}
.inner-hero h1{max-width:680px!important}
.inner-hero .lead-copy{font-size:17px!important;line-height:1.72!important}
.inner-photo img{height:360px!important}
.content{max-width:980px!important}
.content-card{padding:34px!important}
.content-card p{font-size:16px!important;line-height:1.8!important}
.proof-row{font-size:12px!important}
@media(max-width:900px){
 .hero{padding:52px 0 42px!important}
 .hero-grid{gap:34px!important}
 .hero-art,.photo-card{min-height:330px!important}
 .photo-real img{height:330px!important}
 .hero-offset_card .hero-art{padding:0!important}
 .section{padding-top:58px!important;padding-bottom:58px!important}
 .intro-grid,.visual-band-grid,.area-grid,.contact-grid,.inner-grid{gap:34px!important}
 .why-grid{gap:34px!important}
}
@media(max-width:600px){
 .hero-copy h1{font-size:40px!important}
 .hero-art,.photo-card{min-height:280px!important}
 .photo-real img{height:280px!important}
 .section{padding-top:48px!important;padding-bottom:48px!important}
 .visual-band .inner-photo img,.area .inner-photo img,.inner-photo img{height:270px!important}
 .map-card iframe.awb-location-map{height:300px!important}
}

/* Phase 3.3.2 comprehensive mobile responsive layer */
.nav-toggle{display:none;background:transparent;border:0;padding:10px;margin:0;cursor:pointer;position:relative;z-index:1002}
.nav-toggle span{display:block;width:26px;height:2px;background:currentColor;margin:6px 0;transition:transform .22s ease,opacity .22s ease}
body.nav-open{overflow:hidden}
img,svg,video,iframe{max-width:100%}
input,select,textarea,button{max-width:100%}
@media(max-width:900px){
 .container{width:min(100% - 32px,1180px)!important}
 header .nav{min-height:68px!important;position:relative!important}
 .brand{max-width:calc(100% - 70px)!important;min-width:0!important}
 .brand-name{font-size:18px!important;white-space:normal!important;line-height:1.15!important}
 .nav-toggle{display:block!important;margin-left:auto!important}
 .nav-links{
   display:none!important;position:fixed!important;top:68px!important;left:0!important;right:0!important;bottom:0!important;
   z-index:1000!important;background:#fff!important;padding:24px 20px 36px!important;overflow-y:auto!important;
   flex-direction:column!important;align-items:stretch!important;gap:4px!important;border-top:1px solid #e8edf3!important;
   box-shadow:0 20px 40px rgba(15,23,42,.12)!important
 }
 .nav-links.is-open{display:flex!important}
 .nav-links a{display:block!important;padding:14px 12px!important;font-size:17px!important;line-height:1.3!important;border-radius:10px!important;color:var(--ink)!important}
 .nav-links .btn,.nav-links a.btn{width:100%!important;text-align:center!important;margin-top:8px!important}
 .nav-toggle.is-open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
 .nav-toggle.is-open span:nth-child(2){opacity:0}
 .nav-toggle.is-open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
 .hero-grid,.intro-grid,.why-grid,.visual-band-grid,.area-grid,.contact-grid,.inner-grid{grid-template-columns:1fr!important}
 .hero{padding:42px 0 34px!important}
 .hero-copy{order:1!important}
 .hero-art{order:2!important;padding:0!important;min-height:0!important}
 .hero-copy h1{font-size:clamp(36px,10vw,52px)!important;line-height:1.02!important;overflow-wrap:anywhere!important}
 .hero-copy p{font-size:16px!important;line-height:1.65!important}
 .hero-actions{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important}
 .hero-actions .btn{width:100%!important;text-align:center!important}
 .photo-card,.hero-art{min-height:0!important}
 .photo-real img{height:320px!important}
 .floating-card{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;margin:-34px 16px 0!important;width:auto!important}
 .trust-strip{grid-template-columns:1fr!important;gap:10px!important;margin-top:28px!important}
 .trust-item{min-height:0!important}
 .section{padding:52px 0!important}
 .section-head{max-width:100%!important}
 .section-head h2,.intro-grid h2,.why-grid h2,.area-grid h2,.contact h2,.visual-band h2{font-size:clamp(30px,8vw,42px)!important;line-height:1.08!important}
 .services{grid-template-columns:1fr!important}
 .service-card{width:100%!important}
 .service-card img{height:220px!important}
 .why-cards,.process-grid{grid-template-columns:1fr!important}
 .why-card,.process-card{min-height:0!important}
 .visual-band .inner-photo img,.area .inner-photo img,.inner-photo img{height:300px!important}
 .area-grid .inner-photo,.visual-band .inner-photo{order:2!important}
 .faq-grid{grid-template-columns:1fr!important}
 .faq-list{width:100%!important}
 .faq-item summary{font-size:16px!important;padding-right:32px!important}
 .cta-inner{display:block!important;text-align:center!important}
 .cta-inner .btn{display:block!important;width:100%!important;margin-top:18px!important}
 .contact-grid{gap:28px!important}
 .contact-card,.content-card{padding:24px!important}
 .map-card{width:100%!important;overflow:hidden!important}
 .map-card iframe.awb-location-map{height:300px!important;width:100%!important}
 .footer-grid{grid-template-columns:1fr!important;gap:28px!important}
 .footer-bottom{display:block!important;text-align:center!important}
 .footer-bottom>*{margin:6px 0!important}
 .inner-hero{padding:46px 0!important}
 .inner-hero h1{font-size:clamp(34px,9vw,48px)!important;overflow-wrap:anywhere!important}
 .inner-photo img{height:300px!important}
 .proof-row{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
 .sticky-call{display:flex!important}
 table{display:block!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
}
@media(max-width:600px){
 .container{width:min(100% - 24px,1180px)!important}
 header .nav{min-height:64px!important}
 .nav-links{top:64px!important;padding:18px 12px 30px!important}
 .brand-name{font-size:16px!important}
 .hero{padding:34px 0 30px!important}
 .hero-copy h1{font-size:36px!important}
 .photo-real img{height:250px!important}
 .section{padding:44px 0!important}
 .service-card img{height:200px!important}
 .visual-band .inner-photo img,.area .inner-photo img,.inner-photo img{height:240px!important}
 .service-pad,.why-card,.process-card,.contact-card,.content-card{padding:20px!important}
 .map-card iframe.awb-location-map{height:260px!important}
 .btn{min-height:46px!important;padding:12px 16px!important}
 input,select,textarea{font-size:16px!important}
}

/* Phase 3.3.3 definitive mobile header/nav */
@media(max-width:900px){
 header{position:relative!important;z-index:9999!important;width:100%!important}
 header .nav{display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:64px!important;padding-top:8px!important;padding-bottom:8px!important;gap:10px!important}
 header .brand{display:flex!important;align-items:center!important;gap:10px!important;flex:1 1 auto!important;max-width:calc(100% - 58px)!important;min-width:0!important}
 header .brand-mark{flex:0 0 auto!important}
 header .brand-copy{min-width:0!important;max-width:100%!important}
 header .brand-name{font-size:18px!important;line-height:1.15!important;white-space:normal!important;overflow-wrap:anywhere!important;margin:0!important}
 header .brand-sub{font-size:12px!important;line-height:1.35!important;margin-top:3px!important;display:block!important}
 header .nav-toggle,header .menu-toggle,header .mobile-menu-toggle,header .awb-mobile-toggle{
  display:flex!important;flex:0 0 46px!important;width:46px!important;height:46px!important;padding:10px!important;
  align-items:center!important;justify-content:center!important;flex-direction:column!important;background:transparent!important;
  border:0!important;border-radius:10px!important;color:var(--ink,#111827)!important;cursor:pointer!important;position:relative!important;z-index:10002!important
 }
 header .nav-toggle span,header .menu-toggle span,header .mobile-menu-toggle span,header .awb-mobile-toggle span{
  display:block!important;width:25px!important;height:2px!important;background:currentColor!important;margin:3px 0!important;border-radius:2px!important
 }
 header .nav-links,header .site-nav,header nav ul,header nav .links,header .awb-mobile-nav{
  display:none!important;position:absolute!important;top:100%!important;left:0!important;right:0!important;width:100%!important;
  max-height:calc(100vh - 64px)!important;overflow-y:auto!important;background:#fff!important;padding:12px!important;margin:0!important;
  border-top:1px solid #e5e7eb!important;box-shadow:0 18px 35px rgba(15,23,42,.14)!important;z-index:10001!important;
  flex-direction:column!important;align-items:stretch!important;gap:2px!important;list-style:none!important
 }
 header .nav-links.is-open,header .site-nav.is-open,header nav ul.is-open,header nav .links.is-open,header .awb-mobile-nav.is-open{display:flex!important}
 header .awb-mobile-nav a,header .nav-links a,header .site-nav a,header nav ul a{
  display:block!important;width:100%!important;padding:13px 14px!important;margin:0!important;border-radius:9px!important;
  font-size:16px!important;line-height:1.25!important;text-align:left!important;white-space:normal!important;color:var(--ink,#111827)!important
 }
 header .awb-mobile-nav .btn,header .nav-links .btn,header .site-nav .btn{margin-top:6px!important;text-align:center!important}
 header .nav-toggle.is-open span:nth-child(1),header .awb-mobile-toggle.is-open span:nth-child(1){transform:translateY(8px) rotate(45deg)!important}
 header .nav-toggle.is-open span:nth-child(2),header .awb-mobile-toggle.is-open span:nth-child(2){opacity:0!important}
 header .nav-toggle.is-open span:nth-child(3),header .awb-mobile-toggle.is-open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)!important}
 body{overflow-x:hidden!important}
}
@media(max-width:480px){
 header .brand-name{font-size:16px!important}
 header .brand-sub{font-size:11px!important;display:none!important}
 header .nav{min-height:60px!important}
 header .nav-links,header .site-nav,header nav ul,header nav .links,header .awb-mobile-nav{max-height:calc(100vh - 60px)!important}
}
/* Phase 3.11 Multi-Template Engine */
body[class*=" cr-"]{background:var(--surface,#fff)}
.cr-template-cinematic_full_bleed .hero{min-height:82vh;background:var(--s);color:#fff;display:flex;align-items:center}.cr-template-cinematic_full_bleed .hero-copy>p,.cr-template-cinematic_full_bleed .hero .micro{color:#d1d5db}.cr-template-cinematic_full_bleed .hero-grid{grid-template-columns:.72fr 1.28fr}.cr-template-cinematic_full_bleed .photo-card{width:100%;border-radius:0}.cr-template-cinematic_full_bleed .hero-art{margin-right:calc((100vw - min(1160px,92vw))/ -2)}
.cr-template-editorial_luxury h1,.cr-template-editorial_luxury h2{font-family:Georgia,serif;font-weight:500}.cr-template-editorial_luxury .hero{background:var(--soft)}.cr-template-editorial_luxury .service-card{box-shadow:none;border:0;border-top:1px solid var(--ink);border-radius:0}
.cr-template-contractor_direct .hero{padding:42px 0;background:var(--p);color:#fff}.cr-template-contractor_direct .hero-copy>p,.cr-template-contractor_direct .hero .micro{color:#fff}.cr-template-contractor_direct .service-card{border-radius:3px;border-left:5px solid var(--a);box-shadow:none}
.cr-template-modern_architectural .section{border-top:1px solid var(--line)}.cr-template-modern_architectural .hero-grid{grid-template-columns:1fr 1fr}.cr-template-modern_architectural .photo-card,.cr-template-modern_architectural .service-card{border-radius:0;box-shadow:none}
.cr-template-dark_industrial{background:#111}.cr-template-dark_industrial .hero,.cr-template-dark_industrial .why-section,.cr-template-dark_industrial footer{background:#111;color:#fff}.cr-template-dark_industrial .soft,.cr-template-dark_industrial .section{background:#18181b;color:#f5f5f5}.cr-template-dark_industrial .service-card,.cr-template-dark_industrial .lead{background:#27272a;color:#fff;border-color:#3f3f46}
.cr-template-warm_local .hero{background:var(--soft)}.cr-template-warm_local .photo-card{transform:rotate(1.5deg)}.cr-template-warm_local .service-card{box-shadow:0 18px 45px #3f2d2014}
.cr-template-minimal_swiss .eyebrow{letter-spacing:.22em}.cr-template-minimal_swiss .hero-art{display:none}.cr-template-minimal_swiss .hero-grid{grid-template-columns:1fr;max-width:900px}.cr-template-minimal_swiss .service-photo{display:none}.cr-template-minimal_swiss .service-card{box-shadow:none;border:0;border-top:2px solid var(--ink);border-radius:0}
.cr-template-bold_geometric .hero{background:linear-gradient(135deg,var(--p) 0 58%,var(--soft) 58%)}.cr-template-bold_geometric h1{font-weight:950}.cr-template-bold_geometric .service-card{border:3px solid var(--ink);box-shadow:10px 10px 0 var(--a);border-radius:0}
.cr-template-magazine_asymmetric .hero-grid{grid-template-columns:.82fr 1.18fr}.cr-template-magazine_asymmetric .hero-copy{padding-top:80px}.cr-template-magazine_asymmetric .service-card:nth-child(1){grid-column:span 2}.cr-template-magazine_asymmetric .service-card:nth-child(1) .service-photo{height:420px}
.cr-template-premium_frame .hero-grid,.cr-template-premium_frame .section>.wrap{border:1px solid var(--line);padding:46px;background:#fff}.cr-template-premium_frame .hero{background:var(--soft)}
.cr-template-image_story .visual-band{background:var(--s);color:#fff}.cr-template-image_story .service-photo{height:330px}.cr-template-image_story .hero-art{min-height:600px}
.cr-template-conversion_compact .hero{padding:36px 0}.cr-template-conversion_compact .section{padding:52px 0}.cr-template-conversion_compact .hero-art{min-height:300px}
.cr-template-heritage_classic h1,.cr-template-heritage_classic h2,.cr-template-heritage_classic h3{font-family:Georgia,serif}.cr-template-heritage_classic .site-header{border-bottom:3px double var(--ink)}.cr-template-heritage_classic .service-card{border-radius:0;box-shadow:none}
.cr-template-tech_clean .hero{background:linear-gradient(180deg,var(--soft),#fff)}.cr-template-tech_clean .service-card{box-shadow:none;border:1px solid color-mix(in srgb,var(--p) 24%,#fff)}
.cr-template-organic_soft .hero,.cr-template-organic_soft .soft{background:var(--soft)}.cr-template-organic_soft .photo-card,.cr-template-organic_soft .service-card,.cr-template-organic_soft .benefit{border-radius:32px}
.cr-template-monochrome_pro{filter:saturate(.12)}.cr-template-monochrome_pro .btn-primary{background:#111}
.cr-template-color_block .hero{background:var(--p);color:#fff}.cr-template-color_block .hero-copy>p{color:#fff}.cr-template-color_block .services-section{background:var(--a)}.cr-template-color_block .why-section{background:var(--s)}
.cr-template-split_showcase .hero-grid{grid-template-columns:1fr 1fr}.cr-template-split_showcase .hero-art{min-height:650px}.cr-template-split_showcase .photo-card{height:100%;width:100%;border-radius:0}
.cr-template-local_authority .hero{background:var(--soft)}.cr-template-local_authority .trust-strip{border:2px solid var(--p)}.cr-template-local_authority .why-section{background:var(--p)}
.cr-template-studio_cards .hero{background:var(--soft)}.cr-template-studio_cards .section{background:var(--soft)}.cr-template-studio_cards .section>.wrap{background:#fff;border-radius:28px;padding:48px}

/* Hero geometry: deliberately obvious differences */
.cr-hero-full_viewport .hero{min-height:88vh;display:flex;align-items:center}.cr-hero-full_width_short .hero{padding:30px 0}.cr-hero-full_width_short .hero-art{min-height:240px}.cr-hero-full_width_short .photo-real img{height:260px}.cr-hero-split_left .hero-copy{order:2}.cr-hero-split_left .hero-art{order:1}.cr-hero-centered_photo .hero-grid{display:block;text-align:center;max-width:1000px}.cr-hero-centered_photo .hero-art{margin:36px auto 0;max-width:920px}.cr-hero-centered_photo .actions{justify-content:center}.cr-hero-boxed .hero-grid{background:var(--soft);padding:55px;border-radius:26px;border:1px solid var(--line)}.cr-hero-editorial h1{font-family:Georgia,serif;font-weight:500}.cr-hero-overlap_card .hero-copy{position:relative;z-index:4;background:var(--surface);padding:44px;margin-right:-110px;box-shadow:0 30px 80px #0002}.cr-hero-text_only .hero-art{display:none}.cr-hero-text_only .hero-grid{grid-template-columns:1fr;max-width:950px}.cr-hero-diagonal .hero{background:linear-gradient(115deg,var(--soft) 0 55%,var(--p) 55%)}

/* Service systems */
.cr-services-horizontal_rows .services{display:block}.cr-services-horizontal_rows .service-card{display:grid;grid-template-columns:300px 1fr;margin:16px 0;box-shadow:none}.cr-services-masonry .services{grid-template-columns:1.35fr .8fr .8fr}.cr-services-masonry .service-card:first-child .service-photo{height:440px}.cr-services-feature_plus_grid .service-card:first-child{grid-column:span 2}.cr-services-feature_plus_grid .service-card:first-child .service-photo{height:380px}.cr-services-alternating .services{display:block}.cr-services-alternating .service-card{display:grid;grid-template-columns:1fr 1fr;margin:26px 0}.cr-services-alternating .service-card:nth-child(even) .service-photo{order:2}.cr-services-minimal_list .service-photo{display:none}.cr-services-minimal_list .service-card{box-shadow:none;border:0;border-bottom:1px solid var(--line);border-radius:0}.cr-services-numbered .service-card{counter-increment:svc}.cr-services-numbered .service-card h3:before{content:"0" counter(svc) " ";color:var(--p);font-size:.75em}.cr-services-bento .services{grid-template-columns:2fr 1fr}.cr-services-bento .service-card:first-child{grid-row:span 2}

/* Why / CTA / typography / sizing */
.cr-why-light_cards .why-section{background:var(--soft);color:var(--ink)}.cr-why-light_cards .benefit{background:#fff;color:var(--ink);border-color:var(--line)}.cr-why-stats_band .why-grid{grid-template-columns:1fr}.cr-why-stats_band .benefits{grid-template-columns:repeat(5,1fr)}.cr-why-minimal_list .why-section{background:#fff;color:var(--ink)}.cr-why-minimal_list .benefit{background:#fff;color:var(--ink);border:0;border-bottom:1px solid var(--line);border-radius:0}
.cr-typography-serif_editorial h1,.cr-typography-serif_editorial h2,.cr-typography-serif_editorial h3{font-family:Georgia,serif}.cr-typography-geometric{font-family:"Trebuchet MS",Arial,sans-serif}.cr-typography-humanist{font-family:"Segoe UI",Arial,sans-serif}.cr-typography-classic{font-family:Verdana,Arial,sans-serif}.cr-typography-condensed_display h1,.cr-typography-condensed_display h2{font-family:"Arial Narrow",Arial,sans-serif;letter-spacing:-.04em}
.cr-density-compact .section{padding-block:48px}.cr-density-spacious .section{padding-block:112px}.cr-radius-square .service-card,.cr-radius-square .photo-card,.cr-radius-square .btn{border-radius:0!important}.cr-radius-rounded .service-card,.cr-radius-rounded .photo-card{border-radius:30px!important}.cr-radius-pill .btn{border-radius:999px!important}
.cr-content_width-narrow .wrap{width:min(920px,92vw)}.cr-content_width-wide .wrap{width:min(1380px,94vw)}.cr-content_width-full .wrap{width:min(1600px,96vw)}
.cr-image_treatment-edge_to_edge .service-photo img,.cr-image_treatment-edge_to_edge .photo-card img{border-radius:0}.cr-image_treatment-framed img{border:10px solid #fff;box-shadow:0 15px 40px #0002}.cr-image_treatment-editorial_crop .service-photo img{object-position:35% 50%}.cr-image_treatment-rounded img{border-radius:28px}.cr-image_treatment-duotone_like img{filter:grayscale(.8) contrast(1.1)}
.cr-cta-full_dark .cta{background:#09090b}.cr-cta-boxed .cta{background:#fff;color:var(--ink)}.cr-cta-boxed .cta-grid{background:var(--s);color:#fff;padding:46px;border-radius:24px}.cr-cta-split_color .cta{background:linear-gradient(90deg,var(--s) 0 50%,var(--p) 50%)}.cr-cta-minimal .cta{background:var(--soft);color:var(--ink);border-block:1px solid var(--line)}
.cr-footer-centered .footer-grid{display:block;text-align:center;max-width:760px}.cr-footer-minimal footer{padding:30px 0}.cr-footer-split .footer-grid{grid-template-columns:2fr 1fr}.cr-footer-split .footer-grid>div:nth-child(2){display:none}
@media(max-width:900px){.cr-template-cinematic_full_bleed .hero-grid,.cr-template-split_showcase .hero-grid,.cr-services-horizontal_rows .service-card,.cr-services-alternating .service-card{grid-template-columns:1fr}.cr-hero-overlap_card .hero-copy{margin-right:0}.cr-hero-split_left .hero-copy,.cr-hero-split_left .hero-art{order:initial}.cr-services-masonry .services,.cr-services-bento .services{grid-template-columns:1fr}.cr-why-stats_band .benefits{grid-template-columns:1fr}.cr-template-magazine_asymmetric .service-card:nth-child(1){grid-column:auto}}/* Phase 3.12 independent templates — quality floor */
.pit{font-size:16px}.pit h1{font-size:clamp(48px,6vw,86px);line-height:.98;letter-spacing:-.045em}.pit h2{font-size:clamp(34px,4vw,56px);line-height:1.05}.pit p{font-size:17px;line-height:1.7}.pit .service-card p,.pit .benefit p,.pit .step p,.pit .faq p{font-size:15px}.pit .section{padding:88px 0}.pit-hero-img{width:100%;height:100%;object-fit:cover;display:block}.pit-hero-placeholder{min-height:420px;background:var(--soft);display:grid;place-items:center;font-weight:800}
.pit-1 .pit-cinema{position:relative;min-height:78vh;display:flex;align-items:center;color:#fff;overflow:hidden}.pit-1 .pit-cinema-media,.pit-1 .pit-cinema-shade{position:absolute;inset:0}.pit-1 .pit-cinema-shade{background:linear-gradient(90deg,#07111de8 0 48%,#07111d35 78%,transparent)}.pit-1 .pit-cinema .wrap{position:relative;z-index:2}.pit-1 .pit-hero-copy{max-width:650px}.pit-1 .pit-hero-copy p{color:#e5e7eb}.pit-1 .pit-proof{margin-top:-42px;position:relative;z-index:4}.pit-1 .pit-image-why{background:var(--s);color:#fff}.pit-1 .pit-image-why>.wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}
.pit-2{font-family:Georgia,serif}.pit-2 .pit-editorial-hero{padding:75px 0 25px}.pit-2 .pit-editorial-hero>.wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:end}.pit-2 figure{margin:0}.pit-2 figure img{height:620px}.pit-2 figcaption{font:12px Arial,sans-serif;margin-top:8px}.pit-2 .pit-index{font:700 12px Arial,sans-serif;letter-spacing:.18em}.pit-2 .pit-editorial-intro>.wrap{display:grid;grid-template-columns:100px 1fr 1fr;gap:40px}.pit-2 .service-card{border:0;border-top:1px solid var(--ink);border-radius:0;box-shadow:none}
.pit-3 .pit-direct-hero{background:var(--p);color:#fff;padding:52px 0}.pit-3 .pit-direct-hero>.wrap{display:grid;grid-template-columns:1fr .9fr;gap:45px;align-items:center}.pit-3 .pit-direct-photo{height:500px;border:8px solid #fff}.pit-3 .pit-direct-proof .trust{transform:none;margin-top:30px;color:var(--ink)}.pit-3 .pit-direct-services{padding:70px 0}.pit-3 .service-card{border-radius:2px;border-left:5px solid var(--a);box-shadow:none}.pit-3 .pit-direct-why{background:#111827;color:#fff;padding:80px 0}.pit-3 .pit-direct-why>.wrap{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px}
.pit-4 .pit-grid-hero{display:grid;grid-template-columns:1.05fr .95fr;grid-template-rows:minmax(420px,65vh) auto}.pit-4 .pit-grid-a{padding:7vw;display:flex;align-items:center}.pit-4 .pit-grid-b{overflow:hidden}.pit-4 .pit-grid-c{padding:28px 7vw;background:var(--s);color:#fff;display:flex;justify-content:space-between}.pit-4 .pit-grid-d{padding:0 5vw;background:var(--soft)}.pit-4 .pit-grid-d .trust{margin:0;transform:none}.pit-4 .pit-grid-services .pit-grid-heading{display:grid;grid-template-columns:1fr 1fr;gap:80px}.pit-4 .service-card{border-radius:0;box-shadow:none}
.pit-5{background:#0a0a0b;color:#f5f5f5}.pit-5 .section,.pit-5 .pit-area{background:#111214;color:#f5f5f5}.pit-5 .pit-dark-hero{padding:80px 0}.pit-5 .pit-dark-hero>.wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:55px}.pit-5 .pit-dark-media{height:580px}.pit-5 .pit-dark-stats .trust{background:#18181b;color:#fff;border-color:#333;transform:none;margin:0}.pit-5 .service-card,.pit-5 .benefit,.pit-5 .step,.pit-5 details{background:#18181b;color:#fff;border-color:#333;box-shadow:none}.pit-5 .pit-dark-why>.wrap{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px}
.pit-6{background:#fffaf2}.pit-6 .pit-warm-hero{padding:70px 0}.pit-6 .pit-warm-hero>.wrap{position:relative;min-height:620px}.pit-6 .pit-warm-photo{position:absolute;inset:0 0 0 28%;overflow:hidden;border-radius:32px}.pit-6 .pit-warm-card{position:absolute;left:0;top:70px;width:48%;background:#fff;padding:48px;border-radius:26px;box-shadow:0 30px 80px #4a352522}.pit-6 .pit-warm-story>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:80px}.pit-6 .service-card{border-radius:26px}
.pit-7 .pit-swiss-hero{padding:110px 0 55px;border-bottom:2px solid var(--ink)}.pit-7 .pit-swiss-hero .pit-hero-copy{max-width:980px}.pit-7 .pit-swiss-meta{display:flex;gap:50px;margin-top:55px;font-size:12px;text-transform:uppercase}.pit-7 .pit-swiss-image img{height:520px}.pit-7 .pit-swiss-num{font-size:12px;font-weight:900}.pit-7 .service-photo{display:none}.pit-7 .service-card,.pit-7 .benefit,.pit-7 .step{border:0;border-top:2px solid var(--ink);border-radius:0;box-shadow:none;background:transparent}
.pit-8 .pit-bold-hero{position:relative;overflow:hidden;padding:70px 0;background:var(--soft)}.pit-8 .pit-bold-hero>.wrap{display:grid;grid-template-columns:1fr .9fr;gap:40px;align-items:center;position:relative}.pit-8 .pit-bold-image{height:520px;border:4px solid var(--ink);box-shadow:18px 18px 0 var(--a)}.pit-8 .pit-bold-proof .trust{transform:none;margin:0;border:3px solid var(--ink);border-radius:0}.pit-8 .service-card{border:3px solid var(--ink);border-radius:0;box-shadow:10px 10px 0 var(--a)}.pit-8 .pit-bold-why{background:var(--a);padding:85px 0}.pit-8 .pit-bold-why>.wrap{display:grid;grid-template-columns:.5fr 1.5fr;gap:60px}
.pit-9 .pit-mag-hero{padding:70px 0}.pit-9 .pit-mag-hero h1{font-size:clamp(64px,9vw,132px);max-width:1200px}.pit-9 .pit-mag-bottom{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin:35px 0}.pit-9 .pit-mag-photo{height:650px}.pit-9 .pit-mag-intro>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:100px}.pit-9 .pit-mag-services .services{grid-template-columns:1.4fr .8fr .8fr}.pit-9 .pit-mag-services .service-card:first-child{grid-row:span 2}.pit-9 .pit-mag-why>.wrap{display:grid;grid-template-columns:180px 1fr;gap:60px}
.pit-10 .pit-split-hero{display:grid;grid-template-columns:1fr 1fr;min-height:720px}.pit-10 .pit-split-copy{padding:8vw 6vw 50px;display:flex;flex-direction:column;justify-content:center;background:var(--soft)}.pit-10 .pit-split-media{overflow:hidden}.pit-10 .pit-split-trust .trust{transform:none;margin-top:35px;grid-template-columns:1fr 1fr}.pit-10 .pit-split-services>.wrap{display:grid;grid-template-columns:.55fr 1.45fr;gap:60px}.pit-10 .pit-split-why{background:var(--s);color:#fff;padding:90px 0}.pit-10 .pit-split-why>.wrap{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px}
.pit-cta{padding:65px 0;background:var(--p);color:#fff}.pit-cta>.wrap{display:flex;justify-content:space-between;gap:50px;align-items:center}.pit-cta h2{font-size:clamp(32px,4vw,52px);margin:8px 0}.pit-contact{background:var(--surface,#fff)}
@media(max-width:900px){.pit h1{font-size:clamp(42px,10vw,64px)}.pit-1 .pit-image-why>.wrap,.pit-2 .pit-editorial-hero>.wrap,.pit-2 .pit-editorial-intro>.wrap,.pit-3 .pit-direct-hero>.wrap,.pit-3 .pit-direct-why>.wrap,.pit-4 .pit-grid-services .pit-grid-heading,.pit-5 .pit-dark-hero>.wrap,.pit-5 .pit-dark-why>.wrap,.pit-6 .pit-warm-story>.wrap,.pit-8 .pit-bold-hero>.wrap,.pit-8 .pit-bold-why>.wrap,.pit-9 .pit-mag-bottom,.pit-9 .pit-mag-intro>.wrap,.pit-9 .pit-mag-why>.wrap,.pit-10 .pit-split-services>.wrap,.pit-10 .pit-split-why>.wrap{grid-template-columns:1fr}.pit-4 .pit-grid-hero,.pit-10 .pit-split-hero{grid-template-columns:1fr}.pit-6 .pit-warm-hero>.wrap{min-height:auto}.pit-6 .pit-warm-photo,.pit-6 .pit-warm-card{position:relative;inset:auto;width:100%}.pit-6 .pit-warm-photo{height:420px}.pit-6 .pit-warm-card{margin-top:-50px}.pit-9 .pit-mag-photo{height:430px}.pit-10 .pit-split-media{height:420px}.pit-cta>.wrap{display:block}}/* Phase 3.13 — template-owned components */
.tic{font-size:16px}.tic h1{font-size:clamp(46px,6vw,84px);line-height:.98;letter-spacing:-.045em}.tic h2{font-size:clamp(32px,4vw,54px);line-height:1.06;letter-spacing:-.025em}.tic h3{font-size:20px;line-height:1.2}.tic p{font-size:17px;line-height:1.65}.tic>section{padding:86px 0}.tic-hero-img,.tic-service-img,.tic-area-img{width:100%;height:100%;object-fit:cover;display:block}.tic-img-empty{min-height:280px;background:var(--soft);display:grid;place-items:center}.tic-area>.wrap,.tic-contact>.wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.tic-area-media{height:430px}.tic-cta{background:var(--p);color:#fff}.tic-cta>.wrap{display:flex;justify-content:space-between;gap:60px;align-items:center}.tic-map{padding-top:0!important}.tic-process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.tic-process-card{padding:28px;border-top:3px solid var(--p);background:#fff}.tic-process-card>span{font-weight:900;color:var(--p)}.tic-faq-detail{border-bottom:1px solid var(--line);padding:18px 0}.tic-faq-detail summary{display:flex;justify-content:space-between;font-weight:800;cursor:pointer}.tic-faq-row{display:grid;grid-template-columns:80px 1fr;gap:30px;padding:28px 0;border-top:1px solid var(--line)}
/* 1 cinematic */
.tic1 .tic1-hero{min-height:82vh;position:relative;display:flex;align-items:center;color:#fff;padding:0}.tic1-bg,.tic1-shade{position:absolute;inset:0}.tic1-shade{background:linear-gradient(90deg,#07111df0 0 48%,#07111d55 72%,transparent)}.tic1-hero>.wrap{position:relative;z-index:2}.tic1 .tic-hero-copy{max-width:670px}.tic1 .tic-hero-copy p{color:#eef2f7}.tic1-trust{padding:0!important;margin-top:-38px;position:relative;z-index:3}.tic1-trust>.wrap{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;color:var(--ink);box-shadow:0 18px 50px #0002}.tic-trust-box{padding:22px}.tic-trust-box span{display:block;font-size:13px}.tic1-services header{max-width:760px}.tic1-service-list{margin-top:45px}.tic1-service{display:grid;grid-template-columns:1.15fr .85fr;min-height:360px;border-top:1px solid var(--line)}.tic1-service:nth-child(even){grid-template-columns:.85fr 1.15fr}.tic1-service:nth-child(even) .tic1-service-media{order:2}.tic1-service>div:last-child{padding:55px}.tic1-service-media{min-height:360px}.tic1-service-media img{height:100%}.tic1-service span{font-size:12px;font-weight:900}.tic1-why{background:var(--s);color:#fff}.tic1-why>.wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.tic-benefit-story{display:grid;grid-template-columns:55px 1fr;gap:20px;padding:25px 0;border-top:1px solid #ffffff33}
/* 2 editorial */
.tic2{font-family:Georgia,serif}.tic2-hero>.wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:end}.tic2-hero figure{margin:0}.tic2-hero figure img{height:650px}.tic2-hero figcaption{font:12px Arial,sans-serif;margin-top:8px}.tic2-manifesto>.wrap{display:grid;grid-template-columns:140px 1fr 1fr;gap:45px}.tic2-heading{display:grid;grid-template-columns:140px 1fr;gap:45px;margin-bottom:35px}.tic2-service{display:grid;grid-template-columns:90px 1fr 260px;gap:35px;align-items:center;padding:28px 0;border-top:1px solid var(--ink)}.tic2-thumb{height:150px}.tic2-thumb img{height:100%}.tic2-benefits{display:grid;grid-template-columns:1fr 1fr}.tic-benefit-editorial{padding:30px;border-top:1px solid var(--ink)}.tic2-process .tic-process-line{display:grid;grid-template-columns:100px 1fr;gap:35px;padding:30px 0;border-top:1px solid var(--ink)}
/* 3 direct contractor */
.tic3-hero{background:var(--p);color:#fff}.tic3-hero>.wrap{display:grid;grid-template-columns:1fr .9fr;gap:45px;align-items:center}.tic3-hero-photo{height:520px;border:8px solid #fff}.tic3-trust{display:grid;grid-template-columns:1fr 1fr;margin-top:30px}.tic3-trust .tic-trust-box{border:1px solid #ffffff44}.tic3-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.tic3-service{border:1px solid var(--line);background:#fff}.tic3-photo{height:210px}.tic3-photo img{height:100%}.tic3-copy{padding:24px}.tic3-why{background:#101827;color:#fff}.tic3-why>.wrap{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px}.tic3-benefits{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tic-benefit-check{display:grid;grid-template-columns:30px 1fr;gap:12px;padding:20px;background:#ffffff0b;border:1px solid #ffffff18}
/* 4 architectural */
.tic4-hero{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:minmax(520px,68vh) auto;padding:0!important}.tic4-copy{padding:7vw;display:flex;align-items:center}.tic4-image{overflow:hidden}.tic4-meta{background:var(--s);color:#fff;padding:25px 7vw;display:flex;justify-content:space-between}.tic4-trust{display:grid;grid-template-columns:repeat(4,1fr);background:var(--soft)}.tic4-title{display:grid;grid-template-columns:1fr 1fr;gap:80px}.tic4-service-grid{display:grid;grid-template-columns:1.3fr .85fr .85fr;gap:18px}.tic4-service{border:1px solid var(--line);min-height:330px}.tic4-photo{height:220px}.tic4-photo img{height:100%}.tic4-service>div:last-child{padding:25px}.tic4-benefits{display:grid;grid-template-columns:repeat(3,1fr)}.tic-benefit-grid{padding:28px;border:1px solid var(--line)}
/* 5 dark industrial */
.tic5{background:#0b0d10;color:#f5f5f5}.tic5>section{background:#0b0d10}.tic5-hero>.wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:55px;align-items:center}.tic5-photo{height:590px}.tic5-trust>.wrap{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid #333}.tic5-trust .tic-trust-box{border-right:1px solid #333}.tic5-label{font:700 12px monospace;color:var(--a);letter-spacing:.15em}.tic5-service{display:grid;grid-template-columns:80px 1fr 50px;gap:25px;padding:30px 0;border-top:1px solid #333}.tic5-service h3{font-size:28px}.tic5-why>.wrap{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px}.tic5-benefits{display:grid;grid-template-columns:1fr 1fr}.tic-benefit-dark{padding:28px;border:1px solid #333;background:#12151a}.tic5 .tic-process-dark{padding:28px;border:1px solid #333}.tic5 .tic-area,.tic5 .tic-contact{background:#11151b}.tic5 .lead{background:#181c22;color:#fff}
/* 6 warm local */
.tic6{background:#fffaf2}.tic6-hero>.wrap{position:relative;min-height:650px}.tic6-photo{position:absolute;inset:0 0 0 28%;overflow:hidden;border-radius:30px}.tic6-card{position:absolute;left:0;top:70px;width:50%;padding:48px;background:#fff;border-radius:26px;box-shadow:0 28px 70px #4a352522}.tic6-story>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:90px}.tic6-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.tic6-service{display:grid;grid-template-columns:.8fr 1.2fr;background:#fff;border-radius:24px;overflow:hidden}.tic6-photo{min-height:260px}.tic6-service>div:last-child{padding:28px}.tic6-benefits{display:grid;grid-template-columns:1fr 1fr}.tic6 .tic-benefit-story{border-color:#d8c8b4}
/* 7 swiss */
.tic7-hero{border-bottom:2px solid var(--ink)}.tic7-hero .tic-hero-copy{max-width:1000px}.tic7-meta{display:grid;grid-template-columns:repeat(4,1fr);margin-top:60px}.tic-trust-line{padding:15px 15px 15px 0}.tic-trust-line span,.tic-trust-line small{display:block;font-size:11px}.tic7-photo{padding-top:35px!important}.tic7-photo img{height:560px}.tic7-index{font:900 12px Arial,sans-serif}.tic7-service{display:grid;grid-template-columns:80px .8fr 1.2fr 80px;gap:30px;padding:30px 0;border-top:2px solid var(--ink);align-items:start}.tic7-service h3{font-size:28px}.tic7-intro{max-width:720px}.tic-benefit-line{display:grid;grid-template-columns:.7fr 1.3fr;padding:30px 0;border-top:1px solid var(--ink)}.tic7 .tic-process-line{display:grid;grid-template-columns:100px 1fr;padding:30px 0;border-top:1px solid var(--ink)}
/* 8 bold geometric */
.tic8-hero{background:var(--soft)}.tic8-hero>.wrap{display:grid;grid-template-columns:1fr .9fr;gap:50px;align-items:center}.tic8-photo{height:520px;border:4px solid var(--ink);box-shadow:18px 18px 0 var(--a)}.tic8-trust>.wrap{display:grid;grid-template-columns:repeat(4,1fr);border:3px solid var(--ink)}.tic8-trust .tic-trust-box{border-right:3px solid var(--ink)}.tic8-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.tic8-service{border:3px solid var(--ink);box-shadow:10px 10px 0 var(--a);background:#fff}.tic8-photo{height:220px}.tic8-service h3,.tic8-service p,.tic8-service .tic8-label{margin-inline:22px}.tic8-benefits{display:grid;grid-template-columns:repeat(3,1fr)}.tic-benefit-bold{padding:28px;border:3px solid var(--ink);background:var(--a)}.tic8-process-bold{border:3px solid var(--ink);padding:28px}
/* 9 magazine */
.tic9-hero h1{font-size:clamp(66px,9vw,132px);max-width:1250px}.tic9-kicker{font:800 12px Arial,sans-serif;letter-spacing:.18em}.tic9-sub{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin:30px 0}.tic9-photo{height:680px}.tic9-intro>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:100px}.tic9-services>.wrap,.tic9-why>.wrap,.tic9-process>.wrap{display:grid;grid-template-columns:180px 1fr;gap:50px}.tic9-service-grid{display:grid;grid-template-columns:1.3fr .8fr;gap:22px}.tic9-service{border-top:1px solid var(--ink)}.tic9-feature{grid-row:span 2}.tic9-photo{height:260px}.tic9-feature .tic9-photo{height:520px}.tic9-service>div:last-child{padding:24px 0}.tic9-benefits{display:grid;grid-template-columns:1fr 1fr}.tic-benefit-mag{padding:28px;border-top:1px solid var(--ink)}.tic9 .tic-process-line{display:grid;grid-template-columns:80px 1fr;padding:28px 0;border-top:1px solid var(--ink)}
/* 10 split showcase */
.tic10-hero{display:grid;grid-template-columns:1fr 1fr;min-height:720px;padding:0!important}.tic10-copy{padding:8vw 6vw 45px;background:var(--soft);display:flex;flex-direction:column;justify-content:center}.tic10-photo{overflow:hidden}.tic10-trust{display:grid;grid-template-columns:1fr 1fr;margin-top:35px}.tic10-service-list{border-top:1px solid var(--line)}.tic10-service{display:grid;grid-template-columns:.7fr 1.2fr 60px;gap:35px;padding:30px 0;border-bottom:1px solid var(--line);align-items:center}.tic10-service h3{font-size:28px}.tic10-why{background:var(--s);color:#fff}.tic10-why>.wrap{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px}.tic10-benefits{display:grid;grid-template-columns:1fr 1fr}.tic-benefit-split{display:grid;grid-template-columns:50px 1fr;gap:18px;padding:24px;border-top:1px solid #ffffff33}
/* Phase 4.3.2B hard contrast enforcement.
   Light sections use a fixed readable ink palette. Dark sections explicitly opt into light text.
   Brand colors remain accents only and can no longer make body copy unreadable. */
.tic{--awb-light-ink:#111827;--awb-light-body:#374151;--awb-light-muted:#5f6b7a;--awb-dark-ink:#f8fafc;--awb-dark-body:#e5e7eb}

/* Default all ordinary/light content surfaces to readable dark foregrounds. */
.tic1-services,.tic1-process,.tic1-faq,
.tic2-hero,.tic2-manifesto,.tic2-services,.tic2-why,.tic2-process,.tic2-faq,
.tic3-services,.tic3-process,.tic3-faq,
.tic4-hero,.tic4-services,.tic4-why,.tic4-process,.tic4-faq,
.tic6-hero,.tic6-story,.tic6-services,.tic6-why,.tic6-process,.tic6-faq,
.tic7-hero,.tic7-photo,.tic7-services,.tic7-why,.tic7-process,.tic7-faq,
.tic8-hero,.tic8-trust,.tic8-services,.tic8-why,.tic8-process,.tic8-faq,
.tic9-hero,.tic9-intro,.tic9-services,.tic9-why,.tic9-process,.tic9-faq,
.tic10-hero,.tic10-services,.tic10-process,.tic10-faq,
.tic-area,.tic-contact,.tic-map{color:var(--awb-light-ink)!important}

.tic1-services h1,.tic1-services h2,.tic1-services h3,.tic1-services h4,.tic1-services p,.tic1-services li,.tic1-services summary,
.tic1-process h1,.tic1-process h2,.tic1-process h3,.tic1-process h4,.tic1-process p,.tic1-process li,.tic1-process summary,
.tic1-faq h1,.tic1-faq h2,.tic1-faq h3,.tic1-faq h4,.tic1-faq p,.tic1-faq li,.tic1-faq summary,
.tic2 h1,.tic2 h2,.tic2 h3,.tic2 h4,.tic2 p,.tic2 li,.tic2 summary,
.tic3-services h1,.tic3-services h2,.tic3-services h3,.tic3-services h4,.tic3-services p,.tic3-services li,.tic3-services summary,
.tic3-process h1,.tic3-process h2,.tic3-process h3,.tic3-process h4,.tic3-process p,.tic3-process li,.tic3-process summary,
.tic3-faq h1,.tic3-faq h2,.tic3-faq h3,.tic3-faq h4,.tic3-faq p,.tic3-faq li,.tic3-faq summary,
.tic4 h1,.tic4 h2,.tic4 h3,.tic4 h4,.tic4 p,.tic4 li,.tic4 summary,
.tic6 h1,.tic6 h2,.tic6 h3,.tic6 h4,.tic6 p,.tic6 li,.tic6 summary,
.tic7 h1,.tic7 h2,.tic7 h3,.tic7 h4,.tic7 p,.tic7 li,.tic7 summary,
.tic8 h1,.tic8 h2,.tic8 h3,.tic8 h4,.tic8 p,.tic8 li,.tic8 summary,
.tic9 h1,.tic9 h2,.tic9 h3,.tic9 h4,.tic9 p,.tic9 li,.tic9 summary,
.tic10-services h1,.tic10-services h2,.tic10-services h3,.tic10-services h4,.tic10-services p,.tic10-services li,.tic10-services summary,
.tic10-process h1,.tic10-process h2,.tic10-process h3,.tic10-process h4,.tic10-process p,.tic10-process li,.tic10-process summary,
.tic10-faq h1,.tic10-faq h2,.tic10-faq h3,.tic10-faq h4,.tic10-faq p,.tic10-faq li,.tic10-faq summary,
.tic-area h1,.tic-area h2,.tic-area h3,.tic-area h4,.tic-area p,.tic-area li,.tic-area summary,
.tic-contact h1,.tic-contact h2,.tic-contact h3,.tic-contact h4,.tic-contact p,.tic-contact li,.tic-contact label,.tic-contact small,
.tic-map h1,.tic-map h2,.tic-map h3,.tic-map h4,.tic-map p{color:var(--awb-light-ink)!important}

/* Paragraphs on light surfaces are slightly softer but never pale/white. */
.tic1-services p,.tic1-process p,.tic1-faq p,
.tic2 p,.tic3-services p,.tic3-process p,.tic3-faq p,
.tic4 p,.tic6 p,.tic7 p,.tic8 p,.tic9 p,
.tic10-services p,.tic10-process p,.tic10-faq p,.tic-area p,.tic-contact p,.tic-map p{color:var(--awb-light-body)!important}

/* Deliberately dark surfaces. */
.tic1-hero,.tic1-why,.tic3-hero,.tic3-why,.tic10-why,
.tic5,.tic5>section,.tic5 .tic-area,.tic5 .tic-contact,.tic5 .tic-map,
.tic-cta{color:var(--awb-dark-ink)!important}
.tic1-hero h1,.tic1-hero h2,.tic1-hero h3,.tic1-hero p,
.tic1-why h1,.tic1-why h2,.tic1-why h3,.tic1-why p,
.tic3-hero h1,.tic3-hero h2,.tic3-hero h3,.tic3-hero p,
.tic3-why h1,.tic3-why h2,.tic3-why h3,.tic3-why p,
.tic10-why h1,.tic10-why h2,.tic10-why h3,.tic10-why p,
.tic5 h1,.tic5 h2,.tic5 h3,.tic5 h4,.tic5 p,.tic5 li,.tic5 summary,.tic5 label,.tic5 small,
.tic-cta h1,.tic-cta h2,.tic-cta h3,.tic-cta h4,.tic-cta p,.tic-cta small{color:var(--awb-dark-ink)!important}

/* Accent labels stay branded, except on dark surfaces where readability wins. */
.tic .eyebrow,.tic [class*="label"],.tic [class*="num"]{color:var(--p)!important}
.tic1-hero .eyebrow,.tic1-why .eyebrow,.tic3-hero .eyebrow,.tic3-why .eyebrow,.tic10-why .eyebrow,.tic5 .eyebrow,.tic-cta .eyebrow{color:var(--awb-dark-ink)!important}

/* Cards are always independently readable regardless of parent section theme. */
.tic article:not(.tic-benefit-dark):not(.tic-process-dark),.tic .tic-process-card,.tic .tic3-service,.tic .tic4-service,.tic .tic6-service,.tic .tic8-service{color:var(--awb-light-ink)!important}
.tic article:not(.tic-benefit-dark):not(.tic-process-dark) h3,.tic article:not(.tic-benefit-dark):not(.tic-process-dark) p,
.tic .tic-process-card h3,.tic .tic-process-card p,.tic .tic3-service h3,.tic .tic3-service p,.tic .tic4-service h3,.tic .tic4-service p,.tic .tic6-service h3,.tic .tic6-service p,.tic .tic8-service h3,.tic .tic8-service p{color:var(--awb-light-ink)!important}
.tic .tic-benefit-dark,.tic .tic-process-dark,.tic .tic-benefit-dark h3,.tic .tic-benefit-dark p,.tic .tic-process-dark h3,.tic .tic-process-dark p{color:var(--awb-dark-ink)!important}

/* Form controls and secondary buttons must never inherit white-on-white text. */
.tic-contact input,.tic-contact textarea,.tic-contact select{background:#fff!important;color:#111827!important;border-color:#cbd5e1!important}
.tic-contact input::placeholder,.tic-contact textarea::placeholder{color:#64748b!important;opacity:1!important}
.tic-contact .lead{background:#fff!important;color:#111827!important}
.tic .btn-light,.tic .btn-secondary{background:#fff!important;color:#111827!important;border-color:#cbd5e1!important}
.tic-cta .btn-light,.tic-cta .btn-secondary{background:#fff!important;color:#111827!important}
@media(max-width:900px){.tic h1{font-size:clamp(42px,11vw,62px)}.tic>section{padding:62px 0}.tic-area>.wrap,.tic-contact>.wrap,.tic1-why>.wrap,.tic2-hero>.wrap,.tic2-manifesto>.wrap,.tic3-hero>.wrap,.tic3-why>.wrap,.tic4-title,.tic5-hero>.wrap,.tic5-why>.wrap,.tic6-story>.wrap,.tic8-hero>.wrap,.tic9-sub,.tic9-intro>.wrap,.tic9-services>.wrap,.tic9-why>.wrap,.tic9-process>.wrap,.tic10-why>.wrap{grid-template-columns:1fr}.tic-process-grid,.tic3-service-grid,.tic4-service-grid,.tic8-service-grid{grid-template-columns:1fr}.tic1-service,.tic1-service:nth-child(even){grid-template-columns:1fr}.tic1-service:nth-child(even) .tic1-service-media{order:0}.tic2-service,.tic7-service,.tic10-service{grid-template-columns:60px 1fr}.tic2-thumb,.tic7-service p,.tic10-service p{grid-column:2}.tic4-hero,.tic10-hero{grid-template-columns:1fr}.tic4-trust,.tic1-trust>.wrap,.tic5-trust>.wrap,.tic7-meta,.tic8-trust>.wrap{grid-template-columns:1fr 1fr}.tic6-hero>.wrap{min-height:auto}.tic6-photo,.tic6-card{position:relative;inset:auto;width:100%}.tic6-photo{height:420px}.tic6-card{margin-top:-45px}.tic6-service-grid,.tic6-benefits,.tic2-benefits,.tic3-benefits,.tic5-benefits,.tic8-benefits,.tic9-benefits,.tic10-benefits{grid-template-columns:1fr}.tic9-photo{height:430px}.tic-cta>.wrap{display:block}}/* Phase 3.15.0 — composable homepage components */
.comp-site{--comp-gap:clamp(56px,7vw,100px);color:var(--ink)}
.comp-site section{padding:var(--comp-gap) 0}.comp-site .wrap{width:min(1180px,calc(100% - 48px));margin:auto}
.comp-site h1{font-size:clamp(42px,4.2vw,62px)!important;line-height:1.02!important;letter-spacing:-.04em!important;max-width:15ch}
.comp-site h2{font-size:clamp(30px,3vw,44px)!important;line-height:1.08!important;letter-spacing:-.025em}
.comp-site h3{font-size:clamp(18px,1.35vw,22px)!important}.comp-site p{line-height:1.72}
.comp-hero-1>.wrap{display:grid;grid-template-columns:.95fr 1.05fr;gap:70px;align-items:center}.comp-hero-media{min-height:500px}.comp-hero-media img,.comp-hero-wide img,.comp-area-media img,.comp-service-media img{width:100%;height:100%;object-fit:cover}
.comp-hero-2{position:relative;min-height:680px;display:flex;align-items:end;color:#fff;overflow:hidden}.comp-hero-2>.comp-hero-media{position:absolute;inset:0}.comp-hero-2>.comp-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#07131bd9 0 48%,#07131b30)}.comp-hero-2>.wrap{position:relative;padding-bottom:90px}.comp-hero-2 .comp-hero-copy{max-width:650px}.comp-hero-2 h1,.comp-hero-2 p{color:#fff!important}
.comp-hero-3{padding-bottom:0!important}.comp-hero-3>.wrap{max-width:900px;margin-bottom:55px}.comp-hero-wide{height:520px}.comp-hero-wide img{border-radius:0}
.comp-hero-4>.wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:0;align-items:center}.comp-hero-frame{padding:55px;background:var(--s);color:#fff;position:relative;z-index:2;margin-right:-50px}.comp-hero-frame h1,.comp-hero-frame p{color:#fff!important}.comp-hero-4 .comp-hero-media{height:570px}
.comp-section-head{display:grid;grid-template-columns:.75fr 1.25fr;gap:60px;align-items:start;margin-bottom:48px}.comp-section-head p{margin-top:8px}
.comp-service-list{display:grid;gap:22px}.comp-service-card{background:#fff;border:1px solid var(--line);overflow:hidden}.comp-service-media{height:230px}.comp-service-copy{padding:25px}.comp-service-copy small{color:var(--p);font-weight:800}.comp-service-copy a{font-weight:800;color:var(--p)}
.comp-services-1 .comp-service-list{grid-template-columns:repeat(3,1fr)}.comp-services-2 .comp-service-list{grid-template-columns:1.3fr .85fr .85fr}.comp-services-2 .comp-service-card:first-child{grid-row:span 2}.comp-services-2 .comp-service-card:first-child .comp-service-media{height:360px}
.comp-services-3 .comp-service-card{display:grid;grid-template-columns:260px 1fr}.comp-services-3 .comp-service-media{height:100%;min-height:210px}.comp-services-4 .comp-service-list{grid-template-columns:1fr 1fr}.comp-services-4 .comp-service-card{display:grid;grid-template-columns:.85fr 1.15fr}
.comp-why{background:color-mix(in srgb,var(--p) 7%,#fff)}.comp-why>.wrap{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}.comp-benefit-list{display:grid;grid-template-columns:1fr 1fr}.comp-benefit-list article{padding:28px;border-top:1px solid color-mix(in srgb,var(--p) 22%,transparent)}.comp-benefit-list span{font-weight:900;color:var(--p)}
.comp-why-2{background:var(--s);color:#fff}.comp-why-2 h2,.comp-why-2 h3,.comp-why-2 p{color:#fff!important}.comp-why-2 .comp-benefit-list article{border-color:#ffffff30}.comp-why-2 .comp-benefit-list span{color:var(--a)}
.comp-why-3>.wrap{grid-template-columns:1fr}.comp-why-3 .comp-why-intro{max-width:760px}.comp-why-3 .comp-benefit-list{grid-template-columns:repeat(3,1fr);gap:18px}.comp-why-3 .comp-benefit-list article{background:#fff;border:1px solid var(--line)}
.comp-why-4 .comp-benefit-list{display:block}.comp-why-4 .comp-benefit-list article{display:grid;grid-template-columns:55px .75fr 1.25fr;gap:20px}
.comp-step-list{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.comp-step-list article{padding:28px;border-top:3px solid var(--a)}.comp-step-list b{color:var(--p)}
.comp-process-2 .comp-step-list{display:block}.comp-process-2 .comp-step-list article{display:grid;grid-template-columns:90px 1fr;padding:28px 0;border-top:1px solid var(--line)}
.comp-process-3 .comp-step-list article{background:color-mix(in srgb,var(--p) 6%,#fff);border:0;border-radius:18px}.comp-process-4 .comp-step-list{grid-template-columns:1fr}.comp-process-4 .comp-step-list article{display:grid;grid-template-columns:100px 1fr;border-top:1px solid var(--ink)}
.comp-area>.wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.comp-area-media{height:400px}.comp-area-2{background:color-mix(in srgb,var(--a) 9%,#fff)}.comp-area-2>.wrap{grid-template-columns:1.2fr .8fr}.comp-area-2 .comp-area-media{order:-1}.comp-area-3>.wrap{grid-template-columns:1fr}.comp-area-3 .comp-area-media{height:460px}
.comp-cta{background:var(--p);color:#fff}.comp-cta>.wrap{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:center}.comp-cta h2,.comp-cta p{color:#fff!important}.comp-cta-2{background:var(--s)}.comp-cta-3>.wrap{max-width:900px;text-align:center;display:block}.comp-cta-3 .actions{justify-content:center}
.comp-faq-list{max-width:900px}.comp-faq-list details{border-bottom:1px solid var(--line);padding:18px 0}.comp-faq-list summary{font-weight:800;display:flex;justify-content:space-between;cursor:pointer}.comp-faq-2>.wrap{display:grid;grid-template-columns:.6fr 1.4fr;gap:70px}.comp-faq-2 .comp-section-head{display:block}.comp-faq-3{background:color-mix(in srgb,var(--a) 7%,#fff)}.comp-faq-3 .comp-faq-list{display:grid;grid-template-columns:1fr 1fr;gap:15px;max-width:none}.comp-faq-3 details{background:#fff;padding:20px;border:1px solid var(--line)}
.comp-contact>.wrap{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px}.comp-contact .lead{background:#fff;border:1px solid var(--line);padding:28px}.comp-map{background:var(--soft)}
@media(max-width:900px){.comp-site .wrap{width:min(100% - 30px,1180px)}.comp-hero-1>.wrap,.comp-hero-4>.wrap,.comp-section-head,.comp-why>.wrap,.comp-area>.wrap,.comp-faq-2>.wrap,.comp-contact>.wrap{grid-template-columns:1fr}.comp-hero-4 .comp-hero-frame{margin:0}.comp-services-1 .comp-service-list,.comp-services-2 .comp-service-list,.comp-services-4 .comp-service-list,.comp-why-3 .comp-benefit-list,.comp-step-list,.comp-faq-3 .comp-faq-list{grid-template-columns:1fr}.comp-services-3 .comp-service-card,.comp-services-4 .comp-service-card{grid-template-columns:1fr}.comp-benefit-list{grid-template-columns:1fr}.comp-why-4 .comp-benefit-list article{grid-template-columns:45px 1fr}.comp-why-4 .comp-benefit-list article p{grid-column:2}.comp-hero-media,.comp-hero-4 .comp-hero-media,.comp-hero-wide{min-height:0;height:390px}.comp-hero-2{min-height:600px}.comp-cta>.wrap{display:block}.comp-cta .actions{margin-top:25px}}/* ===== Phase 3.13.1 quality floor ===== */
.tic{--q-section:72px;--q-gap:clamp(28px,4vw,58px);--q-card-gap:22px}
.cr-density-compact .tic{--q-section:58px;--q-gap:32px}
.cr-density-balanced .tic{--q-section:72px;--q-gap:46px}
.cr-density-spacious .tic{--q-section:88px;--q-gap:58px}
.tic>section:not(.tic1-hero):not(.tic4-hero):not(.tic10-hero){padding-top:var(--q-section);padding-bottom:var(--q-section)}
.tic .wrap{width:min(1180px,calc(100% - 48px))}
.tic h1,.tic h2,.tic h3,.tic p{overflow-wrap:break-word}
.tic h1{margin:12px 0 22px;max-width:18ch}
.tic h2{margin:8px 0 22px;max-width:22ch}
.tic h3{margin:8px 0 10px}
.tic p{margin:0 0 16px;max-width:72ch;color:inherit}
.tic .eyebrow{margin-bottom:8px}
.tic .actions{margin-top:24px}
.tic .btn{min-height:46px;padding:12px 19px}
.tic .tic-service-img,.tic .tic-hero-img,.tic .tic-area-img{object-position:center}
.tic .tic-area>.wrap,.tic .tic-contact>.wrap{gap:clamp(38px,6vw,76px)}
.tic .tic-area-media{height:360px;min-height:0}
.tic .tic-contact .lead{align-self:start}
.tic .tic-map{padding-top:18px!important;padding-bottom:50px!important}
.tic .tic-map .map-card{margin-top:0}
.tic .tic-cta>.wrap{min-height:160px}
.tic .tic-cta h2{max-width:18ch}
.tic .tic-process-grid{gap:18px}
.tic .tic-process-card,.tic .tic-process-dark,.tic .tic-process-bold{min-height:0}
.tic .tic-faq-detail p{font-size:15px;line-height:1.6}

/* T1 cinematic: remove oversized bands, keep alternating service stories balanced */
.tic1 .tic1-hero{min-height:min(760px,78vh)}
.tic1 .tic1-service{min-height:310px}
.tic1 .tic1-service-media{min-height:310px;max-height:390px}
.tic1 .tic1-service>div:last-child{padding:clamp(30px,4vw,50px)}
.tic1 .tic1-why>.wrap{gap:55px}

/* T2 editorial: readable editorial proportions */
.tic2 .tic2-hero figure img{height:clamp(430px,52vw,610px)}
.tic2 .tic2-manifesto>.wrap{grid-template-columns:110px minmax(0,1fr) minmax(280px,.8fr);gap:34px}
.tic2 .tic2-service{grid-template-columns:70px minmax(0,1fr) 220px;gap:28px}
.tic2 .tic2-thumb{height:135px}
.tic2 .tic-benefit-editorial{padding:24px}

/* T3 contractor: consistent card heights and less dead space */
.tic3 .tic3-hero-photo{height:470px}
.tic3 .tic3-service-grid{align-items:stretch}
.tic3 .tic3-service{display:flex;flex-direction:column;height:100%}
.tic3 .tic3-copy{flex:1}
.tic3 .tic3-photo{height:190px}
.tic3 .tic3-why>.wrap{gap:48px}

/* T4 architectural — screenshot-specific repair */
.tic4 .tic4-hero{grid-template-rows:minmax(430px,58vh) auto}
.tic4 .tic4-copy{padding:clamp(46px,6vw,82px)}
.tic4 .tic4-meta{padding:18px clamp(30px,6vw,82px)}
.tic4 .tic4-trust .tic-trust-box{padding:16px 18px}
.tic4 .tic4-title{grid-template-columns:.72fr 1.28fr;gap:52px;align-items:start;margin-bottom:34px}
.tic4 .tic4-title h2{margin-top:0}
.tic4 .tic4-service-grid{grid-template-columns:1.15fr .925fr .925fr;gap:18px;align-items:stretch}
.tic4 .tic4-service{min-height:0;display:flex;flex-direction:column;background:#fff}
.tic4 .tic4-photo{height:180px;flex:0 0 180px}
.tic4 .tic4-service>div:last-child{padding:20px 22px;flex:1}
.tic4 .tic4-service h3{font-size:18px}
.tic4 .tic4-service p{font-size:14px;line-height:1.55}
.tic4 .tic4-benefits{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.tic4 .tic-benefit-grid{padding:22px 24px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:170px}
.tic4 .tic-benefit-grid h3{font-size:17px}
.tic4 .tic-benefit-grid p{font-size:14px;line-height:1.55}
.tic4 .tic4-process .tic-process-grid{margin-top:28px}
.tic4 .tic4-process .tic-process-card{padding:22px;min-height:190px}
.tic4 .tic-area{padding-top:68px;padding-bottom:68px}
.tic4 .tic-cta{padding-top:54px!important;padding-bottom:54px!important}
.tic4 .tic4-faq>.wrap{width:min(900px,calc(100% - 48px))}

/* T5 dark industrial */
.tic5 .tic5-photo{height:500px}
.tic5 .tic5-service{padding:24px 0}
.tic5 .tic5-service h3{font-size:24px}
.tic5 .tic5-why>.wrap{gap:52px}
.tic5 .tic-benefit-dark{padding:23px;min-height:160px}

/* T6 warm local */
.tic6 .tic6-hero>.wrap{min-height:570px}
.tic6 .tic6-card{top:55px;padding:40px}
.tic6 .tic6-story>.wrap{gap:60px}
.tic6 .tic6-service-grid{gap:22px}
.tic6 .tic6-service{grid-template-columns:.9fr 1.1fr}
.tic6 .tic6-service>div:last-child{padding:24px}

/* T7 Swiss: intentionally minimal, not empty */
.tic7 .tic7-meta{margin-top:40px}
.tic7 .tic7-photo{padding-top:22px!important;padding-bottom:22px!important}
.tic7 .tic7-photo img{height:480px}
.tic7 .tic7-service{grid-template-columns:64px .72fr 1.28fr 64px;gap:24px;padding:24px 0}
.tic7 .tic7-service h3{font-size:24px}
.tic7 .tic-benefit-line{padding:24px 0}
.tic7 .tic-process-line{padding:24px 0}

/* T8 bold geometric */
.tic8 .tic8-photo{height:460px}
.tic8 .tic8-service-grid{gap:20px}
.tic8 .tic8-service{box-shadow:7px 7px 0 var(--a)}
.tic8 .tic8-service .tic8-photo{height:180px}
.tic8 .tic-benefit-bold{padding:22px;min-height:165px}

/* T9 magazine: keep drama without giant empty canvas */
.tic9 .tic9-hero h1{font-size:clamp(58px,8vw,112px)}
.tic9 .tic9-sub{gap:55px;margin:24px 0}
.tic9 .tic9-photo{height:560px}
.tic9 .tic9-intro>.wrap{gap:65px}
.tic9 .tic9-services>.wrap,.tic9 .tic9-why>.wrap,.tic9 .tic9-process>.wrap{grid-template-columns:150px minmax(0,1fr);gap:40px}
.tic9 .tic9-service-grid{gap:18px}
.tic9 .tic9-service .tic9-photo{height:220px}
.tic9 .tic9-service.tic9-feature .tic9-photo{height:440px}
.tic9 .tic-benefit-mag{padding:23px}

/* T10 split */
.tic10 .tic10-hero{min-height:620px}
.tic10 .tic10-copy{padding:clamp(50px,7vw,90px) clamp(38px,5vw,75px)}
.tic10 .tic10-service{grid-template-columns:.72fr 1.15fr 48px;gap:26px;padding:24px 0}
.tic10 .tic10-service h3{font-size:24px}
.tic10 .tic10-why>.wrap{gap:50px}
.tic10 .tic-benefit-split{padding:21px}

@media(max-width:900px){
 .tic{--q-section:56px}.tic .wrap{width:min(100% - 32px,1180px)}
 .tic h2{font-size:clamp(30px,7vw,44px)}
 .tic4 .tic4-title,.tic2 .tic2-manifesto>.wrap{grid-template-columns:1fr;gap:20px}
 .tic4 .tic4-service-grid{grid-template-columns:1fr 1fr}.tic4 .tic4-benefits{grid-template-columns:1fr 1fr}
 .tic2 .tic2-service{grid-template-columns:54px 1fr}.tic2 .tic2-thumb{grid-column:2;height:190px}
 .tic9 .tic9-services>.wrap,.tic9 .tic9-why>.wrap,.tic9 .tic9-process>.wrap{grid-template-columns:1fr}
}
@media(max-width:620px){
 .tic{--q-section:48px}.tic .wrap{width:min(100% - 26px,1180px)}
 .tic p{font-size:16px}.tic h1{font-size:clamp(39px,12vw,54px)}
 .tic4 .tic4-service-grid,.tic4 .tic4-benefits{grid-template-columns:1fr}
 .tic4 .tic4-photo{height:210px;flex-basis:210px}
 .tic .tic-area-media{height:300px}
}

/* ===== Phase 3.13.2 Layout Safety + Premium Polish ===== */
/* Universal media containment: generated images must never escape their component. */
.tic figure,.tic [class*="-photo"],.tic [class*="-media"],.tic [class*="-image"],.tic [class*="-thumb"]{min-width:0;max-width:100%}
.tic [class*="-photo"]>img,.tic [class*="-media"]>img,.tic [class*="-image"]>img,.tic [class*="-thumb"]>img{display:block;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center}
.tic section{overflow:clip}
.tic .wrap{min-width:0}
.tic .wrap>*{min-width:0}
.tic p{font-size:clamp(15.5px,1.12vw,17px);line-height:1.62}
.tic h3{font-size:clamp(18px,1.55vw,22px)}

/* T1 */
.tic1 .tic1-service-media{overflow:hidden}
.tic1 .tic1-service-media img{max-height:390px}
.tic1 .tic1-why{overflow:hidden}

/* T2 */
.tic2 .tic2-hero figure{overflow:hidden}
.tic2 .tic2-thumb{overflow:hidden}
.tic2 .tic2-service p{max-width:62ch}

/* T3 */
.tic3 .tic3-hero-photo,.tic3 .tic3-photo{overflow:hidden}
.tic3 .tic3-service p{font-size:15.5px}

/* T4 */
.tic4 .tic4-image,.tic4 .tic4-photo{overflow:hidden}
.tic4 .tic4-image .tic-hero-img{height:100%;min-height:430px}
.tic4 .tic4-services,.tic4 .tic4-why,.tic4 .tic4-process{padding-block:64px}
.tic4 .tic4-service p,.tic4 .tic-benefit-grid p{font-size:15px;line-height:1.58}

/* T5 */
.tic5 .tic5-photo{overflow:hidden}
.tic5 .tic5-services,.tic5 .tic5-why,.tic5 .tic5-process{padding-block:66px}

/* T6 CRITICAL: hero and service cards previously shared .tic6-photo.
   Restrict absolute positioning to HERO ONLY and reset service media completely. */
.tic6 .tic6-hero{overflow:hidden}
.tic6 .tic6-hero>.wrap{position:relative;min-height:560px;overflow:visible}
.tic6 .tic6-hero .tic6-photo{position:absolute;inset:0 0 0 28%;width:auto;height:auto;min-height:0;max-width:none;overflow:hidden;border-radius:30px}
.tic6 .tic6-hero .tic6-photo>img{width:100%;height:100%;object-fit:cover}
.tic6 .tic6-service{position:relative;isolation:isolate;overflow:hidden;min-height:270px;align-items:stretch}
.tic6 .tic6-service .tic6-photo{position:relative!important;inset:auto!important;width:auto!important;height:auto!important;min-height:270px!important;max-width:100%!important;border-radius:0!important;overflow:hidden!important}
.tic6 .tic6-service .tic6-photo>img{position:static!important;width:100%!important;height:100%!important;min-height:270px;object-fit:cover!important}
.tic6 .tic6-service>div:last-child{position:relative;z-index:2;background:#fff}
.tic6 .tic6-services,.tic6 .tic6-why,.tic6 .tic6-process{overflow:hidden}
.tic6 .tic6-benefits{gap:0 34px}
.tic6 .tic-benefit-story{padding:22px 0}

/* T7 */
.tic7 .tic7-photo{overflow:hidden}
.tic7 .tic7-services,.tic7 .tic7-why,.tic7 .tic7-process{padding-block:62px}
.tic7 .tic7-service p{font-size:15.5px}

/* T8: hero and service both use .tic8-photo; scope dimensions explicitly. */
.tic8 .tic8-hero .tic8-photo{height:460px;overflow:hidden}
.tic8 .tic8-service .tic8-photo{height:190px!important;overflow:hidden;box-shadow:none;border-width:0 0 3px 0}
.tic8 .tic8-service{overflow:hidden}

/* T9: keep magazine imagery dramatic but bounded. */
.tic9 .tic9-hero .tic9-photo{height:clamp(420px,52vw,560px);overflow:hidden}
.tic9 .tic9-service .tic9-photo{height:220px;overflow:hidden}
.tic9 .tic9-service.tic9-feature .tic9-photo{height:420px}
.tic9 .tic9-services,.tic9 .tic9-why,.tic9 .tic9-process{padding-block:64px}

/* T10 */
.tic10 .tic10-photo{overflow:hidden;min-height:520px}
.tic10 .tic10-photo .tic-hero-img{height:100%}
.tic10 .tic10-services,.tic10 .tic10-why,.tic10 .tic10-process{padding-block:64px}

/* Shared premium density and alignment. */
.tic .tic-area h2,.tic .tic-contact h2{margin-top:6px}
.tic .tic-area>.wrap{align-items:center}
.tic .tic-contact>.wrap{align-items:start}
.tic .tic-cta p{max-width:62ch}
.tic .tic-faq-detail summary{font-size:16px;line-height:1.45;padding-right:8px}
.tic .tic-faq-detail p{max-width:76ch}

@media(max-width:900px){
 .tic section{overflow:hidden}
 .tic6 .tic6-hero>.wrap{min-height:auto}
 .tic6 .tic6-hero .tic6-photo{position:relative;inset:auto;width:100%;height:420px;max-width:100%;border-radius:22px}
 .tic6 .tic6-card{position:relative;left:auto;top:auto;width:calc(100% - 28px);margin:-44px auto 0;padding:34px;z-index:2}
 .tic6 .tic6-service{grid-template-columns:1fr}
 .tic6 .tic6-service .tic6-photo{height:250px!important;min-height:250px!important}
 .tic8 .tic8-hero .tic8-photo{height:400px}
 .tic10 .tic10-photo{min-height:420px;height:420px}
}
@media(max-width:620px){
 .tic .tic-area>.wrap,.tic .tic-contact>.wrap{gap:30px}
 .tic6 .tic6-hero .tic6-photo{height:330px}
 .tic6 .tic6-card{padding:26px}
 .tic6 .tic6-service .tic6-photo{height:220px!important;min-height:220px!important}
 .tic8 .tic8-hero .tic8-photo{height:330px}
 .tic9 .tic9-hero .tic9-photo{height:340px}
 .tic9 .tic9-service.tic9-feature .tic9-photo{height:300px}
 .tic10 .tic10-photo{height:340px;min-height:340px}
}


/* ===== Phase 4.3.1B — Design Diversity, Adaptive Typography & Resilient Maps ===== */
/* Long headlines step down automatically instead of creating 6–8 oversized lines. */
.hero-copy-medium .tic h1,.hero-copy-medium .comp-hero h1,.hero-copy-medium .hero h1{font-size:clamp(38px,5vw,66px)!important;line-height:1.01!important}
.hero-copy-long .tic h1,.hero-copy-long .comp-hero h1,.hero-copy-long .hero h1{font-size:clamp(34px,4.35vw,56px)!important;line-height:1.04!important;letter-spacing:-.035em!important}
.hero-copy-long .tic9-hero h1{font-size:clamp(44px,6.4vw,82px)!important}
/* Never reserve a giant map region when an embed is absent or fails. */
.awb-map-shell{position:relative;min-height:280px;background:var(--soft,#f4f6f8);overflow:hidden}
.awb-location-map{display:block;width:100%!important;max-width:none!important;min-width:100%!important;height:340px!important;border:0}
.awb-map-fallback{display:none;min-height:280px;padding:36px;align-items:flex-start;justify-content:center;flex-direction:column;gap:12px;background:linear-gradient(135deg,var(--soft,#f5f6f7),#fff)}
.awb-map-fallback strong{font-size:clamp(22px,2.4vw,34px);line-height:1.1}.awb-map-fallback span{max-width:62ch;color:var(--muted,#64748b)}
.awb-map-card.map-failed .awb-location-map{display:none}.awb-map-card.map-failed .awb-map-fallback{display:flex}
/* Optional/empty sections collapse rather than leaving generator-like white bands. */
.tic section:empty,.comp-site section:empty{display:none!important}.tic .map-card:empty,.comp-site .map-card:empty{display:none!important}
/* 4.3.1D: never preserve dimensions for a failed generated image. */
.tic .awb-media-failed,.comp-site .awb-media-failed{display:none!important;min-height:0!important;height:0!important;margin:0!important;padding:0!important;border:0!important}
/* More distinct visual signatures between template families without changing content/data. */
.pit-template-1 .tic-service-img,.pit-template-1 .tic-area-img{border-radius:24px}.pit-template-2 .tic [class*="service"]{border-radius:0}.pit-template-3 .tic [class*="service"]{border-radius:14px}.pit-template-4 .tic [class*="service"]{box-shadow:none}.pit-template-5 .tic [class*="service"]{border-radius:2px}.pit-template-6 .tic [class*="service"]{border-radius:22px}.pit-template-7 .tic [class*="service"]{border-radius:0}.pit-template-8 .tic [class*="service"]{border-radius:8px}.pit-template-9 .tic [class*="service"]{border-radius:0}.pit-template-10 .tic [class*="service"]{border-radius:18px}
@media(max-width:620px){.hero-copy-medium .tic h1,.hero-copy-long .tic h1,.hero-copy-medium .comp-hero h1,.hero-copy-long .comp-hero h1{font-size:clamp(34px,10.5vw,46px)!important}.awb-map-shell,.awb-map-fallback{min-height:230px}.awb-location-map{height:280px!important}}
/* Phase 3.13.3 — Premium typography and brand identity */
body{font-size:16px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
.tic p{font-size:clamp(16px,1.05vw,18px);line-height:1.68;letter-spacing:-.006em}.tic h1,.tic h2,.tic h3{text-wrap:balance}.tic h1{font-weight:760}.tic h2{font-weight:740}.tic h3{font-weight:700}.tic small,.tic .eyebrow{letter-spacing:.11em}.tic .eyebrow{font-size:12px}.tic a:not(.btn){text-underline-offset:3px}
/* Six controlled typography personalities, no remote font dependency. */
.cr-typography-grotesk{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif}.cr-typography-grotesk .tic h1,.cr-typography-grotesk .tic h2{letter-spacing:-.05em;font-weight:800}
.cr-typography-geometric{font-family:"Trebuchet MS",Arial,sans-serif}.cr-typography-geometric .tic h1,.cr-typography-geometric .tic h2{letter-spacing:-.045em;font-weight:700}
.cr-typography-humanist{font-family:"Segoe UI",Tahoma,Arial,sans-serif}.cr-typography-humanist .tic h1,.cr-typography-humanist .tic h2{letter-spacing:-.035em;font-weight:680}
.cr-typography-classic{font-family:Verdana,"Segoe UI",sans-serif}.cr-typography-classic .tic h1,.cr-typography-classic .tic h2{letter-spacing:-.035em;font-weight:700}
.cr-typography-serif_editorial{font-family:Georgia,"Times New Roman",serif}.cr-typography-serif_editorial .tic h1,.cr-typography-serif_editorial .tic h2{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.035em;font-weight:700}.cr-typography-serif_editorial .tic p,.cr-typography-serif_editorial .tic .btn,.cr-typography-serif_editorial nav{font-family:"Segoe UI",Arial,sans-serif}
.cr-typography-condensed_display{font-family:"Arial Narrow","Roboto Condensed",Arial,sans-serif}.cr-typography-condensed_display .tic h1,.cr-typography-condensed_display .tic h2{font-stretch:condensed;letter-spacing:-.035em;font-weight:700}
/* Readability floor for dense component copy. */
.tic [class*="service"] p,.tic [class*="benefit"] p,.tic [class*="process"] p{font-size:clamp(15.5px,.98vw,17px);line-height:1.62}.tic [class*="service"] h3,.tic [class*="benefit"] h3,.tic [class*="process"] h3{font-size:clamp(18px,1.35vw,22px);line-height:1.25}.tic .tic-faq-detail summary{font-size:clamp(15.5px,1vw,17px)}
/* Unique fallback identity marks. Uploaded/AI image logos still take precedence. */
.brand-lockup{gap:12px;min-width:0}.brand-name{line-height:1.05;letter-spacing:-.02em}.brand-name strong{display:block;font-weight:900}.brand-name small{margin-top:4px;letter-spacing:.04em;text-transform:none;font-size:9px}.brand-symbol{width:42px;height:42px;position:relative;display:grid;place-items:center;flex:0 0 42px;color:#fff;background:var(--p);font-style:normal}.brand-symbol i{font-style:normal;font-weight:900;font-size:14px;position:relative;z-index:2}.brand-symbol-ring{border-radius:50%;background:transparent;border:3px solid var(--p);color:var(--p)}.brand-symbol-square{border-radius:5px}.brand-symbol-square b{position:absolute;width:13px;height:13px;right:-4px;bottom:-4px;background:var(--a);border:3px solid #fff}.brand-symbol-diamond{transform:rotate(45deg);border-radius:7px}.brand-symbol-diamond i{transform:rotate(-45deg)}.brand-symbol-lines{background:transparent;gap:4px;align-content:center}.brand-symbol-lines b{display:block;height:4px;background:var(--p)}.brand-symbol-lines b:nth-child(1){width:32px}.brand-symbol-lines b:nth-child(2){width:23px}.brand-symbol-lines b:nth-child(3){width:14px}.brand-symbol-shield{clip-path:polygon(50% 0,92% 16%,86% 70%,50% 100%,14% 70%,8% 16%);border-radius:0}.brand-symbol-mono{border-radius:12px 2px 12px 2px;background:var(--s)}.brand-symbol-dot{border-radius:50% 50% 50% 10%;background:var(--a);color:var(--ink)}
/* Section polish: stronger hierarchy, less generator-like repetition. */
.tic .tic-area,.tic .tic-contact{border-top:1px solid color-mix(in srgb,var(--ink) 9%,transparent)}.tic .tic-area h2,.tic .tic-contact h2{font-size:clamp(30px,3.2vw,48px)}.tic .tic-cta{padding-block:clamp(52px,6vw,76px)!important}.tic .tic-cta h2{font-size:clamp(31px,3.5vw,50px)}.tic .tic-map .map-card{box-shadow:0 18px 50px #0f172a10}.tic .tic-contact .lead{box-shadow:0 18px 50px #0f172a0b;border-radius:16px}.tic .tic-contact input,.tic .tic-contact textarea,.tic .tic-contact select{font-size:16px;min-height:46px}.tic .tic-contact textarea{min-height:120px}
/* Density is now deliberate rather than just large gaps. */
.cr-density-compact .tic>section{padding-block:58px}.cr-density-balanced .tic>section{padding-block:72px}.cr-density-spacious .tic>section{padding-block:86px}.cr-density-spacious .tic p{max-width:68ch}
/* Make process systems less visually identical. */
.pit-template-2 .tic-process-line span,.pit-template-7 .tic-process-line span,.pit-template-9 .tic-process-line span{font-family:Georgia,serif;font-size:22px}.pit-template-3 .tic-process-card{border-top-width:4px;border-radius:12px}.pit-template-4 .tic-process-card{background:transparent;box-shadow:none;border-top:1px solid var(--ink)}.pit-template-6 .tic-process-card{border-radius:18px;background:#fffaf4}.pit-template-8 .tic-process-bold{box-shadow:6px 6px 0 var(--a)}
/* FAQ personality by family. */
.pit-template-1 .tic-faq-detail,.pit-template-5 .tic-faq-detail{border-color:#ffffff2b}.pit-template-3 .tic-faq-detail{background:var(--soft);padding-inline:18px;border-radius:10px;margin:8px 0}.pit-template-6 .tic-faq-detail{background:#fff;border:1px solid #eadfce;padding-inline:18px;border-radius:16px;margin:9px 0}.pit-template-8 .tic-faq-detail{border:2px solid var(--ink);padding-inline:16px;margin:9px 0}
.category-symbol{border-radius:12px;background:var(--p);color:#fff;box-shadow:none;overflow:hidden}.category-symbol svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.category-logo-round .category-symbol{border-radius:50%}.category-logo-outline .category-symbol{background:transparent;color:var(--p);border:2px solid currentColor}.category-logo-shield .category-symbol{border-radius:0;clip-path:polygon(50% 0,92% 15%,86% 72%,50% 100%,14% 72%,8% 15%);padding:7px}.category-logo-tile .category-symbol{border-radius:4px;box-shadow:5px 5px 0 color-mix(in srgb,var(--a) 70%,transparent)}.brand-layout-1 .brand-name{font-weight:800}.brand-layout-2 .brand-symbol{width:46px;height:38px;flex-basis:46px;border-radius:999px}.brand-layout-3 .brand-name{padding-left:10px;border-left:1px solid color-mix(in srgb,currentColor 22%,transparent)}.category-logo-badge .category-symbol{border-radius:8px 8px 14px 8px;background:var(--s)}
/* Phase 4.3.1A: header contrast guard. Header content must stay visible for every palette/hero. */
.cdh{--header-fg:#111827;--header-muted:#64748b;color:var(--header-fg)}.cdh .logo,.cdh nav a,.cdh .brand-name{color:var(--header-fg)!important}.cdh .brand-name small{color:var(--header-muted)!important}.cdh .menu{color:var(--header-fg)}
.cdh-4{background:rgba(15,23,42,.88)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.16);--header-fg:#fff;--header-muted:rgba(255,255,255,.72)}.cdh-4 .logo,.cdh-4 nav a,.cdh-4 .brand-name,.cdh-4 .brand-name small{color:inherit!important}.cdh-4 .category-symbol{background:var(--p);color:#fff;border:1px solid rgba(255,255,255,.25)}
.cdh-2 .cdh-strip{color:#fff}.cdh-2 .cdh-strip *{color:inherit}
@media(max-width:700px){.brand-symbol{width:38px;height:38px;flex-basis:38px}.category-symbol svg{width:24px;height:24px}.brand-name{font-size:14px}.brand-name small{display:none}.tic p{font-size:16px}.cr-density-spacious .tic>section,.cr-density-balanced .tic>section{padding-block:58px}}/* ===== Phase 3.14 Unified Premium Design System ===== */
:root{--premium-shadow:0 18px 55px rgba(15,23,42,.08)}
body{font-size:17px;background:var(--surface,#fff);color:var(--ink)}
.site-header{border-bottom:1px solid color-mix(in srgb,var(--ink) 8%,transparent);box-shadow:none}
.nav{height:76px}.nav nav{font-size:14px;gap:28px}.nav nav a{font-weight:650}
.logo{font-size:16px}.brand-name small,.logo small{font-size:10px}
.btn{border-radius:9px;font-size:14px;min-height:44px;box-shadow:none!important}
.btn-primary{background:var(--p)}.btn-primary:hover{filter:brightness(.92)}
.tic p{font-size:clamp(16px,1vw,18px);line-height:1.7}
.tic h1{font-size:clamp(46px,5.6vw,78px);line-height:1.01;letter-spacing:-.045em}
.tic h2{font-size:clamp(31px,3.4vw,48px);line-height:1.08}
.tic h3{font-size:clamp(18px,1.25vw,21px)}
.tic .eyebrow{font-size:11px;letter-spacing:.14em}
.tic [class*="service"] p,.tic [class*="benefit"] p,.tic [class*="process"] p{font-size:16px!important;line-height:1.65!important}
.tic>section:not(.tic1-hero):not(.tic4-hero):not(.tic10-hero){padding-block:clamp(64px,7vw,84px)}
/* smoother component surfaces */
.tic article{transition:transform .18s ease,box-shadow .18s ease}
.tic [class*="service"] img,.tic [class*="area"] img{filter:saturate(.92) contrast(.98)}
.tic .tic-area,.tic .tic-contact{border-top:0}
.tic .tic-area{background:color-mix(in srgb,var(--soft) 72%,#fff)}
.tic .tic-contact{background:#fff}
.tic .tic-contact .lead{border:1px solid color-mix(in srgb,var(--ink) 8%,transparent);box-shadow:var(--premium-shadow);border-radius:14px}
.tic .tic-contact input,.tic .tic-contact textarea,.tic .tic-contact select{border-radius:7px;border-color:color-mix(in srgb,var(--ink) 12%,transparent)}
.tic .tic-map .map-card{border-radius:14px!important;box-shadow:var(--premium-shadow);border-color:color-mix(in srgb,var(--ink) 8%,transparent)}
.tic .tic-cta{background:var(--s);color:#fff}
.tic .tic-cta .btn-primary{background:#fff;color:var(--s)}
/* Services: clean, deliberate, less generated */
.tic3-service,.tic4-service,.tic8-service,.tic9-service{box-shadow:none!important}
.tic3-service{border-color:color-mix(in srgb,var(--ink) 10%,transparent);border-radius:14px;overflow:hidden}
.tic3-service-grid{gap:22px}
.tic4-service-grid{gap:22px}.tic4-service{border-color:color-mix(in srgb,var(--ink) 10%,transparent);border-radius:12px;overflow:hidden}
.tic8-service{box-shadow:7px 7px 0 color-mix(in srgb,var(--a) 55%,transparent)!important}
.tic10-service{padding-block:26px}
/* Why Us: readable and breathable */
.tic3-benefits,.tic4-benefits,.tic5-benefits,.tic6-benefits,.tic8-benefits,.tic9-benefits,.tic10-benefits{gap:16px}
.tic-benefit-check,.tic-benefit-grid,.tic-benefit-dark,.tic-benefit-bold,.tic-benefit-mag,.tic-benefit-split{min-height:0}
.tic-benefit-check{border-radius:10px;padding:22px}
.tic-benefit-grid{padding:24px;border-color:color-mix(in srgb,var(--ink) 10%,transparent)}
/* Process: stronger hierarchy */
.tic-process-card{padding:25px;background:transparent;border-top:2px solid var(--p);box-shadow:none}
.tic-process-card>span{font-size:12px;letter-spacing:.08em}
.tic-process-line{padding-block:24px!important}
/* FAQ: elegant separators rather than boxes everywhere */
.tic-faq-detail{background:transparent!important;border-radius:0!important;border:0!important;border-bottom:1px solid color-mix(in srgb,var(--ink) 12%,transparent)!important;margin:0!important;padding:18px 2px!important}
.tic-faq-detail summary{font-size:16px!important;font-weight:680}
.tic-faq-row{border-color:color-mix(in srgb,var(--ink) 12%,transparent)}
/* Template personality refinements */
.pit-template-1 .tic1-service{border-color:color-mix(in srgb,var(--ink) 10%,transparent)}
.pit-template-2 .tic2-service{border-color:color-mix(in srgb,var(--ink) 20%,transparent)}
.pit-template-3 .tic3-why{background:var(--s)}
.pit-template-4 .tic4-why{background:color-mix(in srgb,var(--soft) 76%,#fff)}
.pit-template-5 .tic5-why,.pit-template-5 .tic5-services{background:#101216}
.pit-template-6 .tic6-service{border:1px solid color-mix(in srgb,var(--ink) 8%,transparent);box-shadow:0 12px 35px rgba(15,23,42,.05)}
.pit-template-7 .tic7-service,.pit-template-7 .tic-benefit-line{border-color:color-mix(in srgb,var(--ink) 30%,transparent)}
.pit-template-9 .tic9-service{border-color:color-mix(in srgb,var(--ink) 20%,transparent)}
/* ===== Whole-site internal page system ===== */
body.page-about,body.page-contact,body.page-service{background:var(--surface,#fff)}
.inner-hero{padding:72px 0!important;background:linear-gradient(135deg,var(--soft),#fff)!important;border-bottom:1px solid color-mix(in srgb,var(--ink) 7%,transparent)}
.inner-grid{grid-template-columns:.92fr 1.08fr!important;gap:clamp(42px,6vw,78px)!important}
.inner-hero h1{font-size:clamp(42px,5vw,66px)!important;line-height:1.03!important;letter-spacing:-.04em!important;max-width:15ch!important}
.inner-hero .lead-copy{font-size:18px!important;line-height:1.72!important;max-width:60ch}
.inner-photo{border-radius:12px!important;box-shadow:var(--premium-shadow)!important}
.inner-photo img{height:390px!important}
body.page-service .content,body.page-about .content{max-width:1050px!important}
.content-card{border:0!important;border-left:3px solid var(--p)!important;border-radius:0!important;padding:10px 0 10px 30px!important;background:transparent!important;margin:30px 0 42px!important}
.content-card h2{font-size:clamp(28px,3vw,40px);line-height:1.1}
.content-card p,.content>p{font-size:17px!important;line-height:1.8!important;color:color-mix(in srgb,var(--ink) 78%,#fff)!important}
body.page-service .content>.inner-photo{max-width:760px;margin:0 auto 44px}
body.page-service .content>.inner-photo img{height:430px!important}
body.page-contact .contact-grid{align-items:start;gap:60px!important}
body.page-contact .contact-card{margin:0;background:var(--soft);border:0;border-radius:12px;padding:30px}
body.page-contact .map-section{padding-top:0!important}
/* ===== Rebuilt footer ===== */
.premium-footer{background:var(--s)!important;color:color-mix(in srgb,#fff 78%,var(--s))!important;padding:64px 0 22px!important}
.footer-premium-grid{display:grid;grid-template-columns:1.55fr .7fr .9fr 1.1fr;gap:clamp(30px,5vw,70px);align-items:start}
.footer-brand .logo{color:#fff!important;margin-bottom:20px}.footer-brand p{max-width:38ch;font-size:14px;line-height:1.7;color:color-mix(in srgb,#fff 70%,var(--s))}
.footer-col b{display:block;color:#fff;margin-bottom:16px;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.footer-col a,.footer-col span{display:block;margin:9px 0;font-size:14px;line-height:1.45;color:color-mix(in srgb,#fff 74%,var(--s));overflow-wrap:anywhere}
.footer-col a:hover{color:#fff}
.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #ffffff18;margin-top:48px;padding-top:20px;font-size:12px;color:#ffffff88}
.footer-area span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#ffffff88}.footer-area strong{display:block;color:#fff;font-size:clamp(22px,2.4vw,34px);line-height:1.15;margin-top:8px}
.footer-mini-links{display:flex;gap:20px;flex-wrap:wrap;margin-top:26px}.footer-mini-links a{color:#ffffffb8;font-size:14px}
.footer-v3 .footer-premium-grid{grid-template-columns:1fr 1.3fr .8fr}.footer-v3 .footer-brand{max-width:430px}
.footer-v4 .footer-premium-grid{grid-template-columns:1.35fr 1fr .65fr .8fr}
/* typography personalities, cleaner professional scale */
.cr-typography-serif_editorial .tic h1,.cr-typography-serif_editorial .tic h2,.cr-typography-serif_editorial .inner-hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:600;letter-spacing:-.035em}
.cr-typography-grotesk .tic h1,.cr-typography-grotesk .tic h2{font-weight:760}
.cr-typography-geometric .tic h1,.cr-typography-geometric .tic h2{font-weight:700}
.cr-typography-humanist .tic h1,.cr-typography-humanist .tic h2{font-weight:650}
.cr-typography-classic .tic h1,.cr-typography-classic .tic h2{font-weight:680}
.cr-typography-condensed_display .tic h1,.cr-typography-condensed_display .tic h2{font-family:"Arial Narrow","Helvetica Neue",Arial,sans-serif;font-weight:700;letter-spacing:-.03em}
/* palette-specific surfaces */
body{--surface:#fff}
.cr-density-compact .tic>section{padding-block:60px}
.cr-density-balanced .tic>section{padding-block:72px}
.cr-density-spacious .tic>section{padding-block:82px}
@media(max-width:900px){
 .footer-premium-grid,.footer-v3 .footer-premium-grid,.footer-v4 .footer-premium-grid{grid-template-columns:1fr 1fr}
 .inner-grid{grid-template-columns:1fr!important}
 .inner-photo img{height:320px!important}
}

/* ===== Phase 3.14.2 Contrast-Safe Color Engine ===== */
/* Professional type scale. No poster-sized local-service headings. */
.tic h1{font-size:clamp(42px,4vw,60px)!important;line-height:1.04!important;letter-spacing:-.035em!important;max-width:16ch}
.tic h2{font-size:clamp(28px,2.6vw,40px)!important;line-height:1.1!important;letter-spacing:-.022em!important}
.tic h3{font-size:clamp(18px,1.15vw,21px)!important;line-height:1.28!important}
.inner-hero h1{font-size:clamp(38px,3.6vw,54px)!important;line-height:1.06!important;max-width:17ch!important}
.tic p,.inner-hero .lead-copy{max-width:68ch}
.pit-template-2 .tic h1,.pit-template-7 .tic h1,.pit-template-8 .tic h1,.pit-template-9 .tic h1{
 font-size:clamp(40px,3.55vw,56px)!important;max-width:15ch!important
}

/* IMPORTANT: color is assigned to real components, never section position.
   Every light surface explicitly receives dark text. */
.tic section[class$="-services"]{
 background:color-mix(in srgb,var(--p) 5%,#fff)!important;color:var(--ink)!important
}
.tic section[class$="-services"] h2,.tic section[class$="-services"] h3,
.tic section[class$="-services"] p,.tic section[class$="-services"] b,
.tic section[class$="-services"] small{color:var(--ink)!important}
.tic section[class$="-services"] a{color:var(--p)!important}

.tic section[class$="-process"]{
 background:#fff!important;color:var(--ink)!important
}
.tic section[class$="-process"] h2,.tic section[class$="-process"] h3,
.tic section[class$="-process"] p{color:var(--ink)!important}

.tic section[class$="-faq"]{
 background:color-mix(in srgb,var(--a) 6%,#fff)!important;color:var(--ink)!important
}
.tic section[class$="-faq"] h2,.tic section[class$="-faq"] h3,
.tic section[class$="-faq"] p,.tic section[class$="-faq"] summary{color:var(--ink)!important}

.tic .tic-area{
 background:color-mix(in srgb,var(--p) 7%,#fff)!important;color:var(--ink)!important
}
.tic .tic-area h2,.tic .tic-area h3,.tic .tic-area p,.tic .tic-area small{color:var(--ink)!important}

.tic .tic-contact{background:#fff!important;color:var(--ink)!important}
.tic .tic-contact h2,.tic .tic-contact h3,.tic .tic-contact p,
.tic .tic-contact label,.tic .tic-contact small{color:var(--ink)!important}
.tic .tic-contact .lead{background:#fff!important;color:var(--ink)!important}
.tic .tic-contact input,.tic .tic-contact textarea,.tic .tic-contact select{
 background:#fff!important;color:var(--ink)!important
}

.tic .tic-map{background:color-mix(in srgb,var(--s) 3%,#fff)!important;color:var(--ink)!important}

/* CTA is the strong brand-color moment; contrast is fixed. */
.tic .tic-cta{background:var(--p)!important;color:#fff!important}
.tic .tic-cta h2,.tic .tic-cta h3,.tic .tic-cta p,.tic .tic-cta small{color:#fff!important}
.tic .tic-cta .btn-primary{background:#fff!important;color:var(--p)!important}
.tic .tic-cta .btn:not(.btn-primary){border-color:#fff!important;color:#fff!important}

/* Keep template personality in Why Us, but guarantee contrast. */
.pit-template-1 section.tic1-why,.pit-template-3 section.tic3-why,
.pit-template-5 section.tic5-why,.pit-template-10 section.tic10-why{
 background:var(--s)!important;color:#fff!important
}
.pit-template-1 .tic1-why h2,.pit-template-1 .tic1-why h3,.pit-template-1 .tic1-why p,
.pit-template-3 .tic3-why h2,.pit-template-3 .tic3-why h3,.pit-template-3 .tic3-why p,
.pit-template-5 .tic5-why h2,.pit-template-5 .tic5-why h3,.pit-template-5 .tic5-why p,
.pit-template-10 .tic10-why h2,.pit-template-10 .tic10-why h3,.pit-template-10 .tic10-why p{
 color:#fff!important
}
.pit-template-2 section.tic2-why,.pit-template-4 section.tic4-why,
.pit-template-6 section.tic6-why,.pit-template-7 section.tic7-why,
.pit-template-8 section.tic8-why,.pit-template-9 section.tic9-why{
 background:color-mix(in srgb,var(--a) 9%,#fff)!important;color:var(--ink)!important
}
.pit-template-2 .tic2-why h2,.pit-template-2 .tic2-why h3,.pit-template-2 .tic2-why p,
.pit-template-4 .tic4-why h2,.pit-template-4 .tic4-why h3,.pit-template-4 .tic4-why p,
.pit-template-6 .tic6-why h2,.pit-template-6 .tic6-why h3,.pit-template-6 .tic6-why p,
.pit-template-7 .tic7-why h2,.pit-template-7 .tic7-why h3,.pit-template-7 .tic7-why p,
.pit-template-8 .tic8-why h2,.pit-template-8 .tic8-why h3,.pit-template-8 .tic8-why p,
.pit-template-9 .tic9-why h2,.pit-template-9 .tic9-why h3,.pit-template-9 .tic9-why p{
 color:var(--ink)!important
}

/* Brand accents: visible variety without turning the whole page into blocks of color. */
.tic .eyebrow,.tic [class*="label"],.tic [class*="num"]{color:var(--p)!important}
.tic article{border-color:color-mix(in srgb,var(--p) 18%,transparent)!important}
.tic .tic-process-card{border-top-color:var(--a)!important}
.btn-primary{background:var(--p)!important;color:#fff!important}
.premium-footer{background:var(--s)!important;color:#fff!important}
.premium-footer a,.premium-footer b,.premium-footer p,.premium-footer span,.premium-footer strong{color:#fff!important}

/* Template-specific accent treatment, but always contrast-safe. */
.pit-template-1 section[class$="-services"],.pit-template-6 section[class$="-services"]{
 background:color-mix(in srgb,var(--a) 7%,#fff)!important
}
.pit-template-2 section[class$="-faq"],.pit-template-7 section[class$="-faq"]{
 background:color-mix(in srgb,var(--p) 6%,#fff)!important
}
.pit-template-4 .tic-area,.pit-template-9 .tic-area{
 background:color-mix(in srgb,var(--a) 9%,#fff)!important
}

/* Dark editorial template 5 keeps its deliberate dark identity instead of being washed out. */
.pit-template-5 .tic5{background:#0b0d10!important;color:#f5f5f5!important}
.pit-template-5 .tic5-hero,.pit-template-5 .tic5-trust{background:#0b0d10!important;color:#f5f5f5!important}
.pit-template-5 .tic5-hero h1,.pit-template-5 .tic5-hero p,
.pit-template-5 .tic5-trust *{color:#f5f5f5!important}

@media(max-width:620px){
 .nav{height:68px}.tic h1{font-size:40px}.tic h2{font-size:30px}
 .footer-premium-grid,.footer-v3 .footer-premium-grid,.footer-v4 .footer-premium-grid{grid-template-columns:1fr}
 .footer-bottom{display:block;text-align:left}.footer-bottom span{display:block;margin:6px 0}
 .premium-footer{padding-top:48px!important}
 .inner-hero{padding:48px 0!important}.inner-hero h1{font-size:38px!important}.inner-photo img,body.page-service .content>.inner-photo img{height:270px!important}
 .content-card{padding-left:20px!important}
}/* Phase 4.0 Premium Creative Director */
.cd-site{--cd-pad:clamp(70px,8vw,118px);overflow:hidden;background:var(--surface);color:var(--ink)}
.cd-site section{padding:var(--cd-pad) 0}.cd-site .wrap{width:min(1200px,calc(100% - 52px));margin:auto}.cd-site h1,.cd-site h2,.cd-site h3{margin-top:0}.cd-site h1{font-size:clamp(44px,5.5vw,76px)!important;line-height:.98!important;letter-spacing:-.055em!important}.cd-site h2{font-size:clamp(34px,4vw,56px)!important;line-height:1.02!important;letter-spacing:-.04em!important}.cd-site h3{font-size:clamp(19px,1.7vw,25px)!important}.cd-site p{font-size:clamp(16px,1.2vw,18px);line-height:1.72}.cd-kicker{font-size:12px;font-weight:900;letter-spacing:.18em;margin-bottom:18px;color:var(--p)}
.cd-hero{position:relative;min-height:700px}.cd-hero-copy{position:relative;z-index:2}.cd-hero-copy p{font-size:clamp(18px,1.6vw,22px);max-width:650px}.cd-hero-media img,.cd-service-media img,.cd-area-media img{width:100%;height:100%;object-fit:cover;display:block}
.cd-hero-agency>.wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.cd-hero-agency .cd-hero-media{height:570px;clip-path:polygon(8% 0,100% 0,100% 92%,0 100%)}.cd-agency-note{position:absolute;right:4vw;bottom:35px;background:var(--a);padding:18px 25px;font-weight:850}
.cd-hero-editorial>.wrap{display:grid;grid-template-columns:.9fr 1.1fr;align-items:end;position:relative}.cd-hero-editorial .cd-hero-copy{padding:70px 70px 80px 0}.cd-hero-editorial .cd-hero-media{height:650px}.cd-editorial-number{position:absolute;font-family:Georgia,serif;font-size:180px;line-height:1;color:color-mix(in srgb,var(--p) 12%,transparent);left:36%;top:0}
.cd-hero-conversion{background:var(--soft)}.cd-hero-conversion>.wrap{display:grid;grid-template-columns:1fr .85fr;gap:0;align-items:center}.cd-conversion-panel{background:var(--s);color:#fff;padding:60px;margin-right:-45px;z-index:2}.cd-conversion-panel h1,.cd-conversion-panel p{color:#fff!important}.cd-hero-conversion .cd-hero-media{height:600px}.cd-trustline{margin-top:38px;padding-top:22px;border-top:1px solid #ffffff30;font-weight:750}.cd-trustline span{padding:0 9px;color:var(--a)}
.cd-hero-minimal>.wrap{display:grid;grid-template-columns:.75fr 1.25fr;gap:100px;align-items:center}.cd-hero-minimal .cd-hero-media{height:610px}.cd-hero-minimal .cd-hero-copy{border-top:2px solid var(--ink);padding-top:35px}
.cd-hero-warm{background:var(--soft)}.cd-hero-warm>.wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:55px;align-items:center;position:relative}.cd-hero-warm .cd-hero-media{height:560px;border-radius:48% 48% 12px 12px}.cd-warm-shape{position:absolute;width:330px;height:330px;border-radius:50%;background:var(--a);opacity:.14;left:-180px;top:-60px}
.cd-hero-cinematic{min-height:780px;display:flex;align-items:flex-end;color:#fff}.cd-hero-cinematic .cd-hero-media{position:absolute;inset:0}.cd-hero-cinematic .cd-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#050b14ee 0 42%,#050b1466 72%,#050b1418)}.cd-hero-cinematic>.wrap{position:relative;padding-bottom:100px}.cd-hero-cinematic h1,.cd-hero-cinematic p{color:#fff!important}.cd-hero-cinematic .cd-kicker{color:var(--a)}.cd-scroll{position:absolute;right:25px;bottom:90px;writing-mode:vertical-rl;font-size:10px;letter-spacing:.2em}
.cd-section-title{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;margin-bottom:55px}.cd-service-list{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.cd-service{position:relative;background:#fff;border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);overflow:hidden}.cd-service-media{height:245px}.cd-service-copy{padding:28px}.cd-service-copy>span{font-size:12px;font-weight:900;color:var(--p)}.cd-service-copy a{font-weight:850;color:var(--p)}
.cd-services-journal .cd-service-list{grid-template-columns:1.35fr .825fr .825fr}.cd-services-journal .cd-service:first-child{grid-row:span 2}.cd-services-journal .cd-service:first-child .cd-service-media{height:410px}.cd-services-mosaic .cd-service:nth-child(2){transform:translateY(45px)}.cd-services-mosaic{padding-bottom:calc(var(--cd-pad) + 45px)!important}
.cd-services-band{background:var(--s);color:#fff}.cd-services-band h2,.cd-services-band p{color:#fff!important}.cd-services-band .cd-service{border:0}.cd-services-index .cd-service-list{display:block}.cd-services-index .cd-service{display:grid;grid-template-columns:90px 1fr 1.5fr;border-width:1px 0 0}.cd-services-index .cd-service-media{display:none}.cd-services-index .cd-service-copy{grid-column:1/-1;display:grid;grid-template-columns:90px 1fr 1.5fr;gap:25px;align-items:start}.cd-services-index .cd-service-copy a{grid-column:3}
.cd-services-tiles .cd-service{border-radius:26px}.cd-services-tiles .cd-service-media{height:270px}.cd-services-darkgrid{background:#0b1220;color:#fff}.cd-services-darkgrid h2,.cd-services-darkgrid p{color:#fff!important}.cd-services-darkgrid .cd-service{background:#111827;border-color:#ffffff18}.cd-services-darkgrid .cd-service h3,.cd-services-darkgrid .cd-service p{color:#fff!important}
.cd-proof{background:var(--soft)}.cd-proof-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:85px}.cd-benefits{display:grid;grid-template-columns:1fr 1fr}.cd-benefits article{padding:30px;border-top:1px solid color-mix(in srgb,var(--ink) 18%,transparent);display:grid;grid-template-columns:40px 1fr;gap:12px}.cd-benefits article>b{color:var(--p)}.cd-proof-quote .cd-proof-grid>div:first-child h2{font-family:Georgia,serif;font-weight:500}.cd-proof-rail .cd-benefits{border-left:3px solid var(--a)}.cd-proof-metrics .cd-benefits article>b{font-size:30px}.cd-proof-line{background:#fff;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.cd-proof-soft{border-radius:0}.cd-proof-dark{background:#111827;color:#fff}.cd-proof-dark h2,.cd-proof-dark h3,.cd-proof-dark p{color:#fff!important}.cd-proof-dark .cd-benefits article{border-color:#ffffff24}
.cd-process h2{max-width:760px}.cd-process-list{margin-top:55px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.cd-process-list article{padding:30px;border-top:3px solid var(--a)}.cd-process-list strong{font-size:42px;color:var(--p)}.cd-process-roman .cd-process-list strong{font-family:Georgia,serif;font-weight:400}.cd-process-numbered .cd-process-list article{background:var(--soft);border:0}.cd-process-line .cd-process-list{border-top:1px solid var(--ink);gap:0}.cd-process-line .cd-process-list article{border:0;border-right:1px solid var(--ink)}.cd-process-soft .cd-process-list article{background:var(--soft);border:0;border-radius:24px}.cd-process-dark{background:#0b1220;color:#fff}.cd-process-dark h2,.cd-process-dark h3,.cd-process-dark p{color:#fff!important}
.cd-area>.wrap{display:grid;grid-template-columns:1.15fr .85fr;align-items:center}.cd-area-media{height:500px}.cd-area-copy{padding:60px;background:var(--surface);margin-left:-60px;position:relative}.cd-area-gallery{background:var(--soft)}.cd-area-panel .cd-area-copy{background:var(--s);color:#fff}.cd-area-panel .cd-area-copy h2,.cd-area-panel .cd-area-copy p{color:#fff!important}.cd-area-minimal .cd-area-media{height:380px}.cd-area-warm{background:var(--soft)}.cd-area-warm .cd-area-media{border-radius:30px}.cd-area-dark{background:#111827;color:#fff}.cd-area-dark .cd-area-copy{background:#0b1220}.cd-area-dark h2,.cd-area-dark p{color:#fff!important}
.cd-cta{background:var(--p);color:#fff;text-align:center}.cd-cta>.wrap{max-width:900px}.cd-cta h2,.cd-cta p{color:#fff!important}.cd-cta .actions{justify-content:center}.cd-cta .btn-light{background:#fff!important;color:#111827!important;border-color:#fff!important}
.cd-faq>.wrap{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px}.cd-faq-list details{padding:20px 0;border-bottom:1px solid color-mix(in srgb,var(--ink) 18%,transparent)}.cd-faq-list summary{font-weight:850;display:flex;justify-content:space-between;cursor:pointer}.cd-faq-list summary i{font-style:normal;color:var(--p)}.cd-faq-columns .cd-faq-list{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.cd-faq-soft{background:var(--soft)}.cd-faq-dark{background:#0b1220;color:#fff}.cd-faq-dark h2,.cd-faq-dark p,.cd-faq-dark summary{color:#fff!important}.cd-faq-dark .cd-faq-list details{border-color:#ffffff22}
.cd-contact{background:#fff}.cd-contact>.wrap{display:grid;grid-template-columns:.7fr 1.3fr;gap:90px}.cd-contact .lead{box-shadow:0 30px 80px #0f172a12;border-radius:0;border-top:4px solid var(--a)}.cd-map{padding:0!important}.cd-map .map-card{border-radius:0!important;border-left:0;border-right:0}
.cd-luxury_editorial{font-family:"Helvetica Neue",Arial,sans-serif}.cd-luxury_editorial h1,.cd-luxury_editorial h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.045em!important}.cd-luxury_editorial .cd-kicker{color:var(--a)}
.cd-architectural_minimal h1,.cd-architectural_minimal h2{text-transform:none;font-weight:600}.cd-bold_conversion h1,.cd-bold_conversion h2{font-weight:900}.cd-warm_residential h1,.cd-warm_residential h2{letter-spacing:-.035em!important}.cd-dark_premium{background:#0b1220}
@media(max-width:900px){.cd-site .wrap{width:min(100% - 30px,1200px)}.cd-hero{min-height:0}.cd-hero-agency>.wrap,.cd-hero-editorial>.wrap,.cd-hero-conversion>.wrap,.cd-hero-minimal>.wrap,.cd-hero-warm>.wrap,.cd-section-title,.cd-proof-grid,.cd-area>.wrap,.cd-faq>.wrap,.cd-contact>.wrap{grid-template-columns:1fr}.cd-hero-media,.cd-hero-agency .cd-hero-media,.cd-hero-editorial .cd-hero-media,.cd-hero-conversion .cd-hero-media,.cd-hero-minimal .cd-hero-media,.cd-hero-warm .cd-hero-media{height:390px}.cd-conversion-panel{margin:0;padding:35px}.cd-editorial-number{display:none}.cd-service-list,.cd-services-journal .cd-service-list,.cd-benefits,.cd-process-list,.cd-faq-columns .cd-faq-list{grid-template-columns:1fr}.cd-services-mosaic .cd-service:nth-child(2){transform:none}.cd-services-index .cd-service-copy{grid-template-columns:55px 1fr}.cd-services-index .cd-service-copy p,.cd-services-index .cd-service-copy a{grid-column:2}.cd-area-copy{margin:0;padding:35px 0}.cd-hero-cinematic{min-height:650px}.cd-scroll{display:none}}\n/* Phase 4.0.1 true separation */
.cd-header{position:relative;z-index:50;background:#fff}.cd-header .wrap{width:min(1200px,calc(100% - 52px));margin:auto}.cd-header nav{display:flex;gap:24px;align-items:center}.cd-header .menu{display:none}.cd-head-editorial{border-bottom:1px solid #d9d0c4}.cd-head-editorial .cd-head-top{display:flex;justify-content:space-between;align-items:center;padding:24px 0 18px}.cd-head-editorial .cd-head-bottom{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-top:1px solid #eee6dc}.cd-head-editorial .cd-head-city{font-family:Georgia,serif;font-style:italic}.cd-head-agency{padding:16px 0}.cd-head-agency>.wrap,.cd-head-warm>.wrap,.cd-head-dark>.wrap{display:flex;align-items:center;justify-content:space-between;gap:28px}.cd-nav-pill{background:#f1f5f9;border-radius:999px;padding:11px 20px}.cd-head-conversion{background:var(--s);color:#fff;padding:13px 0}.cd-head-conversion>.wrap{display:flex;align-items:center;justify-content:space-between}.cd-head-conversion .logo,.cd-head-conversion nav a{color:#fff!important}.cd-head-right{display:flex;align-items:center;gap:24px}.cd-phone-label{display:grid}.cd-phone-label small{font-size:9px;letter-spacing:.15em;color:var(--a)}.cd-head-minimal{padding:25px 0}.cd-head-minimal>.wrap{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:30px}.cd-minimal-rule{height:1px;background:#cfd4d0}.cd-head-minimal nav{font-size:13px;letter-spacing:.08em;text-transform:uppercase}.cd-head-warm{padding:17px 0;background:#fffaf4}.cd-warm-nav{padding:9px 18px;border:1px solid #eadfd3;border-radius:16px}.cd-head-dark{padding:18px 0;background:#070d17;color:#fff}.cd-head-dark .logo,.cd-head-dark nav a{color:#fff!important}.cd-head-dark .btn{border-radius:0}
.cd-footer{padding:70px 0 25px}.cd-footer .wrap{width:min(1200px,calc(100% - 52px));margin:auto}.cd-footer a{display:block;margin:7px 0}.cd-foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:45px}.cd-foot-base{margin-top:50px;padding-top:18px;border-top:1px solid #ffffff20;display:flex;justify-content:space-between;font-size:12px}.cd-foot-editorial{background:#efe8dd;color:#201c18}.cd-foot-editorial .cd-foot-title{font:500 clamp(44px,7vw,92px)/1 Georgia,serif;border-bottom:1px solid #cfc3b5;padding-bottom:30px;margin-bottom:40px}.cd-foot-editorial .cd-foot-base{border-color:#cfc3b5}.cd-foot-agency{background:#102a43;color:#fff}.cd-foot-cta{display:flex;justify-content:space-between;align-items:end;padding-bottom:45px;margin-bottom:40px;border-bottom:1px solid #ffffff25}.cd-foot-cta h2{font-size:clamp(34px,4vw,58px);max-width:650px}.cd-foot-cta a{background:var(--a);color:#111;padding:15px 22px;font-weight:900}.cd-foot-conversion{background:var(--p);color:#fff}.cd-foot-call{text-align:center;padding-bottom:50px}.cd-foot-call h2{font-size:clamp(48px,8vw,105px);margin:10px 0}.cd-foot-minimal{background:#fff;color:#171b18}.cd-foot-line{height:2px;background:#171b18;margin-bottom:40px}.cd-foot-minimal .cd-foot-grid{grid-template-columns:2fr 1fr 1fr 1fr}.cd-foot-minimal .cd-foot-base{border-color:#d8ddd9}.cd-foot-warm{background:#3f5d50;color:#fff}.cd-foot-warm .cd-foot-grid{grid-template-columns:2fr 1fr 1fr}.cd-foot-warm .logo{color:#fff!important}.cd-foot-dark{background:#050a12;color:#fff}.cd-foot-signal{font-size:11px;letter-spacing:.16em}.cd-foot-signal span{display:inline-block;width:8px;height:8px;background:#4ade80;border-radius:50%;margin-right:8px}.cd-foot-dark .cd-foot-title{font-size:clamp(48px,7vw,100px);font-weight:800;letter-spacing:-.06em;padding:35px 0 55px}.cd-foot-dark .cd-foot-grid{grid-template-columns:repeat(4,1fr);border-top:1px solid #ffffff20;padding-top:30px}
.cd-luxury_editorial .cd-services{padding-top:145px}.cd-luxury_editorial .cd-proof{padding:150px 0}.cd-luxury_editorial .cd-process{padding:135px 0}.cd-luxury_editorial .cd-service{border:0;border-bottom:1px solid #cfc5b9}.cd-modern_agency .cd-services{background:#f4f8fb}.cd-modern_agency .cd-service{border-radius:22px;box-shadow:0 18px 45px #102a4310}.cd-modern_agency .cd-proof{background:#fff}.cd-bold_conversion .cd-section-title h2,.cd-bold_conversion .cd-process h2{text-transform:uppercase}.cd-bold_conversion .cd-proof{background:#fff5ed}.cd-bold_conversion .cd-cta{padding:95px 0;background:var(--s)}.cd-architectural_minimal .cd-services,.cd-architectural_minimal .cd-process,.cd-architectural_minimal .cd-faq{padding:150px 0}.cd-architectural_minimal .cd-section-title{border-bottom:1px solid #161a17;padding-bottom:35px}.cd-warm_residential .cd-services{background:#fffdf9}.cd-warm_residential .cd-service{box-shadow:0 15px 35px #6b4a3310;border:0}.cd-warm_residential .cd-proof{background:#fff5e9}.cd-warm_residential .cd-cta{border-radius:40px;margin:35px auto;width:min(1180px,calc(100% - 30px))}.cd-dark_premium .cd-services,.cd-dark_premium .cd-proof,.cd-dark_premium .cd-process,.cd-dark_premium .cd-area,.cd-dark_premium .cd-faq,.cd-dark_premium .cd-contact{background:#0b1220;color:#fff}.cd-dark_premium .cd-services h2,.cd-dark_premium .cd-services h3,.cd-dark_premium .cd-services p,.cd-dark_premium .cd-contact h2,.cd-dark_premium .cd-contact p{color:#fff!important}.cd-dark_premium .cd-contact .lead{background:#111827;border-color:#ffffff18}.cd-dark_premium .cd-contact .lead input,.cd-dark_premium .cd-contact .lead textarea,.cd-dark_premium .cd-contact .lead select{background:#0b1220;color:#fff;border-color:#ffffff24}
@media(max-width:900px){.cd-header .wrap{width:min(100% - 28px,1200px)}.cd-header nav{display:none}.cd-header .menu{display:block}.cd-head-editorial .cd-head-bottom{justify-content:flex-end}.cd-head-minimal>.wrap{grid-template-columns:1fr auto}.cd-head-minimal .cd-minimal-rule{display:none}.cd-head-right .cd-phone-label,.cd-head-right nav,.cd-warm-nav,.cd-dark-nav,.cd-head-actions{display:none}.cd-footer .wrap{width:min(100% - 30px,1200px)}.cd-foot-grid,.cd-foot-minimal .cd-foot-grid,.cd-foot-warm .cd-foot-grid,.cd-foot-dark .cd-foot-grid{grid-template-columns:1fr 1fr}.cd-foot-cta{align-items:start;flex-direction:column}.cd-foot-base{gap:20px;flex-direction:column}}

/* Phase 4.1 Step 1 — Header + Hero Revolution */
.cdh{position:relative;z-index:80;background:#fff;color:#111827;border-bottom:1px solid #e8e8e8}.cdh .wrap{width:min(1240px,calc(100% - 44px));margin:auto}.cdh nav{display:flex;gap:25px;align-items:center}.cdh nav a{font-size:13px;font-weight:750}.cdh .menu{display:none}.cdh-1>.wrap{height:78px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:38px}.cdh-1 .cdh-nav{justify-self:center}
.cdh-2 .cdh-strip{background:var(--s);color:#fff;font-size:10px;letter-spacing:.12em}.cdh-2 .cdh-strip .wrap{height:29px;display:flex;justify-content:space-between;align-items:center}.cdh-2 .cdh-main{height:74px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:35px}.cdh-2 .cdh-nav{justify-self:center}
.cdh-3{padding:18px 0}.cdh-3>.wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.cdh-3 .cdh-center{justify-self:center}.cdh-3 .cdh-action{justify-self:end}
.cdh-4{background:rgba(15,23,42,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:0;border-bottom:1px solid #ffffff24;position:absolute;width:100%;color:#fff}.cdh-4>.wrap{height:90px;display:flex;align-items:center;justify-content:space-between}.cdh-4 .logo,.cdh-4 nav a,.cdh-4 .brand-name,.cdh-4 .brand-name small{color:#fff!important}.cdh-4 .brand-name small{opacity:.76}.cdh-4 .cdh-desktop{display:flex;gap:30px;align-items:center}.cdh-menu-label{background:none;border:0;color:inherit;font-weight:850;letter-spacing:.1em}
.cdh-5>.wrap{min-height:88px;display:grid;grid-template-columns:auto auto 1fr auto;gap:34px;align-items:center}.cdh-5 .cdh-meta{border-left:1px solid #ddd;padding-left:24px;display:grid}.cdh-5 .cdh-meta small{font-size:9px;letter-spacing:.15em}.cdh-5 .cdh-nav{justify-self:end}
.cdh-6{padding:18px 0 0}.cdh-6 .cdh-row{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px}.cdh-6 .cdh-rule-row{border-top:1px solid #ddd;min-height:43px;display:flex;justify-content:space-between;align-items:center}.cdh-6 .cdh-rule-row span{font-size:9px;letter-spacing:.17em;color:#6b7280}

.cdv{position:relative;overflow:hidden}.cdv .wrap{width:min(1240px,calc(100% - 44px));margin:auto}.cdv h1{font-size:clamp(48px,6.4vw,88px)!important;line-height:.94!important;letter-spacing:-.055em!important;margin:0 0 25px}.cdv p{font-size:clamp(17px,1.45vw,21px);line-height:1.6}.cdv-ey{font-size:10px;font-weight:900;letter-spacing:.19em;color:var(--p);margin-bottom:20px}.cdv-img{width:100%;height:100%;object-fit:cover;display:block}.cdv-copy{position:relative;z-index:3}
.cdv-1{padding:75px 0 90px;background:var(--soft)}.cdv-1>.wrap{display:grid;grid-template-columns:.82fr 1.18fr;gap:72px;align-items:center;position:relative}.cdv-1 .cdv-media{height:610px}.cdv-1 .cdv-proof{position:absolute;right:0;bottom:-35px;background:var(--s);color:#fff;padding:18px 25px;display:grid;grid-template-columns:auto auto;gap:3px 18px;font-size:11px}.cdv-1 .cdv-proof b{color:var(--a)}
.cdv-2{min-height:790px;color:#fff;display:flex;align-items:flex-end}.cdv-2 .cdv-bg,.cdv-2 .cdv-shade{position:absolute;inset:0}.cdv-2 .cdv-bg img{width:100%;height:100%;object-fit:cover}.cdv-2 .cdv-shade{background:linear-gradient(90deg,#050b14ef 0 40%,#050b1470 68%,#050b1415)}.cdv-2>.wrap{position:relative;padding-bottom:80px}.cdv-2 .cdv-copy{max-width:720px}.cdv-2 h1,.cdv-2 p{color:#fff!important}.cdv-2 .cdv-ey{color:var(--a)}.cdv-2 .cdv-bottom{margin-top:70px;display:flex;gap:25px;align-items:center;border-top:1px solid #ffffff50;padding-top:20px;max-width:620px}.cdv-2 .cdv-bottom span{font-size:34px;color:var(--a)}.cdv-2 .cdv-bottom p{font-size:13px;margin:0}
.cdv-3{padding:85px 0 110px}.cdv-3 .cdv-top{display:grid;grid-template-columns:.35fr 1.65fr;align-items:start}.cdv-3 .cdv-top h1{max-width:1000px}.cdv-3 .cdv-stage{margin-top:35px;position:relative;width:86%;margin-left:auto}.cdv-3 .cdv-media{height:580px}.cdv-3 .cdv-float{position:absolute;left:-16%;bottom:45px;width:390px;background:#fff;padding:35px;box-shadow:0 25px 70px #11182725}.cdv-3 .cdv-float p{font-size:16px}
.cdv-4{padding:70px 0 110px;background:#f6f1e9}.cdv-4>.wrap{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.cdv-4 .cdv-number{position:absolute;top:-55px;left:34%;font:400 190px/1 Georgia,serif;color:color-mix(in srgb,var(--p) 10%,transparent)}.cdv-4 .cdv-collage{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;align-items:end}.cdv-4 .cdv-collage>div:first-child{height:570px}.cdv-4 .cdv-collage>div:last-child{height:350px;margin-bottom:-45px}
.cdv-5{padding:65px 0 75px}.cdv-5 .cdv-line{height:1px;background:#111;margin-bottom:55px}.cdv-5 .cdv-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px;align-items:end}.cdv-5 .cdv-media{height:560px}.cdv-5 .cdv-copy{padding-bottom:40px}.cdv-5 .cdv-caption{border-top:1px solid #111;margin-top:28px;padding-top:14px;display:flex;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.cdv-6{background:var(--s);color:#fff;padding:0}.cdv-6 .cdv-side{position:absolute;left:20px;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;font-size:9px;letter-spacing:.2em;color:var(--a)}.cdv-6>.wrap{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;min-height:720px}.cdv-6 .cdv-media{height:620px}.cdv-6 .cdv-panel{padding:55px;margin-left:-65px;background:#fff;color:#111827;z-index:3}.cdv-6 .cdv-panel h1,.cdv-6 .cdv-panel p{color:#111827!important}
.cdv-7{padding:70px 0 0}.cdv-7 .cdv-intro{display:flex;justify-content:space-between;gap:50px;align-items:start}.cdv-7 .cdv-intro span{font-size:10px;letter-spacing:.18em;color:var(--p);font-weight:900}.cdv-7 .cdv-intro p{max-width:480px;margin:0;font-size:15px}.cdv-7 h1{max-width:1050px;margin:40px 0}.cdv-7 .cdv-wide{height:520px}.cdv-7 .cdv-actionbar{display:flex;justify-content:space-between;align-items:center;padding:22px 0 35px}.cdv-7 .cdv-actionbar .actions{margin:0}
.cdv-8{padding:75px 0 100px;background:#f4f6f8}.cdv-8>.wrap{position:relative;min-height:620px}.cdv-8 .cdv-card{position:absolute;left:0;top:55px;width:48%;background:var(--s);color:#fff;padding:52px;z-index:3}.cdv-8 .cdv-card h1,.cdv-8 .cdv-card p{color:#fff!important}.cdv-8 .cdv-card .cdv-ey{color:var(--a)}.cdv-8 .cdv-photo{position:absolute;right:0;top:0;width:61%;height:570px}.cdv-8 .cdv-accent{position:absolute;right:54%;bottom:10px;width:120px;height:120px;background:var(--a);z-index:4}.cdv-8 .cdv-note{position:absolute;right:0;bottom:10px;background:#fff;padding:18px 25px;font-size:10px;letter-spacing:.12em;z-index:4}

@media(max-width:900px){
 .cdh .wrap{width:min(100% - 28px,1240px)}.cdh nav,.cdh .cdh-nav,.cdh .cdh-desktop,.cdh .cdh-meta,.cdh .cdh-rule-row{display:none!important}.cdh .menu{display:block}.cdh-1>.wrap,.cdh-2 .cdh-main,.cdh-3>.wrap,.cdh-5>.wrap{height:72px;min-height:72px;display:flex;justify-content:space-between}.cdh-3 .cdh-action,.cdh-5 .cdh-action{margin-left:auto}.cdh-4{position:relative;background:var(--s)}.cdh-6{padding:0}.cdh-6 .cdh-row{height:72px;padding:0}
 .cdv .wrap{width:min(100% - 30px,1240px)}.cdv h1{font-size:clamp(43px,12vw,64px)!important}.cdv-1>.wrap,.cdv-4>.wrap,.cdv-5 .cdv-grid,.cdv-6>.wrap{grid-template-columns:1fr}.cdv-1,.cdv-3,.cdv-4,.cdv-5,.cdv-8{padding:55px 0}.cdv-1 .cdv-media,.cdv-4 .cdv-collage>div:first-child,.cdv-5 .cdv-media,.cdv-6 .cdv-media,.cdv-7 .cdv-wide{height:390px}.cdv-1 .cdv-proof{position:static;margin-top:-72px;margin-left:30px;width:max-content}.cdv-2{min-height:650px}.cdv-3 .cdv-top{display:block}.cdv-3 .cdv-stage{width:100%;margin-top:30px}.cdv-3 .cdv-media{height:420px}.cdv-3 .cdv-float{position:relative;left:auto;bottom:auto;width:calc(100% - 30px);margin:-55px auto 0}.cdv-4 .cdv-number{display:none}.cdv-4 .cdv-collage>div:last-child{display:none}.cdv-5 .cdv-caption{gap:15px;flex-wrap:wrap}.cdv-6 .cdv-panel{margin:-70px 18px 0;padding:35px}.cdv-6 .cdv-side{display:none}.cdv-7 .cdv-intro{display:block}.cdv-7 .cdv-intro p{margin-top:15px}.cdv-7 .cdv-actionbar{align-items:flex-start;flex-direction:column;gap:15px}.cdv-8>.wrap{min-height:0}.cdv-8 .cdv-card,.cdv-8 .cdv-photo{position:relative;left:auto;right:auto;top:auto;width:100%}.cdv-8 .cdv-card{padding:35px}.cdv-8 .cdv-photo{height:390px}.cdv-8 .cdv-accent,.cdv-8 .cdv-note{display:none}
}

/* Phase 4.1.1 — refined hero scale + organized first content section */
.cdv h1{font-size:clamp(38px,4.35vw,64px)!important;line-height:1.01!important;letter-spacing:-.042em!important;max-width:780px}
.cdv p{font-size:clamp(16px,1.2vw,19px);line-height:1.65;max-width:620px}
.cdv-1{padding:62px 0 72px}.cdv-1>.wrap{gap:58px}.cdv-1 .cdv-media{height:520px}
.cdv-2{min-height:660px}.cdv-2 .cdv-copy{max-width:670px}.cdv-2>.wrap{padding-bottom:65px}
.cdv-3{padding:65px 0 85px}.cdv-3 .cdv-stage{margin-top:28px}.cdv-3 .cdv-media{height:500px}.cdv-3 .cdv-float{width:370px;padding:30px}
.cdv-4{padding:62px 0 85px}.cdv-4>.wrap{gap:55px}.cdv-4 .cdv-collage>div:first-child{height:500px}.cdv-4 .cdv-collage>div:last-child{height:310px}
.cdv-5{padding:58px 0 65px}.cdv-5 .cdv-grid{gap:65px}.cdv-5 .cdv-media{height:500px}
.cdv-6>.wrap{min-height:620px}.cdv-6 .cdv-media{height:530px}.cdv-6 .cdv-panel{padding:44px}
.cdv-7{padding-top:58px}.cdv-7 h1{margin:30px 0;max-width:900px}.cdv-7 .cdv-wide{height:455px}
.cdv-8{padding:62px 0 78px}.cdv-8>.wrap{min-height:540px}.cdv-8 .cdv-card{top:42px;padding:42px;width:47%}.cdv-8 .cdv-photo{height:500px}

.cd-intro-section{padding:90px 0!important;background:#fff;color:#111827;border-bottom:1px solid #e8eaed}
.cd-intro-section>.wrap{width:min(1180px,calc(100% - 52px));margin:auto;display:grid;grid-template-columns:.9fr .72fr 1fr;gap:54px;align-items:start}
.cd-intro-copy h2{font-size:clamp(30px,3.15vw,46px)!important;line-height:1.06!important;letter-spacing:-.035em!important;margin:0 0 22px;max-width:520px}
.cd-intro-lead{font-size:16px!important;line-height:1.72!important;color:#52606d;max-width:540px!important}
.cd-intro-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.cd-intro-media{height:330px;overflow:hidden;background:#eef1f3}.cd-intro-media img{width:100%;height:100%;object-fit:cover;display:block}
.cd-intro-points{border-top:1px solid #d9dee3}
.cd-intro-point{display:grid;grid-template-columns:36px 1fr;gap:12px;padding:19px 0;border-bottom:1px solid #d9dee3}
.cd-intro-point>span{font-size:11px;font-weight:900;color:var(--p);padding-top:3px}.cd-intro-point b{display:block;font-size:15px;line-height:1.25;margin-bottom:6px}.cd-intro-point p{font-size:13px!important;line-height:1.55!important;color:#64748b;margin:0!important}
.cd-intro-section+.cd-services,.cd-intro-section+.cd-proof{padding-top:100px!important}

/* keep the first two screens visually disciplined even for serif directions */
.cd-luxury_editorial .cdv h1,.cd-luxury_editorial .cd-intro-copy h2{letter-spacing:-.035em!important}
.cd-dark_premium .cd-intro-section{background:#0b1220;color:#fff;border-color:#ffffff18}.cd-dark_premium .cd-intro-copy h2,.cd-dark_premium .cd-intro-point b{color:#fff!important}.cd-dark_premium .cd-intro-lead,.cd-dark_premium .cd-intro-point p{color:#cbd5e1!important}.cd-dark_premium .cd-intro-points,.cd-dark_premium .cd-intro-point{border-color:#ffffff20}

@media(max-width:900px){
 .cdv h1{font-size:clamp(36px,10.5vw,54px)!important}
 .cdv-1 .cdv-media,.cdv-3 .cdv-media,.cdv-4 .cdv-collage>div:first-child,.cdv-5 .cdv-media,.cdv-6 .cdv-media,.cdv-7 .cdv-wide{height:350px}
 .cdv-2{min-height:590px}.cdv-8>.wrap{min-height:0}.cdv-8 .cdv-photo{height:350px}
 .cd-intro-section{padding:65px 0!important}.cd-intro-section>.wrap{width:min(100% - 30px,1180px);grid-template-columns:1fr;gap:32px}.cd-intro-media{height:300px}.cd-intro-points{margin-top:5px}
}

/* Phase 4.2 — Cleaner Services + Why Us */
.cd-site{--clean-border:#e5e9ec;--clean-muted:#66727d}
.cd-clean-services{padding:92px 0!important;background:#fff;color:#111827}
.cd-clean-services>.wrap,.cd-clean-why>.wrap{width:min(1160px,calc(100% - 52px));margin:auto}
.cd-clean-heading{display:grid;grid-template-columns:1fr .82fr;gap:82px;align-items:end;margin-bottom:44px}
.cd-clean-heading h2{font-size:clamp(31px,3.2vw,46px)!important;line-height:1.06!important;letter-spacing:-.034em!important;max-width:570px;margin:0}
.cd-clean-heading>p{font-size:15px!important;line-height:1.68!important;color:var(--clean-muted);max-width:500px;margin:0}
.cd-clean-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cd-clean-service{background:#fff;border:1px solid var(--clean-border);overflow:hidden;min-width:0}
.cd-clean-service-media{height:220px;overflow:hidden;background:#eef1f3}.cd-clean-service-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.cd-clean-service:hover .cd-clean-service-media img{transform:scale(1.02)}
.cd-clean-service-copy{padding:23px 22px 25px}.cd-clean-service-copy>span{display:block;font-size:10px;font-weight:900;letter-spacing:.12em;color:var(--p);margin-bottom:12px}
.cd-clean-service-copy h3{font-size:20px!important;line-height:1.15!important;letter-spacing:-.018em!important;margin:0 0 10px}
.cd-clean-service-copy p{font-size:14px!important;line-height:1.58!important;color:var(--clean-muted);margin:0 0 18px;min-height:66px}
.cd-clean-service-copy a{font-size:12px;font-weight:900;color:var(--p);text-decoration:none}
.cd-clean-services-journal .cd-clean-service-grid{grid-template-columns:1.3fr .85fr .85fr}.cd-clean-services-journal .cd-clean-service:first-child .cd-clean-service-media{height:290px}
.cd-clean-services-mosaic .cd-clean-service:nth-child(2){margin-top:28px}.cd-clean-services-mosaic .cd-clean-service:nth-child(3){margin-top:56px}
.cd-clean-services-band{background:#f5f7f8}.cd-clean-services-band .cd-clean-service{border:0;box-shadow:0 12px 30px #0f172a0a}
.cd-clean-services-index .cd-clean-service-grid{display:block;border-top:1px solid var(--clean-border)}.cd-clean-services-index .cd-clean-service{display:grid;grid-template-columns:210px 1fr;border-width:0 0 1px;align-items:center}.cd-clean-services-index .cd-clean-service-media{height:145px}.cd-clean-services-index .cd-clean-service-copy p{min-height:0}
.cd-clean-services-tiles .cd-clean-service{border-radius:16px}.cd-clean-services-darkgrid{background:#0b1220;color:#fff}.cd-clean-services-darkgrid .cd-clean-heading h2{color:#fff!important}.cd-clean-services-darkgrid .cd-clean-heading>p{color:#cbd5e1}.cd-clean-services-darkgrid .cd-clean-service{background:#111827;border-color:#ffffff18}.cd-clean-services-darkgrid .cd-clean-service h3{color:#fff!important}.cd-clean-services-darkgrid .cd-clean-service p{color:#cbd5e1!important}

.cd-clean-why{padding:96px 0!important;background:#f7f5f1;color:#111827}
.cd-clean-why>.wrap{display:grid;grid-template-columns:.78fr 1.22fr;gap:88px;align-items:start}
.cd-clean-why-title h2{font-size:clamp(31px,3.2vw,46px)!important;line-height:1.05!important;letter-spacing:-.034em!important;margin:0 0 18px;max-width:470px}
.cd-clean-why-title>p{font-size:15px!important;line-height:1.68!important;color:var(--clean-muted);max-width:450px}
.cd-clean-proof-list{border-top:1px solid #d9d7d1}.cd-clean-proof-list article{display:grid;grid-template-columns:42px 1fr;gap:17px;padding:23px 0;border-bottom:1px solid #d9d7d1}
.cd-clean-proof-list article>span{font-size:10px;font-weight:900;color:var(--p);padding-top:4px}.cd-clean-proof-list h3{font-size:19px!important;line-height:1.17!important;margin:0 0 7px}.cd-clean-proof-list p{font-size:14px!important;line-height:1.56!important;color:var(--clean-muted);margin:0;max-width:570px}
.cd-clean-why-quote{background:#f6f0e8}.cd-clean-why-rail{background:#f4f7f8}.cd-clean-why-line{background:#fff;border-top:1px solid var(--clean-border);border-bottom:1px solid var(--clean-border)}.cd-clean-why-soft{background:#fff7ed}
.cd-clean-why-dark{background:#111827;color:#fff}.cd-clean-why-dark .cd-clean-why-title h2,.cd-clean-why-dark .cd-clean-proof-list h3{color:#fff!important}.cd-clean-why-dark .cd-clean-why-title>p,.cd-clean-why-dark .cd-clean-proof-list p{color:#cbd5e1!important}.cd-clean-why-dark .cd-clean-proof-list,.cd-clean-why-dark .cd-clean-proof-list article{border-color:#ffffff20}
@media(max-width:900px){.cd-clean-services{padding:68px 0!important}.cd-clean-services>.wrap,.cd-clean-why>.wrap{width:min(100% - 30px,1160px)}.cd-clean-heading,.cd-clean-why>.wrap{grid-template-columns:1fr;gap:30px}.cd-clean-heading{margin-bottom:32px}.cd-clean-service-grid,.cd-clean-services-journal .cd-clean-service-grid{grid-template-columns:1fr}.cd-clean-services-mosaic .cd-clean-service:nth-child(2),.cd-clean-services-mosaic .cd-clean-service:nth-child(3){margin-top:0}.cd-clean-services-index .cd-clean-service{grid-template-columns:115px 1fr}.cd-clean-services-index .cd-clean-service-media{height:125px}.cd-clean-why{padding:68px 0!important}.cd-clean-service-copy p{min-height:0}}

/* Phase 4.3 — Reference-Inspired Clean Local Service System
   IMPORTANT: --p = user's Primary Color, --s = user's Secondary Color.
   The design derives supporting tints from them; it does not replace them. */
.cd-site{
 --ref-primary:var(--p);
 --ref-secondary:var(--s);
 --ref-soft:color-mix(in srgb,var(--p) 6%,#f8fafc);
 --ref-soft2:color-mix(in srgb,var(--p) 10%,#f1f5f9);
 --ref-line:color-mix(in srgb,var(--p) 14%,#e5e7eb);
 --ref-dark:color-mix(in srgb,var(--s) 78%,#07111f);
 --ref-muted:#667085;
 --ref-radius:14px;
}
.cd-site body,.cd-site{font-feature-settings:"kern" 1}

/* HEADER — keep architecture, refine into compact clean product header */
.cdh{box-shadow:0 1px 0 #0f172a0a}
.cdh .btn,.cdh-action .btn{border-radius:8px!important}
.cdh nav a{font-size:12px!important;letter-spacing:-.01em}

/* HERO — same variant engine, new visual language */
.cdv{background:var(--ref-soft)!important}
.cdv .wrap{width:min(1160px,calc(100% - 52px))}
.cdv h1{font-family:inherit!important;font-size:clamp(38px,4vw,58px)!important;line-height:1.01!important;letter-spacing:-.045em!important;font-weight:800!important}
.cdv p{font-size:15px!important;line-height:1.65!important;color:var(--ref-muted)}
.cdv-ey{color:var(--ref-primary)!important;font-size:9px!important;letter-spacing:.16em!important}
.cdv .actions .btn{border-radius:8px!important;padding:12px 17px!important}
.cdv img{filter:none!important}
.cdv-1{padding:68px 0 76px!important}.cdv-1>.wrap{grid-template-columns:.9fr 1.1fr!important;gap:64px!important}.cdv-1 .cdv-media{height:440px!important;border-radius:18px;overflow:hidden;box-shadow:0 18px 45px #0f172a14}.cdv-1 .cdv-proof{border-radius:10px!important;right:18px!important;bottom:-22px!important}
.cdv-2{min-height:600px!important}.cdv-2 .cdv-shade{background:linear-gradient(90deg,color-mix(in srgb,var(--ref-dark) 96%,transparent) 0 38%,color-mix(in srgb,var(--ref-dark) 58%,transparent) 70%,transparent)!important}.cdv-2 p{color:#eef2f6!important}
.cdv-3{padding:70px 0 82px!important}.cdv-3 .cdv-media{height:455px!important;border-radius:18px;overflow:hidden}.cdv-3 .cdv-float{border-radius:14px!important;box-shadow:0 20px 55px #0f172a18!important}
.cdv-4{background:var(--ref-soft)!important}.cdv-4 .cdv-collage>div{border-radius:14px;overflow:hidden}
.cdv-5 .cdv-media{height:455px!important;border-radius:16px;overflow:hidden}.cdv-5 .cdv-line,.cdv-5 .cdv-caption{border-color:var(--ref-line)!important}
.cdv-6{background:var(--ref-dark)!important}.cdv-6 .cdv-media{border-radius:16px;overflow:hidden}.cdv-6 .cdv-panel{border-radius:14px!important;box-shadow:0 20px 60px #0002}
.cdv-7 .cdv-wide{height:430px!important;border-radius:18px;overflow:hidden}
.cdv-8{background:var(--ref-soft)!important}.cdv-8 .cdv-card{background:var(--ref-dark)!important;border-radius:14px!important}.cdv-8 .cdv-photo{height:460px!important;border-radius:18px;overflow:hidden}.cdv-8 .cdv-accent{background:var(--ref-primary)!important;border-radius:12px}

/* INTRO / TRUST — turn it into the clean structured block seen in the reference */
.cd-intro-section{padding:76px 0!important;background:#fff!important}
.cd-intro-section>.wrap{width:min(1160px,calc(100% - 52px));grid-template-columns:.9fr .72fr 1fr!important;gap:48px!important}
.cd-intro-copy h2{font-family:inherit!important;font-weight:800!important;font-size:clamp(30px,3vw,43px)!important;letter-spacing:-.04em!important}
.cd-intro-media{height:300px!important;border-radius:14px!important}
.cd-intro-points{border-color:var(--ref-line)!important}
.cd-intro-point{border-color:var(--ref-line)!important}
.cd-intro-point>span{color:var(--ref-primary)!important}

/* SERVICES — reference-like clean 3-column card grid with six-item support */
.cd-clean-services{background:var(--ref-soft)!important;padding:84px 0!important}
.cd-clean-heading{gap:70px!important;margin-bottom:38px!important}
.cd-clean-heading h2{font-family:inherit!important;font-size:clamp(30px,3vw,43px)!important;font-weight:800!important;letter-spacing:-.04em!important}
.cd-clean-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important}
.cd-clean-service{border:1px solid var(--ref-line)!important;border-radius:12px!important;box-shadow:0 8px 24px #0f172a0a!important}
.cd-clean-service-media{height:205px!important}
.cd-clean-service-copy{padding:20px 19px 22px!important}
.cd-clean-service-copy h3{font-family:inherit!important;font-size:17px!important;font-weight:800!important}
.cd-clean-service-copy p{font-size:13px!important;min-height:0!important}
.cd-clean-service-copy>span,.cd-clean-service-copy a{color:var(--ref-primary)!important}
.cd-clean-services-journal .cd-clean-service-grid,.cd-clean-services-mosaic .cd-clean-service-grid,.cd-clean-services-band .cd-clean-service-grid,.cd-clean-services-tiles .cd-clean-service-grid,.cd-clean-services-darkgrid .cd-clean-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.cd-clean-services-journal .cd-clean-service:first-child .cd-clean-service-media{height:205px!important}
.cd-clean-services-mosaic .cd-clean-service:nth-child(2),.cd-clean-services-mosaic .cd-clean-service:nth-child(3){margin-top:0!important}
.cd-clean-services-index .cd-clean-service-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;border:0!important}
.cd-clean-services-index .cd-clean-service{display:block!important;border:1px solid var(--ref-line)!important}.cd-clean-services-index .cd-clean-service-media{height:205px!important}
.cd-clean-services-darkgrid{background:var(--ref-soft)!important;color:#111827!important}.cd-clean-services-darkgrid .cd-clean-heading h2,.cd-clean-services-darkgrid .cd-clean-service h3{color:#111827!important}.cd-clean-services-darkgrid .cd-clean-heading>p,.cd-clean-services-darkgrid .cd-clean-service p{color:var(--ref-muted)!important}.cd-clean-services-darkgrid .cd-clean-service{background:#fff!important;border-color:var(--ref-line)!important}

/* WHY US — premium gradient band driven by user's two chosen colors */
.cd-clean-why{
 padding:82px 0!important;
 background:linear-gradient(118deg,
   color-mix(in srgb,var(--ref-primary) 18%,#f8fafc) 0%,
   color-mix(in srgb,var(--ref-secondary) 35%,#eef2f7) 55%,
   color-mix(in srgb,var(--ref-secondary) 78%,#0f172a) 100%)!important;
 color:#111827!important
}
.cd-clean-why>.wrap{grid-template-columns:.82fr 1.18fr!important;gap:70px!important}
.cd-clean-why-title h2{font-family:inherit!important;font-weight:800!important;font-size:clamp(30px,3vw,43px)!important;letter-spacing:-.04em!important}
.cd-clean-proof-list{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;border:0!important}
.cd-clean-proof-list article{background:#ffffff12!important;border:1px solid #ffffff28!important;border-radius:10px!important;padding:20px!important;grid-template-columns:28px 1fr!important;backdrop-filter:blur(4px)}
.cd-clean-proof-list article>span{color:var(--ref-primary)!important}
.cd-clean-proof-list h3{font-family:inherit!important;font-size:16px!important;font-weight:800!important}
.cd-clean-proof-list p{font-size:13px!important}
.cd-clean-why-dark{background:linear-gradient(118deg,color-mix(in srgb,var(--ref-primary) 25%,#0f172a),var(--ref-dark))!important;color:#fff!important}
.cd-clean-why-dark .cd-clean-why-title h2,.cd-clean-why-dark .cd-clean-proof-list h3{color:#fff!important}
.cd-clean-why-dark .cd-clean-why-title>p,.cd-clean-why-dark .cd-clean-proof-list p{color:#e5e7eb!important}

/* LOWER PAGE — clean the legacy visual language without changing backend/content */
.cd-site section:not(.cdv):not(.cd-intro-section):not(.cd-clean-services):not(.cd-clean-why){scroll-margin-top:80px}
.cd-site .btn{border-radius:8px!important}
.cd-site input,.cd-site select,.cd-site textarea{border-radius:8px!important}
.cd-site details{border-radius:10px!important}
.cd-site #faq{background:var(--ref-soft)!important}
.cd-site #contact{background:#fff!important}
.cd-site footer{background:var(--ref-dark)!important;color:#e8edf2!important}

/* USER COLOR AUTHORITY
   Primary controls buttons, links, micro-labels and accents.
   Secondary controls dark/deep surfaces and footer. */
.cd-site .btn.primary,.cd-site button[type="submit"]{background:var(--ref-primary)!important;border-color:var(--ref-primary)!important}
.cd-site a:not(nav a):not(.btn){text-decoration-color:color-mix(in srgb,var(--ref-primary) 35%,transparent)}
.cd-site .cd-kicker{color:var(--ref-primary)!important}

@media(max-width:900px){
 .cdv .wrap,.cd-intro-section>.wrap{width:min(100% - 30px,1160px)}
 .cdv h1{font-size:clamp(34px,9.5vw,50px)!important}
 .cdv-1>.wrap{grid-template-columns:1fr!important;gap:34px!important}.cdv-1 .cdv-media,.cdv-3 .cdv-media,.cdv-5 .cdv-media,.cdv-7 .cdv-wide,.cdv-8 .cdv-photo{height:330px!important}
 .cd-intro-section>.wrap{grid-template-columns:1fr!important}
 .cd-clean-service-grid,.cd-clean-services-journal .cd-clean-service-grid,.cd-clean-services-mosaic .cd-clean-service-grid,.cd-clean-services-band .cd-clean-service-grid,.cd-clean-services-tiles .cd-clean-service-grid,.cd-clean-services-darkgrid .cd-clean-service-grid,.cd-clean-services-index .cd-clean-service-grid{grid-template-columns:1fr!important}
 .cd-clean-service-media,.cd-clean-services-journal .cd-clean-service:first-child .cd-clean-service-media,.cd-clean-services-index .cd-clean-service-media{height:220px!important}
 .cd-clean-why>.wrap{grid-template-columns:1fr!important;gap:35px!important}.cd-clean-proof-list{grid-template-columns:1fr!important}
}

/* Phase 4.3.1 — Content-Aware Layout Balance + Compact Footer + No Decorative Numbers */
.cd-site .cdv-number,.cd-site .cd-clean-service-copy>span,.cd-site .cd-clean-proof-list article>span,.cd-site .cd-intro-point>span,.cd-site .cd-process-list article>strong{display:none!important}
.cd-site .cdv-bottom>span{display:none!important}
.cd-intro-section,.cd-clean-services,.cd-clean-why,.cd-process,.cd-area,.cd-faq,.cd-contact{min-height:0!important;height:auto!important}
.cd-intro-section{padding:68px 0!important}.cd-intro-section>.wrap{align-items:center!important}.cd-intro-copy,.cd-intro-points{align-self:center!important}.cd-intro-lead{max-width:600px!important;margin-bottom:22px!important}
.cd-intro-point{grid-template-columns:1fr!important;padding:17px 0!important}.cd-intro-point p{margin-top:6px!important}
.cd-clean-services{padding:72px 0!important}.cd-clean-heading{align-items:start!important;margin-bottom:32px!important}.cd-clean-heading>p{max-width:520px!important}
.cd-clean-why{padding:72px 0!important}.cd-clean-why>.wrap{align-items:center!important}.cd-clean-why-title{align-self:center!important}.cd-clean-why-title>p{max-width:500px!important}
.cd-clean-proof-list article{grid-template-columns:1fr!important;min-height:0!important}.cd-clean-proof-list{align-self:center!important}
.cd-process{padding:72px 0!important}.cd-process-list{margin-top:30px!important}.cd-process-list article{min-height:0!important;height:auto!important}.cd-process-list article>div{width:100%!important}
.cd-area{padding:72px 0!important}.cd-area>.wrap{align-items:center!important}.cd-area-media,.cd-area-copy{align-self:center!important}
.cd-faq{padding:72px 0!important}.cd-contact{padding:72px 0!important}.cd-map{margin:0!important;padding:0!important}
.cd-architectural_minimal .cd-services,.cd-architectural_minimal .cd-process,.cd-architectural_minimal .cd-faq{padding:72px 0!important}
.cd-warm_residential .cd-cta{margin:20px auto!important}
/* Compact footer: one true footer, not a second hero */
.cd-footer.cd-foot-compact{background:var(--ref-dark,var(--s))!important;color:#fff!important;padding:42px 0 18px!important;min-height:0!important}
.cd-foot-compact .wrap{width:min(1160px,calc(100% - 52px));margin:auto}
.cd-foot-compact .cd-foot-cta{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:32px!important;padding:0 0 28px!important;margin:0 0 28px!important;border-bottom:1px solid #ffffff20!important}
.cd-foot-compact .cd-foot-cta small{display:block;font-size:9px;letter-spacing:.16em;color:#ffffff99;margin-bottom:7px}
.cd-foot-compact .cd-foot-cta h2{font-family:inherit!important;font-size:clamp(24px,2.4vw,34px)!important;line-height:1.08!important;letter-spacing:-.03em!important;max-width:none!important;margin:0!important;color:#fff!important}
.cd-foot-compact .cd-foot-request{display:inline-block!important;flex:0 0 auto;background:var(--ref-primary,var(--p))!important;color:#fff!important;padding:11px 16px!important;border-radius:8px!important;font-size:12px!important;font-weight:850!important;text-decoration:none!important;margin:0!important}
.cd-foot-compact .cd-foot-grid{display:grid!important;grid-template-columns:1.45fr .65fr 1fr 1fr!important;gap:38px!important;align-items:start!important}
.cd-foot-compact .cd-foot-grid small{font-size:9px;letter-spacing:.14em;color:#ffffff80}.cd-foot-compact .cd-foot-grid p{font-size:12px!important;line-height:1.6!important;color:#dbe4ec!important;margin:8px 0 0!important}.cd-foot-compact .cd-foot-grid a{font-size:12px!important;color:#fff!important;margin:7px 0!important}.cd-foot-compact .cd-foot-brand p{color:#ffffff80!important}.cd-foot-compact .logo{color:#fff!important}
.cd-foot-compact .cd-foot-base{margin-top:28px!important;padding-top:14px!important;border-top:1px solid #ffffff18!important;display:flex!important;justify-content:space-between!important;gap:20px!important;font-size:10px!important;color:#ffffff70!important}
@media(max-width:900px){.cd-intro-section,.cd-clean-services,.cd-clean-why,.cd-process,.cd-area,.cd-faq,.cd-contact{padding:54px 0!important}.cd-foot-compact .wrap{width:min(100% - 30px,1160px)}.cd-foot-compact .cd-foot-cta{align-items:flex-start!important;flex-direction:column!important;gap:18px!important}.cd-foot-compact .cd-foot-grid{grid-template-columns:1fr 1fr!important;gap:26px!important}.cd-foot-compact .cd-foot-base{flex-direction:column!important;gap:6px!important}}
@media(max-width:560px){.cd-foot-compact .cd-foot-grid{grid-template-columns:1fr!important}.cd-foot-compact{padding-top:34px!important}}
/* Phase 4.3.2C — FINAL component color lock.
   IMPORTANT: this block is intentionally appended LAST, after every design system.
   It uses fixed accessible foreground colors instead of inherited/brand text colors. */
.tic{--c-light-head:#111827;--c-light-body:#374151;--c-light-muted:#5b6675;--c-dark-head:#ffffff;--c-dark-body:#e5e7eb}

/* LIGHT COMPONENTS — explicit foregrounds */
.tic section[class$="-services"],.tic section[class$="-process"],.tic section[class$="-faq"],
.tic .tic-area,.tic .tic-contact,.tic .tic-map,
.tic1-services,.tic1-process,.tic1-faq,.tic2-hero,.tic2-manifesto,.tic2-services,.tic2-process,.tic2-faq,
.tic3-services,.tic3-process,.tic3-faq,.tic4-services,.tic4-process,.tic4-faq,
.tic6-hero,.tic6-story,.tic6-services,.tic6-process,.tic6-faq,
.tic7-hero,.tic7-photo,.tic7-services,.tic7-process,.tic7-faq,
.tic8-hero,.tic8-trust,.tic8-services,.tic8-process,.tic8-faq,
.tic9-hero,.tic9-intro,.tic9-services,.tic9-process,.tic9-faq,
.tic10-services,.tic10-process,.tic10-faq{color:var(--c-light-head)!important}

.tic section[class$="-services"] :is(h1,h2,h3,h4,h5,h6,b,strong,summary),
.tic section[class$="-process"] :is(h1,h2,h3,h4,h5,h6,b,strong,summary),
.tic section[class$="-faq"] :is(h1,h2,h3,h4,h5,h6,b,strong,summary),
.tic .tic-area :is(h1,h2,h3,h4,h5,h6,b,strong,summary),
.tic .tic-contact :is(h1,h2,h3,h4,h5,h6,b,strong,label,summary),
.tic .tic-map :is(h1,h2,h3,h4,h5,h6,b,strong,summary){color:var(--c-light-head)!important}
.tic section[class$="-services"] :is(p,li,small),.tic section[class$="-process"] :is(p,li,small),
.tic section[class$="-faq"] :is(p,li,small),.tic .tic-area :is(p,li,small),
.tic .tic-contact :is(p,li,small),.tic .tic-map :is(p,li,small){color:var(--c-light-body)!important}

/* Light Why components. */
.pit-template-2 .tic2-why,.pit-template-4 .tic4-why,.pit-template-6 .tic6-why,
.pit-template-7 .tic7-why,.pit-template-8 .tic8-why,.pit-template-9 .tic9-why{color:var(--c-light-head)!important}
.pit-template-2 .tic2-why :is(h1,h2,h3,h4,p,li,small),.pit-template-4 .tic4-why :is(h1,h2,h3,h4,p,li,small),
.pit-template-6 .tic6-why :is(h1,h2,h3,h4,p,li,small),.pit-template-7 .tic7-why :is(h1,h2,h3,h4,p,li,small),
.pit-template-8 .tic8-why :is(h1,h2,h3,h4,p,li,small),.pit-template-9 .tic9-why :is(h1,h2,h3,h4,p,li,small){color:var(--c-light-head)!important}

/* DARK COMPONENTS — explicit foregrounds. */
.tic1-hero,.tic1-why,.tic3-hero,.tic3-why,.tic10-why,.tic-cta,
.pit-template-5 .tic5,.pit-template-5 .tic5>section{color:var(--c-dark-head)!important}
.tic1-hero :is(h1,h2,h3,h4,b,strong),.tic1-why :is(h1,h2,h3,h4,b,strong),
.tic3-hero :is(h1,h2,h3,h4,b,strong),.tic3-why :is(h1,h2,h3,h4,b,strong),
.tic10-why :is(h1,h2,h3,h4,b,strong),.tic-cta :is(h1,h2,h3,h4,b,strong),
.pit-template-5 .tic5 :is(h1,h2,h3,h4,b,strong,summary){color:var(--c-dark-head)!important}
.tic1-hero :is(p,li,small),.tic1-why :is(p,li,small),.tic3-hero :is(p,li,small),
.tic3-why :is(p,li,small),.tic10-why :is(p,li,small),.tic-cta :is(p,li,small),
.pit-template-5 .tic5 :is(p,li,small){color:var(--c-dark-body)!important}

/* Dark benefit cards must stay light; previous 4.3.2B generic article rule could override these. */
.tic1-why article,.tic3-why article,.tic10-why article,.pit-template-5 .tic5 article{color:var(--c-dark-head)!important}
.tic1-why article :is(h3,p,span,b),.tic3-why article :is(h3,p,span,b),
.tic10-why article :is(h3,p,span,b),.pit-template-5 .tic5 article :is(h3,p,span,b){color:inherit!important}

/* Cards on light surfaces own their palette and do not inherit section text. */
.tic section[class$="-services"] article,.tic section[class$="-process"] article,
.tic section[class$="-faq"] details{color:var(--c-light-head)!important}
.tic section[class$="-services"] article :is(h3,b,strong),.tic section[class$="-process"] article :is(h3,b,strong),
.tic section[class$="-faq"] details summary{color:var(--c-light-head)!important}
.tic section[class$="-services"] article p,.tic section[class$="-process"] article p,
.tic section[class$="-faq"] details p{color:var(--c-light-body)!important}

/* Accent labels may use brand color ONLY on light surfaces. */
.tic section[class$="-services"] :is(.eyebrow,[class*="label"],[class*="num"]),
.tic section[class$="-process"] :is(.eyebrow,[class*="label"],[class*="num"]),
.tic section[class$="-faq"] .eyebrow,.tic .tic-area .eyebrow,.tic .tic-contact .eyebrow{color:var(--p)!important}
.tic1-hero .eyebrow,.tic1-why .eyebrow,.tic3-hero .eyebrow,.tic3-why .eyebrow,
.tic10-why .eyebrow,.tic-cta .eyebrow,.pit-template-5 .tic5 .eyebrow{color:var(--c-dark-head)!important}

/* Forms and buttons have self-contained contrast. */
.tic-contact .lead,.tic-contact input,.tic-contact textarea,.tic-contact select{background:#fff!important;color:#111827!important}
.tic-contact input::placeholder,.tic-contact textarea::placeholder{color:#64748b!important;opacity:1!important}
.tic .btn-light,.tic .btn-secondary{background:#fff!important;color:#111827!important;border-color:#cbd5e1!important}
.tic .btn-primary{color:#fff!important}
.tic-cta .btn-primary{background:#fff!important;color:var(--p)!important}

/* Never allow opacity to make primary copy effectively invisible. */
.tic :is(h1,h2,h3,h4,p,summary,label){opacity:1}/* Phase 4.3.2D — renderer-owned foreground architecture.
   AI/brand palettes may style accents and backgrounds, but never ordinary copy. */
.tic{--awb-fg:#111827;--awb-copy:#374151;--awb-muted:#5f6b7a;--awb-on-dark:#ffffff;--awb-copy-dark:#e5e7eb}

/* Every known LIGHT renderer component owns a dark foreground palette. */
.tic :where(
 .tic1-trust,.tic1-services,.tic1-process,.tic1-faq,
 .tic2-hero,.tic2-manifesto,.tic2-services,.tic2-why,.tic2-process,.tic2-faq,
 .tic3-services,.tic3-process,.tic3-faq,
 .tic4-hero,.tic4-services,.tic4-why,.tic4-process,.tic4-faq,
 .tic6-hero,.tic6-story,.tic6-services,.tic6-why,.tic6-process,.tic6-faq,
 .tic7-hero,.tic7-photo,.tic7-services,.tic7-why,.tic7-process,.tic7-faq,
 .tic8-hero,.tic8-trust,.tic8-services,.tic8-why,.tic8-process,.tic8-faq,
 .tic9-hero,.tic9-intro,.tic9-services,.tic9-why,.tic9-process,.tic9-faq,
 .tic10-hero,.tic10-services,.tic10-process,.tic10-faq,
 .tic-area,.tic-contact,.tic-map
){color:var(--awb-fg)!important}
.tic :where(
 .tic1-trust,.tic1-services,.tic1-process,.tic1-faq,
 .tic2-hero,.tic2-manifesto,.tic2-services,.tic2-why,.tic2-process,.tic2-faq,
 .tic3-services,.tic3-process,.tic3-faq,
 .tic4-hero,.tic4-services,.tic4-why,.tic4-process,.tic4-faq,
 .tic6-hero,.tic6-story,.tic6-services,.tic6-why,.tic6-process,.tic6-faq,
 .tic7-hero,.tic7-photo,.tic7-services,.tic7-why,.tic7-process,.tic7-faq,
 .tic8-hero,.tic8-trust,.tic8-services,.tic8-why,.tic8-process,.tic8-faq,
 .tic9-hero,.tic9-intro,.tic9-services,.tic9-why,.tic9-process,.tic9-faq,
 .tic10-hero,.tic10-services,.tic10-process,.tic10-faq,
 .tic-area,.tic-contact,.tic-map
) :is(h1,h2,h3,h4,h5,h6,strong,b,summary,label){color:var(--awb-fg)!important;opacity:1!important}
.tic :where(
 .tic1-trust,.tic1-services,.tic1-process,.tic1-faq,
 .tic2-hero,.tic2-manifesto,.tic2-services,.tic2-why,.tic2-process,.tic2-faq,
 .tic3-services,.tic3-process,.tic3-faq,
 .tic4-hero,.tic4-services,.tic4-why,.tic4-process,.tic4-faq,
 .tic6-hero,.tic6-story,.tic6-services,.tic6-why,.tic6-process,.tic6-faq,
 .tic7-hero,.tic7-photo,.tic7-services,.tic7-why,.tic7-process,.tic7-faq,
 .tic8-hero,.tic8-trust,.tic8-services,.tic8-why,.tic8-process,.tic8-faq,
 .tic9-hero,.tic9-intro,.tic9-services,.tic9-why,.tic9-process,.tic9-faq,
 .tic10-hero,.tic10-services,.tic10-process,.tic10-faq,
 .tic-area,.tic-contact,.tic-map
) :is(p,li,small){color:var(--awb-copy)!important;opacity:1!important}

/* Every known DARK renderer component owns a light foreground palette. */
.tic :where(.tic1-hero,.tic1-why,.tic3-hero,.tic3-why,.tic10-why,.tic5-hero,.tic5-trust,.tic5-services,.tic5-why,.tic5-process,.tic5-faq,.tic-cta){color:var(--awb-on-dark)!important}
.tic :where(.tic1-hero,.tic1-why,.tic3-hero,.tic3-why,.tic10-why,.tic5-hero,.tic5-trust,.tic5-services,.tic5-why,.tic5-process,.tic5-faq,.tic-cta) :is(h1,h2,h3,h4,h5,h6,strong,b,summary,label){color:var(--awb-on-dark)!important;opacity:1!important}
.tic :where(.tic1-hero,.tic1-why,.tic3-hero,.tic3-why,.tic10-why,.tic5-hero,.tic5-trust,.tic5-services,.tic5-why,.tic5-process,.tic5-faq,.tic-cta) :is(p,li,small){color:var(--awb-copy-dark)!important;opacity:1!important}

/* Shared light components stay light even inside template 5. */
.tic5 .tic-area,.tic5 .tic-contact,.tic5 .tic-map{background:#fff!important;color:var(--awb-fg)!important}
.tic5 :where(.tic-area,.tic-contact,.tic-map) :is(h1,h2,h3,h4,h5,h6,strong,b,summary,label){color:var(--awb-fg)!important}
.tic5 :where(.tic-area,.tic-contact,.tic-map) :is(p,li,small){color:var(--awb-copy)!important}

/* Accent labels are allowed brand color on light surfaces only. */
.tic :where(.tic1-trust,.tic1-services,.tic1-process,.tic1-faq,.tic2,.tic3-services,.tic3-process,.tic3-faq,.tic4,.tic6,.tic7,.tic8,.tic9,.tic10-hero,.tic10-services,.tic10-process,.tic10-faq,.tic-area,.tic-contact,.tic-map) .eyebrow{color:var(--p)!important}
.tic :where(.tic1-hero,.tic1-why,.tic3-hero,.tic3-why,.tic10-why,.tic5,.tic-cta) .eyebrow{color:var(--awb-on-dark)!important}

/* Cards/forms/buttons are isolated from parent foreground inheritance. */
.tic :where(.tic1-services,.tic2-services,.tic3-services,.tic4-services,.tic6-services,.tic7-services,.tic8-services,.tic9-services,.tic10-services) article{color:var(--awb-fg)!important}
.tic :where(.tic1-services,.tic2-services,.tic3-services,.tic4-services,.tic6-services,.tic7-services,.tic8-services,.tic9-services,.tic10-services) article :is(h1,h2,h3,h4,strong,b){color:var(--awb-fg)!important}
.tic :where(.tic1-services,.tic2-services,.tic3-services,.tic4-services,.tic6-services,.tic7-services,.tic8-services,.tic9-services,.tic10-services) article p{color:var(--awb-copy)!important}
.tic-contact .lead,.tic-contact input,.tic-contact textarea,.tic-contact select{background:#fff!important;color:#111827!important}
.tic-contact input::placeholder,.tic-contact textarea::placeholder{color:#64748b!important;opacity:1!important}
.tic .btn-light,.tic .btn-secondary{background:#fff!important;color:#111827!important;border-color:#cbd5e1!important}
.tic .btn-primary{color:#fff!important}
.tic-cta .btn-primary{background:#fff!important;color:var(--p)!important}/* Phase 4.3.2D2 — WHY US only: deterministic contrast lock.
   Keep every other section untouched. WHY US always owns a dark surface and light copy,
   so no generic article/card/design rule can create white-on-white or dark-on-dark text. */
.tic :is(.tic1-why,.tic2-why,.tic3-why,.tic4-why,.tic5-why,.tic6-why,.tic7-why,.tic8-why,.tic9-why,.tic10-why){
  background:#0b1220!important;
  color:#ffffff!important;
}
.tic :is(.tic1-why,.tic2-why,.tic3-why,.tic4-why,.tic5-why,.tic6-why,.tic7-why,.tic8-why,.tic9-why,.tic10-why) :is(h1,h2,h3,h4,h5,h6,strong,b,summary,label){
  color:#ffffff!important;
  opacity:1!important;
}
.tic :is(.tic1-why,.tic2-why,.tic3-why,.tic4-why,.tic5-why,.tic6-why,.tic7-why,.tic8-why,.tic9-why,.tic10-why) :is(p,li,small){
  color:#e5e7eb!important;
  opacity:1!important;
}
.tic :is(.tic1-why,.tic2-why,.tic3-why,.tic4-why,.tic5-why,.tic6-why,.tic7-why,.tic8-why,.tic9-why,.tic10-why) article,
.tic :is(.tic1-why,.tic2-why,.tic3-why,.tic4-why,.tic5-why,.tic6-why,.tic7-why,.tic8-why,.tic9-why,.tic10-why) [class*="benefit"]{
  background:transparent!important;
  color:#ffffff!important;
  border-color:rgba(255,255,255,.20)!important;
}
.tic :is(.tic1-why,.tic2-why,.tic3-why,.tic4-why,.tic5-why,.tic6-why,.tic7-why,.tic8-why,.tic9-why,.tic10-why) article :is(h1,h2,h3,h4,h5,h6,strong,b,span),
.tic :is(.tic1-why,.tic2-why,.tic3-why,.tic4-why,.tic5-why,.tic6-why,.tic7-why,.tic8-why,.tic9-why,.tic10-why) [class*="benefit"] :is(h1,h2,h3,h4,h5,h6,strong,b,span){
  color:#ffffff!important;
  opacity:1!important;
}
.tic :is(.tic1-why,.tic2-why,.tic3-why,.tic4-why,.tic5-why,.tic6-why,.tic7-why,.tic8-why,.tic9-why,.tic10-why) article p,
.tic :is(.tic1-why,.tic2-why,.tic3-why,.tic4-why,.tic5-why,.tic6-why,.tic7-why,.tic8-why,.tic9-why,.tic10-why) [class*="benefit"] p{
  color:#e5e7eb!important;
  opacity:1!important;
}
.tic :is(.tic1-why,.tic2-why,.tic3-why,.tic4-why,.tic5-why,.tic6-why,.tic7-why,.tic8-why,.tic9-why,.tic10-why) .eyebrow{
  color:#ffffff!important;
  opacity:1!important;
}/* Phase 4.3.2D3 — WHY US final ID-level contrast lock.
   The section ID is renderer-stable across every template and has higher specificity
   than template/card typography rules. This patch intentionally touches #why only. */
.tic section#why,
main.tic section#why{
  background:#0b1220!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
.tic section#why *,
main.tic section#why *{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  opacity:1!important;
}
.tic section#why p,
.tic section#why li,
.tic section#why small,
main.tic section#why p,
main.tic section#why li,
main.tic section#why small{
  color:#e5e7eb!important;
  -webkit-text-fill-color:#e5e7eb!important;
}
.tic section#why article,
.tic section#why [class*="benefit"],
main.tic section#why article,
main.tic section#why [class*="benefit"]{
  background:transparent!important;
  border-color:rgba(255,255,255,.22)!important;
}
.tic section#why .eyebrow,
main.tic section#why .eyebrow{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}