:root{--p:#1B432C;--s:#3D6B4F;--a:#C4923E;--ink:#0f172a;--surface:#ffffff;--muted:#64748b;--line:#e5eaf1;--soft:#f6f8fc}*{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){
 /* Phase 4.5A1: keep desktop phone CTA out of the compact mobile header.
    The same call action remains available inside the hamburger menu and in the sticky Call Now bar. */
 header.cdh .cdh-action,header.cdh .cdh-desktop>a.btn{display:none!important}
 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}
}
/* Phase 3.11C6 — reliable mobile menu for Creative Director headers */
.awb-cdh-mobile-nav{display:none}
@media(max-width:900px){
 header.cdh>.awb-cdh-mobile-nav{display:none!important;position:absolute!important;top:100%!important;left:0!important;right:0!important;width:100%!important;max-height:calc(100vh - 60px)!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,.16)!important;z-index:10020!important;flex-direction:column!important;gap:2px!important}
 header.cdh>.awb-cdh-mobile-nav.is-open{display:flex!important}
 header.cdh>.awb-cdh-mobile-nav a{display:block!important;width:100%!important;padding:13px 14px!important;margin:0!important;border-radius:9px!important;font-size:16px!important;font-weight:750!important;line-height:1.25!important;text-align:left!important;text-decoration:none!important;color:var(--ink,#111827)!important;background:transparent!important}
 header.cdh>.awb-cdh-mobile-nav a:hover{background:#f3f4f6!important}
 header.cdh>.awb-cdh-mobile-nav .btn,header.cdh>.awb-cdh-mobile-nav .awb-mobile-call{margin-top:7px!important;text-align:center!important;background:var(--p)!important;color:#fff!important}
 header.cdh .menu{position:relative!important;z-index:10021!important;cursor:pointer!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 4.5C - unique homepage designs 21–30 */
.tx{--tx-ink:#182432;--tx-muted:#536171;--tx-paper:#f7f8f7;color:var(--tx-ink)}.tx>section{padding:clamp(58px,7vw,104px) 0}.tx h1{font-size:clamp(43px,5.8vw,86px);line-height:1.05;letter-spacing:-.045em}.tx h2{font-size:clamp(31px,3.6vw,54px);line-height:1.12}.tx p{color:var(--tx-muted);line-height:1.7}.tx .tx-hero{padding:70px 0}.tx-hero>.wrap{position:relative}.tx-copy{position:relative;z-index:2}.tx-copy p{max-width:600px}.tx-hero-media,.tx-feature-media,.tx-area-photo{min-height:400px;overflow:hidden}.tx-hero-media img,.tx-feature-media img,.tx-area-photo img{width:100%;height:100%;object-fit:cover}.tx-heading{max-width:760px;margin-bottom:35px}.tx-service-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.tx-service{background:#fff;border:1px solid #e1e6e8;overflow:hidden;min-width:0}.tx-service-photo{height:215px}.tx-service-photo img{width:100%;height:100%;object-fit:cover}.tx-service-copy{padding:24px}.tx-service h3{font-size:22px}.tx-service a{color:var(--p);font-weight:750}.tx-why{background:var(--tx-paper)}.tx-why>.wrap,.tx-feature>.wrap,.tx-area>.wrap,.tx-contact>.wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:7%;align-items:start}.tx-benefits{display:grid;grid-template-columns:1fr 1fr;gap:16px}.tx-benefit{display:flex;gap:15px;border-top:1px solid #cbd3d7;padding:20px 0}.tx-benefit>span{font-size:13px;color:var(--p);font-weight:800}.tx-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.tx-step{border-top:3px solid var(--p);padding:25px;background:var(--tx-paper)}.tx-step span{font-weight:800;color:var(--p)}.tx-area{background:#f0f4f6}.tx-cta{background:var(--s);color:#fff}.tx-cta>.wrap{display:flex;align-items:center;justify-content:space-between;gap:45px}.tx-cta h2,.tx-cta p,.tx-cta .eyebrow{color:#fff!important}.tx-faq-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}.tx-question{border-bottom:1px solid #cdd5db;padding:17px 0}.tx-question summary{cursor:pointer;font-weight:750}.tx-contact .lead{background:#fff;color:#182432}.tx-contact input,.tx-contact textarea,.tx-contact select{color:#182432!important;background:#fff!important}.tx-feature-media{height:460px}.tx21 .tx-frame{height:590px;margin-right:11%;border:15px solid #f1f0ec}.tx21 .tx-floating{position:relative;margin:-190px 0 0 auto;width:62%;background:#fff;padding:45px;box-shadow:0 18px 70px #0002}.tx21 .tx-service-list{grid-template-columns:1fr 1fr}.tx22 .tx-masthead{text-align:center;max-width:1000px;margin:auto}.tx22 .tx-masthead h1{font-family:Georgia,serif;font-weight:500}.tx22 .tx-duo{display:grid;grid-template-columns:1.3fr .7fr;gap:50px;margin-top:40px;align-items:end}.tx22 .tx-duo .tx-hero-media{height:520px}.tx22 .tx-service{border:0;border-top:2px solid var(--tx-ink)}.tx23 .tx-panorama{height:580px}.tx23 .tx-overlay{position:relative;margin:-140px 8% 0 auto;width:60%;padding:40px;background:var(--s);color:#fff}.tx23 .tx-overlay p{color:#f2f2f2}.tx23 .tx-service-list{grid-template-columns:repeat(2,1fr)}.tx24 .tx-hero>.wrap{display:grid;grid-template-columns:90px 1fr 1fr;gap:30px;align-items:center}.tx24 .tx-sideword{writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.3em;font-weight:800}.tx24 .tx-hero-media{height:650px}.tx24 .tx-service-list{grid-template-columns:1fr}.tx24 .tx-service{display:grid;grid-template-columns:280px 1fr}.tx24 .tx-service-photo{height:100%}.tx25 .tx-editorial{display:grid;grid-template-columns:1fr 1.1fr;gap:50px}.tx25 h1,.tx25 h2{font-family:Georgia,serif;font-weight:500}.tx25 .tx-editorial-photos{display:grid;grid-template-columns:1.2fr .8fr;gap:12px;align-items:end}.tx25 .tx-editorial-photos .tx-hero-media{height:520px}.tx25 .tx-editorial-photos>div:last-child{height:340px;overflow:hidden}.tx25 .tx-editorial-photos img{width:100%;height:100%;object-fit:cover}.tx25 .tx-service-list{grid-template-columns:repeat(2,1fr)}.tx26 .tx-hero{background:#edf4f8}.tx26 .tx-action{display:grid;grid-template-columns:1fr .85fr;gap:45px;align-items:center}.tx26 .tx-action-form{background:#fff;padding:28px;box-shadow:0 15px 40px #0002}.tx26 .tx-hero-media{height:260px;margin-top:28px}.tx26 .tx-service-list{grid-template-columns:repeat(3,1fr)}.tx27 .tx-neighborhood{position:relative}.tx27 .tx-neighborhood>.tx-hero-media{height:640px;border-radius:38px}.tx27 .tx-neighborhood-card{position:relative;width:65%;background:#fff;padding:45px;margin:-200px 0 0 5%;border-radius:25px;box-shadow:0 25px 65px #0002}.tx27 .tx-service{border-radius:20px}.tx27 .tx-why{background:#f5f7ed}.tx28 .tx-grid-hero{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:22px}.tx28 .tx-grid-hero>.tx-copy{padding:40px;background:#eef1f2}.tx28 .tx-grid-hero>.tx-hero-media{height:540px}.tx28 .tx-grid-label{grid-column:1/-1;padding:18px;border-top:3px solid var(--tx-ink);font-weight:800;letter-spacing:.14em}.tx28 .tx-service-list{grid-template-columns:repeat(2,1fr)}.tx28 .tx-service{display:grid;grid-template-columns:40% 60%}.tx28 .tx-service-photo{height:100%}.tx29{background:#131c26;color:#f7f9fc}.tx29 .tx-hero,.tx29 .tx-process,.tx29 .tx-services{background:#131c26}.tx29 .tx-hero h1,.tx29 .tx-hero p,.tx29 .tx-process h2,.tx29 .tx-services h2{color:#f7f9fc}.tx29 .tx-impact{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.tx29 .tx-impact-media{height:620px;clip-path:polygon(14% 0,100% 0,100% 85%,86% 100%,0 100%,0 15%)}.tx29 .tx-impact-media img{width:100%;height:100%;object-fit:cover}.tx29 .tx-service{background:#243140;border-color:#536171}.tx29 .tx-service h3,.tx29 .tx-service p,.tx29 .tx-step h3{color:#f7f9fc}.tx29 .tx-step{background:#243140}.tx29 .tx-why,.tx29 .tx-faq,.tx29 .tx-contact{background:#fff;color:#182432}.tx30 .tx-calm{text-align:center;max-width:830px;margin:auto}.tx30 .tx-calm p{margin-inline:auto}.tx30 .tx-calm .actions{justify-content:center}.tx30 .tx-calm-photo{height:480px;margin-top:45px}.tx30 .tx-calm-photo img{width:100%;height:100%;object-fit:cover}.tx30 .tx-service-list{grid-template-columns:1fr 1fr}.tx30 .tx-service{display:grid;grid-template-columns:45% 55%;border:0;border-bottom:1px solid #cbd3d7}.tx30 .tx-service-photo{height:100%}.tx30 .tx-why{background:#fff}.tx30 .tx-benefits{grid-template-columns:1fr}
@media(max-width:900px){.tx-why>.wrap,.tx-feature>.wrap,.tx-area>.wrap,.tx-contact>.wrap,.tx22 .tx-duo,.tx24 .tx-hero>.wrap,.tx25 .tx-editorial,.tx26 .tx-action,.tx28 .tx-grid-hero,.tx29 .tx-impact{grid-template-columns:1fr}.tx-service-list,.tx21 .tx-service-list,.tx23 .tx-service-list,.tx25 .tx-service-list,.tx26 .tx-service-list,.tx28 .tx-service-list,.tx30 .tx-service-list{grid-template-columns:1fr 1fr}.tx21 .tx-floating,.tx23 .tx-overlay,.tx27 .tx-neighborhood-card{width:90%;margin:-80px auto 0;padding:25px}.tx24 .tx-sideword{writing-mode:horizontal-tb;transform:none}.tx-cta>.wrap{display:block}.tx-hero-media,.tx24 .tx-hero-media,.tx29 .tx-impact-media{height:380px;min-height:0}.tx-benefits,.tx-faq-list{grid-template-columns:1fr}}
@media(max-width:620px){.tx-service-list,.tx21 .tx-service-list,.tx23 .tx-service-list,.tx25 .tx-service-list,.tx26 .tx-service-list,.tx28 .tx-service-list,.tx30 .tx-service-list,.tx-steps{grid-template-columns:1fr}.tx24 .tx-service,.tx28 .tx-service,.tx30 .tx-service{display:block}.tx-service-photo,.tx24 .tx-service-photo,.tx28 .tx-service-photo,.tx30 .tx-service-photo{height:220px}.tx21 .tx-frame{margin:0;height:380px}.tx21 .tx-floating{width:100%;margin:0;box-shadow:none}.tx25 .tx-editorial-photos{grid-template-columns:1fr}.tx25 .tx-editorial-photos>div:last-child{display:none}.tx27 .tx-neighborhood>.tx-hero-media{height:360px}.tx27 .tx-neighborhood-card{width:100%;margin:0}.tx29 .tx-impact-media{clip-path:none}.tx30 .tx-calm-photo{height:300px}}

/* Phase 4.7H-02: screenshot audit corrections, scoped exclusively to 21–30. */
.tx{--tx-ink:#182432;--tx-muted:#435365}
.tx>section{padding-block:clamp(42px,5vw,76px)}
.tx .tx-hero{padding-block:clamp(35px,4vw,65px)}
.tx h1{font-size:clamp(34px,4.2vw,64px);line-height:1.09;overflow-wrap:break-word}
.tx h2{font-size:clamp(27px,2.8vw,43px)}
.tx h3{line-height:1.25}
.tx .tx-hero-media,.tx .tx-feature-media,.tx .tx-area-photo{min-height:0}
.tx .tx-hero-media img,.tx .tx-feature-media img,.tx .tx-area-photo img,.tx .tx-service-photo img,.tx .tx-calm-photo img,.tx .tx-impact-media img{display:block;object-position:center center}
.tx .tx-service-copy{padding:clamp(16px,2vw,25px)}
.tx .tx-service h3{font-size:clamp(17px,1.7vw,22px);color:#182432}
.tx .tx-service p,.tx .tx-benefit p,.tx .tx-step p{font-size:clamp(14px,1.15vw,17px);line-height:1.55}
.tx .tx-service-photo{height:clamp(170px,18vw,240px);overflow:hidden}
.tx .tx-service-photo img{width:100%;height:100%;object-fit:cover}
.tx .tx-service-list{gap:clamp(15px,2vw,25px)}
.tx .tx-benefit>span,.tx .tx-step>span,.tx .tx-service-copy>small{display:none}
.tx .tx-benefit{gap:0}
.tx .tx-step{padding:clamp(17px,2vw,26px)}
.tx .tx-area>.wrap{align-items:center}
.tx .tx-area h2,.tx .tx-area p,.tx .tx-area .eyebrow{color:#182432}
.tx .tx-area-photo{height:clamp(230px,26vw,360px)}
.tx .tx-area-photo img{height:100%}
.tx .tx-cta{background:#102e3d;color:#fff}
.tx .tx-cta h2,.tx .tx-cta p,.tx .tx-cta .eyebrow{color:#fff!important}
.tx .tx-cta .actions{flex-shrink:0}
.tx21 .tx-frame{height:clamp(300px,36vw,470px)}
.tx21 .tx-floating{margin-top:-105px;max-width:660px;padding:clamp(25px,3vw,42px)}
.tx22 .tx-duo .tx-hero-media{height:clamp(280px,34vw,440px)}
.tx23 .tx-panorama{height:clamp(300px,38vw,480px)}
.tx23 .tx-overlay{margin-top:-100px;background:#102e3d}
.tx23 .tx-overlay h1,.tx23 .tx-overlay .eyebrow{color:#fff}
.tx24 .tx-hero>.wrap{grid-template-columns:45px minmax(0,1fr) minmax(0,1fr)}
.tx24 .tx-hero-media{height:clamp(300px,35vw,470px)}
.tx24 .tx-service{grid-template-columns:minmax(180px,30%) minmax(0,1fr)}
.tx25 .tx-editorial-photos .tx-hero-media{height:clamp(280px,34vw,430px)}
.tx25 .tx-editorial-photos>div:last-child{height:clamp(180px,22vw,280px)}
.tx26 .tx-hero-media{height:clamp(200px,24vw,330px)}
.tx27 .tx-neighborhood>.tx-hero-media{height:clamp(310px,38vw,480px)}
.tx27 .tx-neighborhood-card{margin-top:-110px}
.tx28 .tx-grid-hero>.tx-hero-media{height:clamp(300px,36vw,470px)}
.tx29 .tx-impact-media{height:clamp(300px,38vw,480px)}
.tx29 .tx-service h3,.tx29 .tx-service p,.tx29 .tx-step h3,.tx29 .tx-step p{color:#f7f9fc}
.tx29 .tx-service a{color:#62e3d2}
.tx29 .tx-steps .tx-step{background:#243140}
.tx29 .tx-why h2,.tx29 .tx-why h3,.tx29 .tx-faq h2,.tx29 .tx-contact h2,.tx29 .tx-area h2{color:#182432}
.tx29 .tx-why p,.tx29 .tx-faq p,.tx29 .tx-contact p,.tx29 .tx-area p{color:#435365}
.tx29 .tx-cta{background:#102e3d}
.tx30 .tx-calm-photo{height:clamp(280px,32vw,430px)}
@media(max-width:900px){
.tx24 .tx-hero>.wrap{grid-template-columns:1fr}
.tx .tx-service-list,.tx21 .tx-service-list,.tx23 .tx-service-list,.tx25 .tx-service-list,.tx26 .tx-service-list,.tx28 .tx-service-list,.tx30 .tx-service-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.tx .tx-hero-media{min-height:0}
.tx21 .tx-floating,.tx23 .tx-overlay,.tx27 .tx-neighborhood-card{margin-top:-55px;width:90%}
}
@media(max-width:620px){
.tx>section{padding-block:38px}.tx .tx-hero{padding-block:30px}
.tx h1{font-size:clamp(32px,9vw,46px)}.tx h2{font-size:clamp(26px,7vw,36px)}
.tx .tx-service-list,.tx21 .tx-service-list,.tx23 .tx-service-list,.tx25 .tx-service-list,.tx26 .tx-service-list,.tx28 .tx-service-list,.tx30 .tx-service-list,.tx .tx-steps{grid-template-columns:1fr}
.tx24 .tx-service,.tx28 .tx-service,.tx30 .tx-service{display:block}
.tx24 .tx-service-photo,.tx28 .tx-service-photo,.tx30 .tx-service-photo{height:205px}
.tx21 .tx-frame{height:280px;margin:0;border-width:7px}
.tx21 .tx-floating,.tx23 .tx-overlay,.tx27 .tx-neighborhood-card{margin:0;width:100%;padding:23px;box-shadow:none}
.tx23 .tx-panorama,.tx27 .tx-neighborhood>.tx-hero-media{height:290px}
.tx25 .tx-editorial-photos .tx-hero-media{height:290px}
.tx26 .tx-action-form{padding:18px}
.tx28 .tx-grid-hero>.tx-copy{padding:24px}
.tx29 .tx-impact-media{height:280px;clip-path:none}
.tx30 .tx-calm-photo{height:260px}
.tx .tx-area-photo{height:230px}
}

/* Phase 4.7H-03 — width + responsive media audit. All selectors confined to .tx (21–30). */
.tx{width:100%;max-width:100%;min-width:0;overflow-x:clip;box-sizing:border-box}
.tx,.tx *,.tx *::before,.tx *::after{box-sizing:border-box}
.tx > section{width:100%;max-width:100%;min-width:0}
.tx .wrap,.tx > section > .wrap,.tx .tic-map > .wrap{
  width:min(1240px,calc(100% - 64px));max-width:1240px;
  margin-inline:auto;min-width:0;
}
.tx .wrap > *, .tx .tx-copy,.tx .tx-feature-media,.tx .tx-area-photo,
.tx .tx-service,.tx .tx-service-copy,.tx .tx-hero-media,.tx .tx-editorial-photos,
.tx .tx-panorama,.tx .tx-frame,.tx .tx-floating,.tx .tx-overlay,
.tx .tx-neighborhood,.tx .tx-neighborhood-card,.tx .tx-impact-media,
.tx .tx-calm-photo,.tx .tx-action-form,.tx .tx-benefits,.tx .tx-steps,
.tx .tx-faq-list{min-width:0;max-width:100%}
.tx .tx-hero img,.tx .tx-service-photo img,.tx .tx-feature-media img,
.tx .tx-area-photo img,.tx .tx-editorial-photos img,.tx .tx-impact-media img,
.tx .tx-calm-photo img,.tx .tx-neighborhood img{
  display:block;width:100%;max-width:100%;height:100%;object-fit:cover;
}
.tx .tx-hero-media,.tx .tx-feature-media,.tx .tx-area-photo,
.tx .tx-service-photo,.tx .tx-frame,.tx .tx-panorama,
.tx .tx-impact-media,.tx .tx-calm-photo{overflow:hidden}
.tx .tx-service-list,.tx .tx-benefits,.tx .tx-steps,.tx .tx-faq-list{
  width:100%;min-width:0;
}
.tx .tx-why > .wrap,.tx .tx-feature > .wrap,.tx .tx-area > .wrap,
.tx .tx-contact > .wrap{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,64px)}
.tx .tx-service-list{grid-template-columns:repeat(3,minmax(0,1fr))}
.tx21 .tx-service-list,.tx23 .tx-service-list,.tx25 .tx-service-list,
.tx28 .tx-service-list,.tx30 .tx-service-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.tx24 .tx-service-list{grid-template-columns:minmax(0,1fr)}
.tx24 .tx-service{grid-template-columns:minmax(160px,30%) minmax(0,1fr)}
.tx28 .tx-service{grid-template-columns:minmax(0,40%) minmax(0,60%)}
.tx30 .tx-service{grid-template-columns:minmax(0,45%) minmax(0,55%)}
.tx24 .tx-service-photo,.tx28 .tx-service-photo,.tx30 .tx-service-photo{height:auto;min-height:175px}
.tx .tx-service-copy h3,.tx .tx-service-copy p,.tx .tx-copy h1,.tx .tx-copy p{
  overflow-wrap:anywhere
}
.tx .tx-service-photo{aspect-ratio:16/10;height:auto}
.tx24 .tx-service-photo,.tx28 .tx-service-photo,.tx30 .tx-service-photo{aspect-ratio:auto}
.tx .tx-area-photo{aspect-ratio:16/10;height:auto;max-height:360px}
.tx .tx-feature-media{aspect-ratio:16/10;height:auto;min-height:0}
.tx .tx-hero-media{min-height:0}
.tx .tx-cta > .wrap{min-width:0}
.tx .tic-map iframe,.tx .tic-map embed,.tx .tic-map img,.tx .tic-map > .wrap > *{
  max-width:100%
}
@media(max-width:1024px){
 .tx .wrap,.tx > section > .wrap,.tx .tic-map > .wrap{width:calc(100% - 48px)}
 .tx .tx-why > .wrap,.tx .tx-feature > .wrap,.tx .tx-area > .wrap,
 .tx .tx-contact > .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .tx .tx-service-list,.tx21 .tx-service-list,.tx23 .tx-service-list,
 .tx25 .tx-service-list,.tx26 .tx-service-list,.tx28 .tx-service-list,
 .tx30 .tx-service-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 .tx24 .tx-service-list{grid-template-columns:1fr}
 .tx25 .tx-editorial-photos{grid-template-columns:minmax(0,1fr) minmax(0,.65fr)}
}
@media(max-width:767px){
 .tx .wrap,.tx > section > .wrap,.tx .tic-map > .wrap{width:calc(100% - 36px)}
 .tx .tx-why > .wrap,.tx .tx-feature > .wrap,.tx .tx-area > .wrap,
 .tx .tx-contact > .wrap,.tx22 .tx-duo,.tx24 .tx-hero > .wrap,
 .tx25 .tx-editorial,.tx26 .tx-action,.tx28 .tx-grid-hero,
 .tx29 .tx-impact{grid-template-columns:minmax(0,1fr)}
 .tx .tx-service-list,.tx21 .tx-service-list,.tx23 .tx-service-list,
 .tx25 .tx-service-list,.tx26 .tx-service-list,.tx28 .tx-service-list,
 .tx30 .tx-service-list,.tx .tx-steps,.tx .tx-benefits,.tx .tx-faq-list{
   grid-template-columns:minmax(0,1fr)
 }
 .tx24 .tx-service,.tx28 .tx-service,.tx30 .tx-service{display:block}
 .tx .tx-service-photo,.tx24 .tx-service-photo,.tx28 .tx-service-photo,
 .tx30 .tx-service-photo{aspect-ratio:16/9;height:auto;min-height:0}
 .tx .tx-service-photo img{position:static}
 .tx .tx-area-photo,.tx .tx-feature-media{aspect-ratio:16/10;height:auto;max-height:none}
 .tx21 .tx-floating,.tx23 .tx-overlay,.tx27 .tx-neighborhood-card{
   width:100%;max-width:100%;margin:0;padding:24px;position:relative
 }
 .tx21 .tx-frame,.tx23 .tx-panorama,.tx27 .tx-neighborhood > .tx-hero-media{
   height:auto;aspect-ratio:16/10
 }
 .tx22 .tx-duo .tx-hero-media,.tx24 .tx-hero-media,
 .tx25 .tx-editorial-photos .tx-hero-media,.tx26 .tx-hero-media,
 .tx28 .tx-grid-hero > .tx-hero-media,.tx29 .tx-impact-media,
 .tx30 .tx-calm-photo{height:auto;aspect-ratio:16/10}
 .tx25 .tx-editorial-photos{grid-template-columns:minmax(0,1fr)}
 .tx25 .tx-editorial-photos > div:last-child{display:none}
 .tx .tx-cta > .wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
 .tx .actions{display:flex;flex-wrap:wrap;max-width:100%}
}
@media(max-width:420px){
 .tx .wrap,.tx > section > .wrap,.tx .tic-map > .wrap{width:calc(100% - 28px)}
 .tx .tx-service-copy{padding:18px}
 .tx .tx-copy h1{font-size:clamp(30px,9vw,39px)}
 .tx .tx-grid-label{overflow-wrap:anywhere}
}


/* Phase 4.7H-04: screenshot-driven geometry corrections; scoped to Templates 21–30. */
.tic.tx{width:100%;max-width:none;overflow-x:clip}
.tic.tx>section{width:100%;max-width:none}
.tic.tx>section>.wrap{
 width:calc(100% - clamp(32px,6vw,112px))!important;
 max-width:1440px!important;margin-left:auto!important;margin-right:auto!important;
 min-width:0!important;
}
.tic.tx .wrap,.tic.tx .wrap *{box-sizing:border-box}
.tic.tx .tx-hero>.wrap,.tic.tx .tx-services>.wrap,.tic.tx .tx-area>.wrap,
.tic.tx .tx-process>.wrap,.tic.tx .tx-why>.wrap,.tic.tx .tx-faq>.wrap,
.tic.tx .tx-contact>.wrap,.tic.tx .tic-map>.wrap{min-width:0}
.tic.tx .tx-service-list{width:100%;min-width:0;align-items:stretch}
.tic.tx .tx-service{min-width:0;max-width:100%;width:100%;display:flex;flex-direction:column}
.tic.tx .tx-service-copy{flex:1;min-width:0;overflow-wrap:break-word}
.tic.tx .tx-service-photo{position:relative;width:100%;height:auto!important;aspect-ratio:16/9;min-height:0;overflow:hidden;background:#0c6465}
.tic.tx .tx-service-photo img{position:absolute;inset:0;width:100%;height:100%;max-width:100%;object-fit:contain!important;object-position:center}
.tic.tx .tx-hero-media,.tic.tx .tx-area-photo,.tic.tx .tx-feature-media,
.tic.tx .tx-impact-media,.tic.tx .tx-calm-photo{position:relative;overflow:hidden}
.tic.tx .tx-hero-media img,.tic.tx .tx-area-photo img,
.tic.tx .tx-feature-media img,.tic.tx .tx-impact-media img,
.tic.tx .tx-calm-photo img{width:100%;height:100%;object-fit:contain!important;object-position:center;background:#0c6465}
.tic.tx .tx-area-photo{height:auto!important;aspect-ratio:16/9;min-height:0}
.tic.tx .tx-feature-media{height:auto!important;aspect-ratio:16/10;min-height:0}
.tic.tx .tx-service-list{grid-template-columns:repeat(3,minmax(0,1fr))}
.tic.tx21 .tx-service-list,.tic.tx23 .tx-service-list,.tic.tx25 .tx-service-list,
.tic.tx28 .tx-service-list,.tic.tx30 .tx-service-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.tic.tx24 .tx-service-list{grid-template-columns:1fr}
.tic.tx24 .tx-service,.tic.tx28 .tx-service,.tic.tx30 .tx-service{display:grid;grid-template-columns:minmax(0,38%) minmax(0,62%)}
.tic.tx24 .tx-service-photo,.tic.tx28 .tx-service-photo,.tic.tx30 .tx-service-photo{
 height:100%!important;aspect-ratio:auto;min-height:180px
}
.tic.tx .tx-why>.wrap,.tic.tx .tx-feature>.wrap,.tic.tx .tx-area>.wrap,
.tic.tx .tx-contact>.wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,70px)}
.tic.tx .tx-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}
.tic.tx .tx-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
.tic.tx .tx-faq-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.tic.tx29 .tx-service h3,.tic.tx29 .tx-service p,.tic.tx29 .tx-step h3,
.tic.tx29 .tx-step p{color:#fff!important}
.tic.tx29 .tx-step{background:#293849!important}
.tic.tx29 .tx-service a{color:#74f3dd!important}
.tic.tx .tx-hero-media img{object-fit:contain!important}
.tic.tx21 .tx-frame,.tic.tx23 .tx-panorama,.tic.tx27 .tx-neighborhood>.tx-hero-media{
 overflow:hidden
}
@media(max-width:1000px){
 .tic.tx .tx-service-list,.tic.tx21 .tx-service-list,.tic.tx23 .tx-service-list,
 .tic.tx25 .tx-service-list,.tic.tx26 .tx-service-list,.tic.tx28 .tx-service-list,
 .tic.tx30 .tx-service-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 .tic.tx24 .tx-service-list{grid-template-columns:1fr}
}
@media(max-width:700px){
 .tic.tx>section>.wrap{width:calc(100% - 32px)!important}
 .tic.tx .tx-service-list,.tic.tx21 .tx-service-list,.tic.tx23 .tx-service-list,
 .tic.tx24 .tx-service-list,.tic.tx25 .tx-service-list,.tic.tx26 .tx-service-list,
 .tic.tx28 .tx-service-list,.tic.tx30 .tx-service-list,
 .tic.tx .tx-benefits,.tic.tx .tx-steps,.tic.tx .tx-faq-list{grid-template-columns:minmax(0,1fr)}
 .tic.tx24 .tx-service,.tic.tx28 .tx-service,.tic.tx30 .tx-service{display:flex;flex-direction:column}
 .tic.tx24 .tx-service-photo,.tic.tx28 .tx-service-photo,.tic.tx30 .tx-service-photo{
  height:auto!important;min-height:0;aspect-ratio:16/9
 }
 .tic.tx .tx-why>.wrap,.tic.tx .tx-feature>.wrap,.tic.tx .tx-area>.wrap,
 .tic.tx .tx-contact>.wrap,.tic.tx22 .tx-duo,.tic.tx24 .tx-hero>.wrap,
 .tic.tx25 .tx-editorial,.tic.tx26 .tx-action,.tic.tx28 .tx-grid-hero,
 .tic.tx29 .tx-impact{grid-template-columns:minmax(0,1fr)}
 .tic.tx .tx-hero-media,.tic.tx .tx-impact-media,.tic.tx .tx-calm-photo{
  height:auto!important;min-height:0!important;aspect-ratio:16/10
 }
 .tic.tx21 .tx-floating,.tic.tx23 .tx-overlay,.tic.tx27 .tx-neighborhood-card{
  width:100%;margin:0;position:relative;max-width:100%
 }
 .tic.tx .tx-cta>.wrap{display:flex;flex-direction:column;align-items:stretch;gap:18px}
 .tic.tx .tx-copy h1{font-size:clamp(30px,8vw,48px)}
}


/* Phase 4.7H-05: dark-mode legibility and section rhythm, scoped to 21–30. */
.tic.tx29 .tx-step,.tic.tx29 .tx-steps .tx-step,
.tic.tx29 .tx-service-copy,.tic.tx29 .tx-service .tx-service-copy{
 background:#253748!important;color:#f6fbff!important;
}
.tic.tx29 .tx-step h3,.tic.tx29 .tx-step p,
.tic.tx29 .tx-service-copy h3,.tic.tx29 .tx-service-copy p,
.tic.tx29 .tx-service-copy small,.tic.tx29 .tx-step span{
 color:#f6fbff!important;opacity:1!important;
 -webkit-text-fill-color:#f6fbff!important;
}
.tic.tx29 .tx-service-copy a,.tic.tx29 .tx-service a{
 color:#7ff5e1!important;-webkit-text-fill-color:#7ff5e1!important;
 text-decoration:underline;text-underline-offset:3px;
}
.tic.tx29 .tx-step p,.tic.tx29 .tx-service-copy p{line-height:1.6}
.tic.tx29 .tx-step{border-color:#425568!important}
.tic.tx>section{padding-top:clamp(34px,4vw,62px)!important;
 padding-bottom:clamp(34px,4vw,62px)!important}
.tic.tx>section.tx-hero{padding-top:clamp(30px,3.8vw,56px)!important;
 padding-bottom:clamp(30px,3.8vw,56px)!important}
.tic.tx .tx-heading{margin-bottom:clamp(16px,2vw,28px)}
.tic.tx .tx-heading h2,.tic.tx .tx-why-lead h2{margin-bottom:clamp(12px,1.5vw,20px)}
.tic.tx .tx-service-list{gap:clamp(14px,1.7vw,24px)}
.tic.tx .tx-steps{gap:clamp(12px,1.4vw,22px)}
.tic.tx .tx-benefits{gap:clamp(12px,1.5vw,24px)}
.tic.tx .tx-service{align-self:stretch}
.tic.tx .tx-service-copy{padding:clamp(18px,1.7vw,26px)}
.tic.tx .tx-service-copy p{margin-block:10px 12px}
.tic.tx .tx-area>.wrap,.tic.tx .tx-feature>.wrap,.tic.tx .tx-why>.wrap{
 align-items:center
}
.tic.tx .tx-area-photo,.tic.tx .tx-feature-media{max-height:390px}
.tic.tx .tx-cta>.wrap{align-items:center}
.tic.tx .tx-cta h2{margin-bottom:12px}
.tic.tx .tx-faq-list{gap:0 clamp(12px,1.5vw,24px)}
.tic.tx .tx-contact>.wrap{align-items:start}
@media(min-width:1001px){
 .tic.tx29 .tx-service-list{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
 .tic.tx>section{padding-block:32px!important}
 .tic.tx>section.tx-hero{padding-block:26px!important}
 .tic.tx .tx-heading{margin-bottom:18px}
 .tic.tx .tx-service-list,.tic.tx .tx-steps{gap:14px}
 .tic.tx .tx-cta>.wrap{align-items:stretch}
}


/* Phase 4.7H-06 — final scoped geometry, legibility and image refinement. */
.tic.tx{--tx-space:clamp(28px,3.5vw,54px)}
.tic.tx .tx-hero>.wrap,.tic.tx .tx-feature>.wrap,.tic.tx .tx-why>.wrap{min-width:0}
.tic.tx .tx-copy,.tic.tx .tx-editorial-photos,.tic.tx .tx-editorial-photos>*{min-width:0}
.tic.tx .tx-hero h1{max-width:18ch}
.tic.tx .tx-hero p{max-width:60ch}
.tic.tx .tx-hero-media,.tic.tx .tx-service-photo,.tic.tx .tx-feature-media,.tic.tx .tx-area-photo{isolation:isolate}
.tic.tx .tx-hero-media img,.tic.tx .tx-service-photo img,.tic.tx .tx-feature-media img,.tic.tx .tx-area-photo img,.tic.tx .tx-calm-photo img,.tic.tx .tx-impact-media img{max-width:100%;max-height:100%;display:block}
.tic.tx .tx-service-photo{background:#0c6465}
.tic.tx .tx-service-copy{display:flex;flex-direction:column;align-items:flex-start}
.tic.tx .tx-service-copy a{margin-top:auto}
.tic.tx .tx-benefit h3,.tic.tx .tx-step h3{margin-top:0}
.tic.tx .tx-feature>.wrap,.tic.tx .tx-area>.wrap{align-items:center}
.tic.tx .tx-hero-media img,.tic.tx .tx-feature-media img,.tic.tx .tx-area-photo img{object-fit:cover!important}
/* Keep graphic assets fully visible in service cards; photographic assets can fill the frame. */
.tic.tx .tx-service-photo img{object-fit:contain!important}
/* Template 25: reduce dead space while retaining its two-photo editorial signature. */
.tic.tx25 .tx-editorial{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(18px,3vw,42px);align-items:center}
.tic.tx25 .tx-editorial-photos{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:center;gap:12px}
.tic.tx25 .tx-editorial-photos .tx-hero-media{height:auto!important;aspect-ratio:4/3;min-height:0}
.tic.tx25 .tx-editorial-photos>div:last-child{height:auto!important;aspect-ratio:4/3;overflow:hidden}
.tic.tx25 .tx-editorial-photos>div:last-child img{object-fit:cover!important}
.tic.tx25 .tx-feature-media{aspect-ratio:16/10}
/* Template 29: dark content must remain legible even with theme-specific typography. */
.tic.tx29 .tx-hero .tx-copy,.tic.tx29 .tx-process,.tic.tx29 .tx-services{color:#f6fbff}
.tic.tx29 .tx-hero .tx-copy p,.tic.tx29 .tx-process .tx-heading p,.tic.tx29 .tx-services .tx-heading p{color:#dbe6ee!important}
.tic.tx29 .tx-benefit h3,.tic.tx29 .tx-why h3{color:#182432}
.tic.tx29 .tx-step h3,.tic.tx29 .tx-step p,.tic.tx29 .tx-service-copy h3,.tic.tx29 .tx-service-copy p{color:#f6fbff!important;-webkit-text-fill-color:#f6fbff!important}
/* Tablet: prevent tightly squeezed nested columns and overlong images. */
@media (min-width:701px) and (max-width:1050px){
 .tic.tx25 .tx-editorial{gap:22px}
 .tic.tx25 .tx-editorial-photos{grid-template-columns:minmax(0,1fr)}
 .tic.tx25 .tx-editorial-photos>div:last-child{display:none}
 .tic.tx .tx-service-list{gap:16px}
}
@media(max-width:700px){
 .tic.tx .tx-hero h1{max-width:none}
 .tic.tx25 .tx-editorial{grid-template-columns:minmax(0,1fr);gap:22px}
 .tic.tx25 .tx-editorial-photos{grid-template-columns:minmax(0,1fr)}
 .tic.tx25 .tx-editorial-photos>div:last-child{display:none}
 .tic.tx25 .tx-editorial-photos .tx-hero-media{aspect-ratio:16/10}
 .tic.tx .tx-service-photo{aspect-ratio:16/9}
 .tic.tx .tx-service-copy{min-height:0}
 .tic.tx .tx-hero-media img,.tic.tx .tx-feature-media img,.tic.tx .tx-area-photo img{object-fit:cover!important}
 .tic.tx .tx-contact>.wrap,.tic.tx .tx-area>.wrap,.tic.tx .tx-feature>.wrap{gap:22px}
}
.ty{--ty-ink:#1c2832;--ty-paper:#f4f6f4;color:var(--ty-ink)}.ty>section{padding:clamp(58px,7vw,104px) 0}.ty .ty-hero{padding:70px 0}.ty h1{font-size:clamp(42px,5.6vw,82px);line-height:1.04;letter-spacing:-.045em}.ty h2{font-size:clamp(30px,3.7vw,52px);line-height:1.13}.ty p{line-height:1.7}.ty .ty-photo{width:100%;height:100%;object-fit:cover}.ty-copy{position:relative;z-index:1}.ty-copy p{max-width:570px}.ty-title{max-width:780px;margin-bottom:35px}.ty-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.ty-card{background:#fff;border:1px solid #dce2e4;min-width:0;overflow:hidden}.ty-card-photo{height:220px}.ty-card-body{padding:25px}.ty-card-body h3{font-size:23px}.ty-card-body a{font-weight:750;color:var(--p)}.ty-why{background:var(--ty-paper)}.ty-why>.wrap,.ty-area>.wrap,.ty-feature>.wrap,.ty-contact>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}.ty-benefits{display:grid;grid-template-columns:1fr 1fr;gap:20px}.ty-benefit{display:flex;gap:15px;border-top:1px solid #bdc9cb;padding:22px 0}.ty-benefit small,.ty-step span{color:var(--p);font-weight:800}.ty-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.ty-step{padding:28px;border-top:3px solid var(--p);background:var(--ty-paper)}.ty-area{background:#eaf0f1}.ty-area-photo,.ty-feature-photo{height:440px;overflow:hidden}.ty-questions{display:grid;grid-template-columns:1fr 1fr;gap:15px 35px}.ty-question{border-bottom:1px solid #cbd5d9;padding:18px 0}.ty-question summary{font-weight:750;cursor:pointer}.ty-cta{background:var(--s);color:#fff}.ty-cta>.wrap{display:flex;justify-content:space-between;align-items:center;gap:45px}.ty-cta h2,.ty-cta p,.ty-cta .eyebrow{color:#fff!important}.ty-contact .lead{background:#fff;color:#1c2832}.ty-contact input,.ty-contact textarea,.ty-contact select{background:#fff!important;color:#1c2832!important}.ty-atlas{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:4%}.ty-atlas-copy{padding:50px 0}.ty-atlas-media{height:600px;border-left:15px solid var(--p)}.ty31 .ty-cards{grid-template-columns:repeat(2,1fr)}.ty-beacon{display:grid;grid-template-columns:1fr 1fr;gap:50px}.ty-beacon-media{height:680px;clip-path:polygon(0 0,100% 0,100% 100%,10% 100%)}.ty-beacon-form{padding:22px;background:#fff;box-shadow:0 15px 55px #0002;margin-top:30px}.ty32 .ty-hero{background:#e9f0f7}.ty-cypress{position:relative}.ty-cypress-photo{height:650px;border-radius:32px;overflow:hidden}.ty-cypress-copy{position:relative;width:62%;margin:-220px 0 0 auto;padding:45px;background:#fff;border-radius:20px;box-shadow:0 18px 65px #0002}.ty33 .ty-cards{grid-template-columns:1fr 1fr}.ty-monarch .ty-copy{text-align:center;max-width:950px;margin:0 auto 45px}.ty-monarch .ty-copy p{margin-inline:auto}.ty-monarch .actions{justify-content:center}.ty-monarch h1,.ty34 h2{font-family:Georgia,serif;font-weight:500}.ty-monarch-images{display:grid;grid-template-columns:1.35fr .65fr;gap:20px;align-items:end}.ty-monarch-images>div:first-child{height:510px}.ty-monarch-images>div:last-child{height:340px}.ty-vertex{display:grid;grid-template-columns:1fr 1fr;gap:0;background:#e6ecef}.ty-vertex-media{height:590px;clip-path:polygon(0 0,100% 0,85% 100%,0 100%)}.ty-vertex-copy{padding:65px 50px;align-self:center}.ty-vertex-label{grid-column:1/-1;border-top:2px solid #1c2832;padding:18px;letter-spacing:.15em;font-weight:800}.ty35 .ty-card{display:grid;grid-template-columns:40% 60%}.ty35 .ty-card-photo{height:100%}.ty-harbor{display:grid;grid-template-columns:1fr 1fr 60px;gap:30px;align-items:center}.ty-harbor-media{height:570px}.ty-harbor-side{writing-mode:vertical-rl;font-weight:850;letter-spacing:.15em}.ty36 .ty-cards{grid-template-columns:1fr}.ty36 .ty-card{display:grid;grid-template-columns:35% 65%}.ty36 .ty-card-photo{height:100%}.ty-orbit{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.ty-orbit-ring{width:min(100%,560px);aspect-ratio:1;border-radius:50%;overflow:hidden;border:20px solid #e8f2ed;box-shadow:0 0 0 2px #b4c8be}.ty37 .ty-why{background:#e8f2ed}.ty-foundry{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.ty38 .ty-hero,.ty38 .ty-services,.ty38 .ty-process{background:#16202b;color:#fff}.ty38 .ty-hero p,.ty38 .ty-services p,.ty38 .ty-process p{color:#e3e7ea}.ty-foundry-photo{height:610px;clip-path:polygon(12% 0,100% 0,100% 88%,88% 100%,0 100%,0 12%)}.ty38 .ty-card{background:#283848;color:#fff;border-color:#485c6a}.ty38 .ty-step{background:#283848}.ty-evergreen>.ty-copy{text-align:center;max-width:860px;margin:0 auto 50px}.ty-evergreen>.ty-copy p{margin-inline:auto}.ty-evergreen .actions{justify-content:center}.ty-evergreen-photo{height:450px;overflow:hidden}.ty39 h1,.ty39 h2{font-family:Georgia,serif;font-weight:500}.ty39 .ty-cards{grid-template-columns:1fr 1fr}.ty39 .ty-card{display:grid;grid-template-columns:45% 55%;border:0;border-bottom:1px solid #dce2e4}.ty39 .ty-card-photo{height:100%}.ty-northstar{display:grid;grid-template-columns:160px 1fr 1fr;gap:35px;align-items:center}.ty-northstar-index{align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;border-right:2px solid #b7c5ca;padding:20px 15px 20px 0;font-size:11px}.ty-northstar-photo{height:600px}.ty40 .ty-cards{grid-template-columns:repeat(2,1fr)}.ty40 .ty-card{border-top:3px solid var(--p)}
@media(max-width:900px){.ty-atlas,.ty-beacon,.ty-vertex,.ty-harbor,.ty-orbit,.ty-foundry,.ty-northstar,.ty-why>.wrap,.ty-area>.wrap,.ty-feature>.wrap,.ty-contact>.wrap{grid-template-columns:1fr}.ty-northstar-index{display:none}.ty-harbor-side{writing-mode:horizontal-tb}.ty-cards,.ty31 .ty-cards,.ty33 .ty-cards,.ty39 .ty-cards,.ty40 .ty-cards{grid-template-columns:1fr 1fr}.ty-cypress-copy{width:90%;margin:-90px auto 0}.ty-benefits,.ty-questions{grid-template-columns:1fr}.ty-cta>.wrap{display:block}.ty-atlas-media,.ty-beacon-media,.ty-harbor-media,.ty-northstar-photo,.ty-foundry-photo{height:380px}}
@media(max-width:620px){.ty-cards,.ty31 .ty-cards,.ty33 .ty-cards,.ty39 .ty-cards,.ty40 .ty-cards,.ty-steps{grid-template-columns:1fr}.ty35 .ty-card,.ty36 .ty-card,.ty39 .ty-card{display:block}.ty35 .ty-card-photo,.ty36 .ty-card-photo,.ty39 .ty-card-photo{height:230px}.ty-monarch-images{grid-template-columns:1fr}.ty-monarch-images>div:last-child{display:none}.ty-cypress-photo{height:370px}.ty-cypress-copy{width:100%;margin:0;padding:22px}.ty-vertex-copy{padding:25px}.ty-orbit-ring{max-width:340px;margin:auto}.ty-hero{overflow:hidden}}

/* Phase 4.7J-01: exclusively scoped to 31–40; preserve all previous template families. */
.tic.ty{width:100%;max-width:100%;min-width:0;overflow-x:clip;box-sizing:border-box;--ty-text:#243341;--ty-sub:#435567}
.tic.ty,.tic.ty *,.tic.ty *::before,.tic.ty *::after{box-sizing:border-box}
.tic.ty>section{width:100%;min-width:0;padding-block:clamp(38px,4.6vw,68px)}
.tic.ty>section.ty-hero{padding-block:clamp(30px,4vw,56px)}
.tic.ty>section>.wrap{width:calc(100% - clamp(32px,6vw,112px));max-width:1440px;margin-inline:auto;min-width:0}
.tic.ty .wrap>*,.tic.ty .ty-copy,.tic.ty .ty-cards,.tic.ty .ty-card,.tic.ty .ty-card-body,.tic.ty .ty-benefits,.tic.ty .ty-steps,.tic.ty .ty-questions{min-width:0;max-width:100%}
.tic.ty h1{font-size:clamp(34px,4.2vw,64px);line-height:1.1;overflow-wrap:break-word}
.tic.ty h2{font-size:clamp(27px,3vw,43px);line-height:1.17;overflow-wrap:break-word}
.tic.ty h3{font-size:clamp(18px,1.65vw,23px);line-height:1.3;overflow-wrap:break-word}
.tic.ty p{font-size:clamp(15px,1.1vw,17px);line-height:1.65}
.tic.ty .ty-title{margin-bottom:clamp(18px,2vw,30px)}
.tic.ty .ty-cards{gap:clamp(14px,1.7vw,24px)}
.tic.ty .ty-card-body{padding:clamp(18px,1.8vw,26px)}
.tic.ty .ty-benefits,.tic.ty .ty-steps{gap:clamp(12px,1.5vw,22px)}
.tic.ty .ty-benefit small,.tic.ty .ty-step>span,.tic.ty .ty-card-body>small{display:none}
.tic.ty .ty-benefit{gap:0;padding-block:16px}
.tic.ty .ty-card-photo,.tic.ty .ty-area-photo,.tic.ty .ty-feature-photo{position:relative;overflow:hidden;min-height:0}
.tic.ty .ty-card-photo{height:auto;aspect-ratio:16/10;background:#edf1f2}
.tic.ty .ty-card-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center}
.tic.ty .ty-area-photo,.tic.ty .ty-feature-photo{height:auto;aspect-ratio:16/10;max-height:400px;background:#edf1f2}
.tic.ty .ty-area-photo img,.tic.ty .ty-feature-photo img{width:100%;height:100%;object-fit:contain;object-position:center}
.tic.ty .ty-hero .ty-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.tic.ty .ty-why>.wrap,.tic.ty .ty-area>.wrap,.tic.ty .ty-feature>.wrap,.tic.ty .ty-contact>.wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center}
.tic.ty .ty-questions{gap:0 clamp(14px,2vw,30px)}
.tic.ty .ty-cta{background:#173343;color:#fff}
.tic.ty .ty-cta h2,.tic.ty .ty-cta p,.tic.ty .ty-cta .eyebrow{color:#fff!important}
.tic.ty .ty-cta>.wrap{gap:24px}
.tic.ty .ty-atlas,.tic.ty .ty-beacon,.tic.ty .ty-harbor,.tic.ty .ty-orbit,.tic.ty .ty-foundry,.tic.ty .ty-northstar{min-width:0}
.tic.ty31 .ty-atlas-media{height:clamp(330px,38vw,500px)}
.tic.ty31 .ty-atlas-copy{padding-block:16px}
.tic.ty32 .ty-beacon-media{height:clamp(380px,44vw,570px)}
.tic.ty32 .ty-beacon{gap:clamp(20px,3vw,44px)}
.tic.ty32 .ty-beacon-form{margin-top:20px}
.tic.ty33 .ty-cypress-photo{height:clamp(340px,41vw,500px)}
.tic.ty33 .ty-cypress-copy{margin-top:-125px;padding:clamp(22px,3vw,42px)}
.tic.ty34 .ty-monarch .ty-copy{margin-bottom:28px}
.tic.ty34 .ty-monarch-images>div:first-child{height:clamp(310px,34vw,450px)}
.tic.ty34 .ty-monarch-images>div:last-child{height:clamp(220px,25vw,320px)}
.tic.ty35 .ty-vertex-media{height:clamp(350px,40vw,510px)}
.tic.ty35 .ty-vertex-copy{padding:clamp(22px,3vw,48px)}
.tic.ty36 .ty-harbor-media{height:clamp(330px,38vw,480px)}
.tic.ty37 .ty-orbit-ring{max-width:460px;border-width:14px}
.tic.ty38 .ty-foundry-photo{height:clamp(350px,40vw,520px)}
.tic.ty38 .ty-hero h1,.tic.ty38 .ty-hero h2,.tic.ty38 .ty-services h2,.tic.ty38 .ty-process h2,.tic.ty38 .ty-services .eyebrow,.tic.ty38 .ty-process .eyebrow{color:#fff!important}
.tic.ty38 .ty-services .ty-card,.tic.ty38 .ty-services .ty-card-body,.tic.ty38 .ty-process .ty-step{background:#283848;color:#f8fbff}
.tic.ty38 .ty-services .ty-card h3,.tic.ty38 .ty-services .ty-card p,.tic.ty38 .ty-process .ty-step h3,.tic.ty38 .ty-process .ty-step p{color:#f8fbff!important;-webkit-text-fill-color:#f8fbff}
.tic.ty38 .ty-card a{color:#7ff5e1!important}
.tic.ty39 .ty-evergreen>.ty-copy{margin-bottom:26px}
.tic.ty39 .ty-evergreen-photo{height:clamp(310px,34vw,420px)}
.tic.ty40 .ty-northstar{grid-template-columns:minmax(105px,12%) minmax(0,1fr) minmax(0,1fr);gap:clamp(18px,2.4vw,34px)}
.tic.ty40 .ty-northstar-photo{height:clamp(330px,38vw,490px)}
.tic.ty35 .ty-card,.tic.ty36 .ty-card,.tic.ty39 .ty-card{grid-template-columns:minmax(0,40%) minmax(0,60%)}
.tic.ty35 .ty-card-photo,.tic.ty36 .ty-card-photo,.tic.ty39 .ty-card-photo{height:100%;aspect-ratio:auto;min-height:185px}
.tic.ty .ty-map iframe{max-width:100%;width:100%}
@media(max-width:1024px){
 .tic.ty .ty-cards,.tic.ty31 .ty-cards,.tic.ty33 .ty-cards,.tic.ty39 .ty-cards,.tic.ty40 .ty-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .tic.ty36 .ty-cards{grid-template-columns:1fr}
 .tic.ty .ty-atlas,.tic.ty .ty-beacon,.tic.ty .ty-harbor,.tic.ty .ty-orbit,.tic.ty .ty-foundry,.tic.ty .ty-northstar,.tic.ty .ty-vertex{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .tic.ty40 .ty-northstar-index{display:none}
 .tic.ty .ty-why>.wrap,.tic.ty .ty-area>.wrap,.tic.ty .ty-feature>.wrap,.tic.ty .ty-contact>.wrap{gap:26px}
}
@media(max-width:767px){
 .tic.ty>section>.wrap{width:calc(100% - 36px)}
 .tic.ty .ty-atlas,.tic.ty .ty-beacon,.tic.ty .ty-harbor,.tic.ty .ty-orbit,.tic.ty .ty-foundry,.tic.ty .ty-northstar,.tic.ty .ty-vertex,.tic.ty .ty-why>.wrap,.tic.ty .ty-area>.wrap,.tic.ty .ty-feature>.wrap,.tic.ty .ty-contact>.wrap{grid-template-columns:minmax(0,1fr)}
 .tic.ty .ty-cards,.tic.ty31 .ty-cards,.tic.ty33 .ty-cards,.tic.ty39 .ty-cards,.tic.ty40 .ty-cards,.tic.ty .ty-benefits,.tic.ty .ty-steps,.tic.ty .ty-questions{grid-template-columns:minmax(0,1fr)}
 .tic.ty35 .ty-card,.tic.ty36 .ty-card,.tic.ty39 .ty-card{display:flex;flex-direction:column}
 .tic.ty35 .ty-card-photo,.tic.ty36 .ty-card-photo,.tic.ty39 .ty-card-photo{height:auto;aspect-ratio:16/10;min-height:0}
 .tic.ty .ty-hero .ty-atlas-media,.tic.ty .ty-hero .ty-beacon-media,.tic.ty .ty-hero .ty-harbor-media,.tic.ty .ty-hero .ty-foundry-photo,.tic.ty .ty-hero .ty-northstar-photo,.tic.ty .ty-hero .ty-vertex-media{height:auto;aspect-ratio:16/10;min-height:0}
 .tic.ty33 .ty-cypress-copy{width:100%;margin:0;padding:22px;box-shadow:none}
 .tic.ty34 .ty-monarch-images{grid-template-columns:1fr}
 .tic.ty34 .ty-monarch-images>div:last-child{display:none}
 .tic.ty .ty-cta>.wrap{display:flex;flex-direction:column;align-items:stretch;gap:18px}
 .tic.ty .actions{display:flex;flex-wrap:wrap;max-width:100%}
 .tic.ty36 .ty-harbor-side{writing-mode:horizontal-tb}
 .tic.ty37 .ty-orbit-ring{width:min(100%,340px)}
 .tic.ty40 .ty-northstar-photo{height:auto;aspect-ratio:16/10}
}
@media(max-width:420px){.tic.ty>section>.wrap{width:calc(100% - 28px)}.tic.ty h1{font-size:clamp(30px,9vw,40px)}.tic.ty .ty-card-body{padding:18px}}

/* Phase 4.7J-02: screenshot-led refinements, scoped strictly to Templates 31–40. */
.tic.ty .ty-card-photo{background:#e8eff0}
.tic.ty .ty-card-photo img{object-fit:cover;object-position:center}
.tic.ty .ty-card-body{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.tic.ty .ty-card-body h3,.tic.ty .ty-card-body p{margin:0}
.tic.ty .ty-card-body a{margin-top:auto}
.tic.ty .ty-cards{align-items:stretch}
.tic.ty .ty-benefits{align-items:start}
.tic.ty .ty-area-photo img,.tic.ty .ty-feature-photo img{object-fit:cover}
.tic.ty .ty-area-photo,.tic.ty .ty-feature-photo{border-radius:4px}
.tic.ty .ty-contact>.wrap{align-items:start}
.tic.ty .ty-contact>.wrap>div:last-child{min-width:0}
.tic.ty .ty-hero .ty-copy h1{max-width:19ch}
.tic.ty .ty-map{padding-top:12px}
/* Keystone: equalized hero and calmer two-column cards */
.tic.ty31 .ty-atlas{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.tic.ty31 .ty-atlas-media{height:clamp(310px,34vw,460px)}
.tic.ty31 .ty-card-photo{aspect-ratio:16/9}
/* Signal: avoid towering lead form and oversized hero media */
.tic.ty32 .ty-beacon{align-items:center}
.tic.ty32 .ty-beacon-media{height:clamp(300px,34vw,470px);clip-path:polygon(0 0,100% 0,100% 100%,4% 100%)}
.tic.ty32 .ty-beacon-form{padding:18px;box-shadow:0 10px 30px #00000014}
/* Cypress: dark surfaces need restrained padding and clear contrast */
.tic.ty33 .ty-cypress-photo{height:clamp(310px,36vw,455px)}
.tic.ty33 .ty-cypress-copy{margin-top:-95px}
.tic.ty33 .ty-card-photo{aspect-ratio:16/9}
/* Vellum: preserve editorial split, avoid excessive tall image crops */
.tic.ty34 .ty-monarch-images{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
.tic.ty34 .ty-monarch-images>div:first-child{height:clamp(260px,30vw,400px)}
.tic.ty34 .ty-monarch-images>div:last-child{height:clamp(210px,23vw,300px)}
/* Prism: two-column horizontal cards need enough text width */
.tic.ty35 .ty-card{grid-template-columns:minmax(0,38%) minmax(0,62%)}
.tic.ty35 .ty-card-photo{min-height:200px}
/* Brookside: horizontal service rows and image proportions */
.tic.ty36 .ty-card{grid-template-columns:minmax(0,34%) minmax(0,66%)}
.tic.ty36 .ty-card-photo{min-height:190px}
/* Orbit: avoid narrow three-column side-by-side cards */
.tic.ty37 .ty-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.tic.ty37 .ty-card{display:grid;grid-template-columns:minmax(0,43%) minmax(0,57%)}
.tic.ty37 .ty-card-photo{height:100%;aspect-ratio:auto;min-height:190px}
.tic.ty37 .ty-orbit-ring{max-width:410px}
/* Ironclad: darker surfaces with legible CTA and balanced cards */
.tic.ty38 .ty-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.tic.ty38 .ty-card-photo{aspect-ratio:16/9}
/* Evergreen: overlay card remains readable and the hero stays contained */
.tic.ty39 .ty-evergreen-photo{height:clamp(280px,32vw,395px)}
.tic.ty39 .ty-card{grid-template-columns:minmax(0,42%) minmax(0,58%)}
/* Compass: sidebar stays compact while hero copy gets breathing room */
.tic.ty40 .ty-northstar{grid-template-columns:minmax(85px,11%) minmax(0,1fr) minmax(0,1fr)}
.tic.ty40 .ty-northstar-photo{height:clamp(300px,33vw,445px)}
@media(max-width:1024px){
 .tic.ty37 .ty-cards,.tic.ty38 .ty-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .tic.ty37 .ty-card{display:block}
 .tic.ty37 .ty-card-photo{height:auto;aspect-ratio:16/10;min-height:0}
}
@media(max-width:767px){
 .tic.ty31 .ty-atlas,.tic.ty40 .ty-northstar{grid-template-columns:minmax(0,1fr)}
 .tic.ty37 .ty-cards,.tic.ty38 .ty-cards{grid-template-columns:minmax(0,1fr)}
 .tic.ty35 .ty-card,.tic.ty36 .ty-card,.tic.ty37 .ty-card,.tic.ty39 .ty-card{display:flex;flex-direction:column}
 .tic.ty35 .ty-card-photo,.tic.ty36 .ty-card-photo,.tic.ty37 .ty-card-photo,.tic.ty39 .ty-card-photo{height:auto;min-height:0;aspect-ratio:16/10}
 .tic.ty33 .ty-cypress-copy{margin-top:0}
 .tic.ty34 .ty-monarch-images{grid-template-columns:1fr}
 .tic.ty .ty-hero .ty-copy h1{max-width:none}
}


/* Phase 4.7J-03: isolated corrections from user screenshots, Templates 35/36/37/39 only. */
/* Preserve natural image crop: no 100%-height stretched image wrappers in horizontal cards. */
.tic.ty35 .ty-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.tic.ty35 .ty-card{display:flex;flex-direction:column;min-width:0;height:100%}
.tic.ty35 .ty-card-photo{height:auto;min-height:0;aspect-ratio:16/9;overflow:hidden}
.tic.ty35 .ty-card-body{flex:1;padding:20px 22px 24px}
.tic.ty35 .ty-card-photo img{width:100%;height:100%;object-fit:cover}
.tic.ty36 .ty-cards{grid-template-columns:1fr;gap:18px}
.tic.ty36 .ty-card{display:grid;grid-template-columns:minmax(220px,36%) minmax(0,1fr);align-items:stretch;min-height:190px}
.tic.ty36 .ty-card-photo{height:100%;min-height:190px;aspect-ratio:auto;overflow:hidden}
.tic.ty36 .ty-card-body{padding:clamp(20px,3vw,32px);align-self:center}
.tic.ty36 .ty-card-photo img{width:100%;height:100%;object-fit:cover}
.tic.ty37 .ty-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.tic.ty37 .ty-card{display:flex;flex-direction:column;height:100%}
.tic.ty37 .ty-card-photo{height:auto;min-height:0;aspect-ratio:16/9;overflow:hidden}
.tic.ty37 .ty-card-body{padding:22px;flex:1}
.tic.ty37 .ty-orbit{gap:clamp(24px,5vw,65px)}
.tic.ty37 .ty-orbit-ring{width:min(100%,390px);max-width:390px;aspect-ratio:1;justify-self:center;overflow:hidden}
.tic.ty37 .ty-orbit-ring img{width:100%;height:100%;object-fit:cover}
.tic.ty39 .ty-evergreen-photo{height:auto;aspect-ratio:16/6;min-height:260px;max-height:420px;overflow:hidden}
.tic.ty39 .ty-evergreen-photo img{width:100%;height:100%;object-fit:cover}
.tic.ty39 .ty-evergreen>.ty-copy{margin-bottom:clamp(20px,3vw,38px)}
.tic.ty39 .ty-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.tic.ty39 .ty-card{display:flex;flex-direction:column;min-width:0;height:100%;border:1px solid #dce2e4}
.tic.ty39 .ty-card-photo{height:auto;min-height:0;aspect-ratio:16/9;overflow:hidden}
.tic.ty39 .ty-card-body{padding:20px 22px;flex:1}
.tic.ty39 .ty-card-photo img{width:100%;height:100%;object-fit:cover}
@media(max-width:900px){
 .tic.ty35 .ty-cards,.tic.ty37 .ty-cards,.tic.ty39 .ty-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .tic.ty36 .ty-card{grid-template-columns:minmax(180px,38%) minmax(0,1fr)}
 .tic.ty37 .ty-orbit-ring{max-width:320px}
}
@media(max-width:620px){
 .tic.ty35 .ty-cards,.tic.ty37 .ty-cards,.tic.ty39 .ty-cards{grid-template-columns:minmax(0,1fr)}
 .tic.ty36 .ty-card{display:flex;flex-direction:column;min-height:0}
 .tic.ty36 .ty-card-photo{height:auto;min-height:0;aspect-ratio:16/9}
 .tic.ty39 .ty-evergreen-photo{min-height:0;aspect-ratio:16/10}
}


/* Phase 4.7J-04: preview images contain typography and must never be clipped.
   Override earlier cover declarations at the END of the stylesheet. */
.tic.ty .ty-hero .ty-photo,
.tic.ty .ty-card-photo img,
.tic.ty .ty-feature-photo img,
.tic.ty .ty-area-photo img{object-fit:contain!important;object-position:center center!important}
.tic.ty .ty-card-photo,.tic.ty .ty-feature-photo,.tic.ty .ty-area-photo{background:#eaf0f1}
/* Full rectangular image visible in Template 39's wide hero; no forced crop. */
.tic.ty39 .ty-evergreen-photo{height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;background:#eaf0f1}
.tic.ty39 .ty-evergreen-photo img{display:block;position:static!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important}
/* Template 37's landscape artwork cannot fit inside a circle without losing content.
   Use a gently rounded 16:9 frame rather than crop the asset or leave a half-empty ring. */
.tic.ty37 .ty-orbit-ring{width:100%!important;max-width:540px!important;aspect-ratio:16/9!important;border-radius:22px!important;border:0!important;box-shadow:0 0 0 1px #b4c8be!important;background:#eaf0f1!important}
.tic.ty37 .ty-orbit-ring img{display:block;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important}
/* Service cards: preserve artwork and prevent overlaid captions from being clipped. */
.tic.ty35 .ty-card-photo img,.tic.ty36 .ty-card-photo img,.tic.ty37 .ty-card-photo img,.tic.ty39 .ty-card-photo img{object-fit:contain!important}
.tic.ty36 .ty-card-photo{height:auto!important;min-height:0!important;aspect-ratio:16/9!important;align-self:center}
.tic.ty36 .ty-card{min-height:0!important;align-items:center}
@media(max-width:700px){.tic.ty37 .ty-orbit-ring{max-width:100%!important}.tic.ty36 .ty-card{display:flex;flex-direction:column}}
.tz{--tz-ink:#172733;--tz-light:#f1f5f5;color:var(--tz-ink)}.tz>section{padding:clamp(54px,6.5vw,90px) 0}.tz h1{font-size:clamp(42px,5.5vw,76px);line-height:1.05;letter-spacing:-.04em}.tz h2{font-size:clamp(30px,3.4vw,48px);line-height:1.14}.tz p{line-height:1.65}.tz .tz-image{width:100%;height:100%;object-fit:cover;display:block}.tz-copy p{max-width:650px}.tz .tz-hero{padding:60px 0}.tz-section-head{margin-bottom:34px;max-width:780px}.tz-services{background:var(--tz-light)}.tz-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.tz-service{min-width:0;background:#fff;border:1px solid #dae3e7;overflow:hidden}.tz-service-photo{height:215px}.tz-service-body{padding:23px}.tz-service-body h3{font-size:22px}.tz-service-body a{font-weight:800;color:var(--p)}.tz-intro>.wrap,.tz-area>.wrap,.tz-contact>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:start}.tz-benefits{display:grid;grid-template-columns:1fr 1fr;gap:18px}.tz-benefit{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:18px 0;border-top:1px solid #cdd8dc}.tz-benefit small,.tz-step span{font-weight:800;color:var(--p)}.tz-step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.tz-step{background:#fff;border-top:3px solid var(--p);padding:24px}.tz-process{background:#f7f9fa}.tz-area{background:#e8eff1}.tz-area-photo{height:420px}.tz-questions{display:grid;grid-template-columns:1fr 1fr;gap:10px 32px}.tz-question{padding:19px 0;border-bottom:1px solid #cad5da}.tz-question summary{font-weight:750;cursor:pointer}.tz-cta{background:var(--s);color:#fff}.tz-cta>.wrap{display:flex;align-items:center;justify-content:space-between;gap:45px}.tz-cta h2,.tz-cta p,.tz-cta .eyebrow{color:#fff!important}.tz-contact .lead{background:#fff;color:#172733}.tz-contact input,.tz-contact select,.tz-contact textarea{background:#fff!important;color:#172733!important}.tz-gallery>.wrap{display:grid;grid-template-columns:1.4fr .6fr;gap:20px}.tz-gallery-main{height:450px}.tz-gallery-side{height:330px;align-self:end}
.tz-panorama{position:relative;min-height:620px;display:flex;align-items:end;color:#fff}.tz-panorama-media{position:absolute;inset:0}.tz-panorama-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#071925eb,#07192550)}.tz-panorama-copy{position:relative;width:100%}.tz41 .tz-hero h1,.tz41 .tz-hero p,.tz41 .tz-hero .eyebrow{color:#fff!important}.tz41 .tz-service{display:grid;grid-template-columns:38% 62%}.tz41 .tz-service-photo{height:100%}.tz41 .tz-service-grid{grid-template-columns:1fr}
.tz-dashboard>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:30px}.tz-dashboard-main{background:var(--p);padding:50px;color:#fff}.tz-dashboard-main h1,.tz-dashboard-main p,.tz-dashboard-main .eyebrow{color:#fff!important}.tz-dashboard-side{display:grid;grid-template-rows:1.5fr 1fr;gap:14px;height:570px;min-height:0}.tz-dashboard-side>div{min-height:0;overflow:hidden}.tz42 .tz-service-grid{grid-template-columns:repeat(2,1fr)}
.tz-noble{text-align:center}.tz-noble .tz-copy{max-width:980px;margin:auto}.tz-noble .tz-copy p{margin-inline:auto}.tz-noble .actions{justify-content:center}.tz-noble h1,.tz43 h2{font-family:Georgia,serif;font-weight:500}.tz-noble-image{height:440px;margin-top:42px}.tz43 .tz-service-grid{grid-template-columns:repeat(2,1fr)}.tz43 .tz-service{border:0;border-bottom:1px solid #cad5da}
.tz-seabrook>.wrap{position:relative;min-height:620px}.tz-seabrook-photo{position:absolute;inset:0 20% 0 0;border-radius:28px;overflow:hidden}.tz-seabrook-card{position:relative;margin:110px 0 0 auto;width:52%;background:#fff;padding:40px;border-radius:20px;box-shadow:0 20px 60px #0002}.tz44 .tz-service{border-radius:18px}.tz44 .tz-services{background:#fffaf2}
.tz-momentum{background:#152b38;color:#fff}.tz-momentum>.wrap{display:grid;grid-template-columns:1fr .8fr;gap:50px}.tz-momentum h1,.tz-momentum p,.tz-momentum .eyebrow{color:#fff!important}.tz-momentum-form{background:#fff;padding:26px;border-radius:14px;color:#172733}.tz-momentum-form p,.tz-momentum-form h2,.tz-momentum-form label{color:#172733!important}.tz-momentum-benefits{margin-top:26px}.tz-momentum-benefits .tz-benefit{border-color:#ffffff45}.tz45 .tz-service-grid{grid-template-columns:repeat(2,1fr)}
.tz-blueprint{background:#e9f0f3}.tz-blueprint>.wrap{display:grid;grid-template-columns:150px 1fr 1fr;gap:30px;align-items:center}.tz-blueprint aside{font-size:12px;line-height:2.6;border-right:2px solid var(--p);height:100%}.tz-blueprint-photo{height:530px}.tz46 .tz-step{background:#e5eef2;border:1px solid #9aafbb}.tz46 .tz-service{border-left:5px solid var(--p)}
.tz-aurora>.wrap{position:relative;min-height:620px}.tz-aurora-photo{position:absolute;inset:0 0 0 24%;border-radius:28px;overflow:hidden}.tz-aurora-panel{position:relative;width:54%;top:75px;background:#fff;padding:45px;border-radius:18px;box-shadow:0 20px 70px #0002}.tz47 .tz-intro{background:#eff4f8}.tz47 .tz-service{border-radius:15px}
.tz-redwood>.wrap{display:grid;grid-template-columns:65px 1fr 1fr;gap:26px;align-items:center}.tz-redwood-rail{writing-mode:vertical-rl;display:flex;gap:25px;align-items:center;font-size:11px;font-weight:800;letter-spacing:.15em}.tz-redwood-photo{height:610px}.tz48 .tz-intro{background:#f4f0e9}.tz48 .tz-service-grid{grid-template-columns:repeat(2,1fr)}
.tz-mosaic>.wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:45px;align-items:center}.tz-mosaic-images{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:270px 230px;gap:12px}.tz-mosaic-images>div:first-child{grid-row:span 2}.tz-mosaic-images>div{overflow:hidden}.tz49 .tz-service-grid{grid-template-columns:repeat(2,1fr)}.tz49 .tz-service:nth-child(3n+1){grid-column:span 2;display:grid;grid-template-columns:1fr 1fr}.tz49 .tz-service:nth-child(3n+1) .tz-service-photo{height:100%}
.tz-waypoint{text-align:center;background:#f2f6f4}.tz-waypoint .tz-copy{max-width:900px;margin:auto}.tz-waypoint .tz-copy p{margin-inline:auto}.tz-waypoint .actions{justify-content:center}.tz-waypoint-photo{height:440px;margin-top:40px}.tz50 .tz-process{background:#e9f0e9}.tz50 .tz-step{border-radius:16px;border-top:0;border-left:5px solid var(--p)}.tz50 .tz-service-grid{grid-template-columns:repeat(2,1fr)}
@media(max-width:900px){.tz-intro>.wrap,.tz-area>.wrap,.tz-contact>.wrap,.tz-dashboard>.wrap,.tz-momentum>.wrap,.tz-blueprint>.wrap,.tz-redwood>.wrap,.tz-mosaic>.wrap{grid-template-columns:1fr}.tz-blueprint aside,.tz-redwood-rail{display:none}.tz-service-grid,.tz42 .tz-service-grid,.tz43 .tz-service-grid,.tz45 .tz-service-grid,.tz48 .tz-service-grid,.tz49 .tz-service-grid,.tz50 .tz-service-grid{grid-template-columns:1fr 1fr}.tz-benefits,.tz-questions{grid-template-columns:1fr}.tz-cta>.wrap{display:block}.tz-seabrook-photo,.tz-aurora-photo{position:relative;inset:auto;height:380px}.tz-seabrook-card,.tz-aurora-panel{margin:-55px auto 0;width:90%;top:auto}.tz-seabrook>.wrap,.tz-aurora>.wrap{min-height:auto}.tz-panorama{min-height:500px}.tz-gallery-main{height:330px}.tz-gallery-side{height:260px}}
@media(max-width:620px){.tz-service-grid,.tz42 .tz-service-grid,.tz43 .tz-service-grid,.tz45 .tz-service-grid,.tz48 .tz-service-grid,.tz49 .tz-service-grid,.tz50 .tz-service-grid,.tz-step-grid,.tz-gallery>.wrap{grid-template-columns:1fr}.tz41 .tz-service,.tz49 .tz-service:nth-child(3n+1){display:block;grid-column:auto}.tz41 .tz-service-photo,.tz49 .tz-service:nth-child(3n+1) .tz-service-photo{height:220px}.tz-mosaic-images{grid-template-rows:180px 150px}.tz-noble-image,.tz-waypoint-photo{height:290px}.tz-dashboard-side{height:340px}.tz-redwood-photo,.tz-blueprint-photo{height:330px}.tz-seabrook-card,.tz-aurora-panel{width:100%;padding:24px;margin:0}.tz-gallery-side{display:none}.tz-momentum-form{padding:16px}}

/* Phase 4.7K-01: image visibility, responsive balance and phone-first flow. */
.tz,.tz *{box-sizing:border-box}
.tz .wrap{width:min(100% - 40px,1220px);margin-inline:auto}
.tz .tz-image{display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:#e9f1f2}
.tz :is(.tz-panorama-media,.tz-service-photo,.tz-gallery-main,.tz-gallery-side,.tz-area-photo,.tz-noble-image,.tz-waypoint-photo,.tz-redwood-photo,.tz-blueprint-photo,.tz-seabrook-photo,.tz-aurora-photo,.tz-dashboard-side>div,.tz-mosaic-images>div){overflow:hidden;background:#e9f1f2}
.tz :is(.tz-service-photo,.tz-gallery-main,.tz-gallery-side,.tz-area-photo,.tz-noble-image,.tz-waypoint-photo,.tz-redwood-photo,.tz-blueprint-photo,.tz-seabrook-photo,.tz-aurora-photo,.tz-dashboard-side>div,.tz-mosaic-images>div) img{object-fit:contain!important;object-position:center!important}
.tz .tz-service-photo{height:auto;min-height:195px;aspect-ratio:16/10}
.tz .tz-service{display:flex;flex-direction:column;min-width:0}
.tz .tz-service-body{flex:1;display:flex;flex-direction:column;gap:10px;padding:clamp(18px,2vw,25px)}
.tz .tz-service-body h3{font-size:clamp(19px,1.8vw,24px);line-height:1.2;margin:0;overflow-wrap:anywhere}
.tz .tz-service-body p{margin:0;overflow-wrap:anywhere}
.tz .tz-service-body a{margin-top:auto;align-self:flex-start}
.tz .tz-benefit{grid-template-columns:minmax(0,1fr)}
.tz .tz-step{min-width:0}
.tz .tz-hero h1{font-size:clamp(34px,4.5vw,64px);overflow-wrap:break-word}
.tz .tz-copy{min-width:0}
.tz .tz-panorama-media img{object-fit:cover!important}
.tz .tz-panorama-copy{padding-block:clamp(45px,7vw,95px)}
.tz .tz-panorama{min-height:520px}
.tz .tz-panorama-media{background:#12333e}
.tz .tz-panorama-media:after{background:linear-gradient(90deg,#071925ed,#071925a6 50%,#07192555)}
.tz41 .tz-service{display:grid;grid-template-columns:minmax(220px,38%) minmax(0,1fr)}
.tz41 .tz-service-photo{height:100%;min-height:230px;aspect-ratio:auto}
.tz49 .tz-service:nth-child(3n+1){grid-template-columns:minmax(220px,1fr) minmax(0,1fr)}
.tz49 .tz-service:nth-child(3n+1) .tz-service-photo{height:100%;aspect-ratio:auto}
.tz .tz-area-photo{height:auto;aspect-ratio:16/10;min-height:260px}
.tz .tz-gallery-main{height:auto;aspect-ratio:16/10}
.tz .tz-gallery-side{height:auto;aspect-ratio:4/3}
.tz .tz-noble-image,.tz .tz-waypoint-photo{height:auto;aspect-ratio:16/8;max-height:490px}
.tz .tz-dashboard-side{min-width:0}
.tz .tz-dashboard-side>div{min-height:0}
.tz .tz-momentum-form{align-self:center;border-radius:14px;box-shadow:0 16px 36px #07192524}
.tz .tz-momentum-form h2{font-size:clamp(24px,2.6vw,36px);line-height:1.18;color:#172733!important}
.tz .tz-momentum-form p{color:#172733!important}
.tz .tz-momentum-form .actions{margin-top:24px}
.tz .tz-cta .actions{flex-shrink:0}
.tz .tz-contact .actions{margin-top:18px}
@media(max-width:900px){
 .tz .tz-hero{padding:40px 0}
 .tz .tz-dashboard>.wrap,.tz .tz-momentum>.wrap,.tz .tz-blueprint>.wrap,.tz .tz-redwood>.wrap,.tz .tz-mosaic>.wrap{display:grid;grid-template-columns:minmax(0,1fr)}
 .tz .tz-seabrook>.wrap,.tz .tz-aurora>.wrap{min-height:0}
 .tz .tz-seabrook-photo,.tz .tz-aurora-photo{position:relative;inset:auto;height:auto;aspect-ratio:16/10}
 .tz .tz-seabrook-card,.tz .tz-aurora-panel{position:relative;top:auto;margin:-30px auto 0;width:min(94%,720px)}
 .tz .tz-panorama{min-height:440px}
}
@media(max-width:620px){
 .tz .wrap{width:calc(100% - 28px)}
 .tz>section{padding:44px 0}
 .tz .tz-service-grid,.tz42 .tz-service-grid,.tz43 .tz-service-grid,.tz45 .tz-service-grid,.tz48 .tz-service-grid,.tz49 .tz-service-grid,.tz50 .tz-service-grid{grid-template-columns:minmax(0,1fr)}
 .tz41 .tz-service,.tz49 .tz-service:nth-child(3n+1){display:flex;flex-direction:column;grid-column:auto}
 .tz41 .tz-service-photo,.tz49 .tz-service:nth-child(3n+1) .tz-service-photo{height:auto;aspect-ratio:16/10;min-height:0}
 .tz .tz-step-grid,.tz .tz-benefits,.tz .tz-questions{grid-template-columns:minmax(0,1fr)}
 .tz .tz-noble-image,.tz .tz-waypoint-photo{height:auto;aspect-ratio:16/10}
 .tz .tz-gallery>.wrap{display:block}
 .tz .tz-gallery-side{display:none}
 .tz .tz-cta>.wrap{display:block}
 .tz .tz-cta .actions{margin-top:22px}
 .tz .tz-panorama{min-height:410px}
 .tz .tz-panorama-copy{padding-block:36px}
 .tz .tz-seabrook-card,.tz .tz-aurora-panel{width:100%;margin:0;padding:24px}
}


/* Phase 4.7K-02: screenshot-led, template-specific layout corrections. */
.tz{overflow-x:clip}
.tz .tz-hero{overflow:hidden}
.tz .tz-service-grid{align-items:stretch}
.tz .tz-service-photo{position:relative;min-height:0;aspect-ratio:16/9;height:auto}
.tz .tz-service-photo .tz-image{width:100%;height:100%;object-fit:contain!important}
.tz .tz-service-body{min-height:0}
.tz .tz-service-body p{line-height:1.5}
.tz .tz-service-grid:has(> :last-child:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}
.tz .tz-gallery>.wrap{align-items:center}
.tz .tz-gallery-side{align-self:center}
.tz .tz-gallery-main,.tz .tz-gallery-side{max-height:none}
.tz .tz-contact>.wrap{align-items:center}
.tz .tz-contact{padding-bottom:32px}
.tz .tz-map{padding-top:20px}
.tz .tz-step-grid{align-items:stretch}
/* 41: centered hero photograph with no excessive blank canvas. */
.tz41 .tz-panorama{min-height:0;display:block;background:#f0f5f3;color:var(--tz-ink)}
.tz41 .tz-panorama-media{position:relative;inset:auto;width:min(100% - 40px,1050px);height:auto;aspect-ratio:16/9;margin:28px auto 0}
.tz41 .tz-panorama-media:after{display:none}
.tz41 .tz-panorama-media img{object-fit:contain!important}
.tz41 .tz-panorama-copy{padding-block:30px 10px;text-align:center}
.tz41 .tz-hero h1,.tz41 .tz-hero p,.tz41 .tz-hero .eyebrow{color:var(--tz-ink)!important}
.tz41 .tz-hero .actions{justify-content:center}
.tz41 .tz-panorama{display:flex;flex-direction:column-reverse;gap:8px}
.tz41 .tz-service-photo{height:auto;aspect-ratio:16/10}
/* 42: avoid masonry-like empty second row; use a balanced two-image column. */
.tz42 .tz-dashboard>.wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}
.tz42 .tz-dashboard-side{grid-template-rows:repeat(2,minmax(0,1fr));height:auto;min-height:360px}
.tz42 .tz-dashboard-side>div{aspect-ratio:16/9;min-height:0}
.tz42 .tz-dashboard-main{display:flex;align-items:center;min-width:0}
/* 43: prevent floating half-empty gallery and keep images proportional. */
.tz43 .tz-noble-image{aspect-ratio:16/9;height:auto;max-height:none;width:min(100%,1050px);margin-inline:auto}
.tz43 .tz-gallery>.wrap{grid-template-columns:minmax(0,1fr) minmax(0,0.5fr)}
.tz43 .tz-gallery-main,.tz43 .tz-gallery-side{height:auto;aspect-ratio:16/10}
/* 44: content must not obscure important image areas. */
.tz44 .tz-seabrook>.wrap{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:20px;min-height:0}
.tz44 .tz-seabrook-photo{position:relative;inset:auto;height:auto;aspect-ratio:16/10;border-radius:18px}
.tz44 .tz-seabrook-card{position:relative;inset:auto;width:auto;margin:0;padding:clamp(22px,3vw,42px);box-shadow:0 10px 32px #0001}
/* 45: keep benefit copy readable even if global template heading colors override inherited color. */
.tz.tz45 .tz-momentum .tz-momentum-benefits .tz-benefit h3{color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important}
.tz.tz45 .tz-momentum .tz-momentum-benefits .tz-benefit p{color:#e9f3f6!important;-webkit-text-fill-color:#e9f3f6!important;opacity:1!important}
/* 45: benefit copy must be readable on dark hero. */
.tz45 .tz-momentum-benefits .tz-benefit h3,.tz45 .tz-momentum-benefits .tz-benefit p{color:#fff!important;opacity:1!important}
.tz45 .tz-momentum-benefits .tz-benefit{border-color:#ffffff65}
.tz45 .tz-momentum-form{align-self:stretch;display:flex;flex-direction:column;justify-content:center}
/* 46: make four cards a balanced two-by-two grid. */
.tz46 .tz-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.tz46 .tz-service{border-left:3px solid var(--p)}
/* 47: remove collision between overlapping panel and image. */
.tz47 .tz-aurora>.wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:20px;min-height:0;align-items:center}
.tz47 .tz-aurora-photo{position:relative;inset:auto;height:auto;aspect-ratio:16/10}
.tz47 .tz-aurora-panel{position:relative;inset:auto;width:auto;top:auto;margin:0;padding:clamp(24px,3vw,42px);box-shadow:0 10px 30px #0001}
/* 48: prevent unusually tall single hero image. */
.tz48 .tz-redwood-photo{height:auto;aspect-ratio:4/3;min-height:0}
/* 49: use equal-size photo tiles rather than tall awkward first cell. */
.tz49 .tz-mosaic-images{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));aspect-ratio:1.2;gap:12px}
.tz49 .tz-mosaic-images>div:first-child{grid-row:span 2}
.tz49 .tz-mosaic-images>div{min-height:0}
.tz49 .tz-mosaic-copy{min-width:0}
/* 50: keep full hero image and its embedded captions visible. */
.tz50 .tz-waypoint-photo{height:auto;aspect-ratio:16/9;max-height:none;width:min(100%,1050px);margin:34px auto 0}
.tz50 .tz-waypoint-photo img{object-fit:contain!important}
@media(max-width:900px){
 .tz42 .tz-dashboard>.wrap,.tz44 .tz-seabrook>.wrap,.tz47 .tz-aurora>.wrap{grid-template-columns:minmax(0,1fr)}
 .tz42 .tz-dashboard-side{min-height:0;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;height:auto}
 .tz44 .tz-seabrook-card,.tz47 .tz-aurora-panel{width:100%;margin:0}
 .tz46 .tz-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
 .tz41 .tz-panorama-media{width:calc(100% - 28px)}
 .tz42 .tz-dashboard-side{grid-template-columns:1fr}
 .tz46 .tz-service-grid{grid-template-columns:1fr}
 .tz49 .tz-mosaic-images{aspect-ratio:auto;grid-template-rows:180px 180px}
 .tz .tz-service-grid:has(> :last-child:nth-child(4)){grid-template-columns:1fr}
 .tz43 .tz-gallery>.wrap{display:block}
 .tz44 .tz-seabrook-photo,.tz47 .tz-aurora-photo{aspect-ratio:16/10}
}


/* Phase 4.7K-03: width and whitespace audit — scoped to template family 41–50 only. */
.tz{width:100%;max-width:none;min-width:0}
.tz>section{width:100%;max-width:none;padding-block:clamp(30px,3.2vw,58px)}
.tz .wrap,.tz section>.wrap{width:calc(100% - clamp(32px,5vw,112px))!important;max-width:1680px!important;margin-inline:auto!important;box-sizing:border-box}
.tz .tz-hero{padding-block:clamp(24px,3vw,48px)}
.tz .tz-section-head{margin-bottom:clamp(16px,2vw,26px)}
.tz .tz-service-grid{gap:clamp(12px,1.35vw,22px)}
.tz .tz-service-body{padding:clamp(15px,1.6vw,23px)}
.tz .tz-service-body p{margin-block:0}
.tz .tz-step-grid{gap:clamp(12px,1.4vw,20px)}
.tz .tz-step{padding:clamp(16px,1.6vw,24px)}
.tz .tz-intro>.wrap,.tz .tz-area>.wrap,.tz .tz-contact>.wrap{gap:clamp(24px,4vw,70px);align-items:center}
.tz .tz-gallery>.wrap{gap:clamp(12px,1.6vw,24px)}
.tz .tz-gallery-main,.tz .tz-gallery-side{height:auto;aspect-ratio:16/10;min-height:0}
.tz .tz-gallery-side{align-self:center}
.tz .tz-area-photo{height:auto;aspect-ratio:16/10;min-height:0}
.tz .tz-questions{gap:0 clamp(18px,3vw,42px)}
.tz .tz-question{padding:clamp(12px,1.2vw,18px) 0}
.tz .tz-cta>.wrap{gap:clamp(20px,3vw,48px)}
.tz .tz-cta .actions{margin-top:0}
.tz .tz-contact{padding-bottom:clamp(24px,3vw,48px)}
.tz .tz-contact>.wrap{align-items:start}
/* Remove hard caps that left hero images much narrower than the content column. */
.tz41 .tz-panorama-media{width:calc(100% - clamp(32px,5vw,112px));max-width:1680px;aspect-ratio:16/8.5}
.tz43 .tz-noble-image,.tz50 .tz-waypoint-photo{width:100%;max-width:none;aspect-ratio:16/8.5}
.tz41 .tz-panorama-copy{padding-block:clamp(12px,2vw,28px)}
.tz42 .tz-dashboard>.wrap{gap:clamp(14px,2vw,32px)}
.tz42 .tz-dashboard-main{padding:clamp(24px,3.2vw,55px)}
.tz42 .tz-dashboard-side{min-height:0}
.tz44 .tz-seabrook>.wrap,.tz47 .tz-aurora>.wrap{gap:clamp(18px,2vw,32px)}
.tz46 .tz-blueprint>.wrap{grid-template-columns:clamp(95px,10vw,155px) minmax(0,1fr) minmax(0,1.1fr);gap:clamp(16px,2vw,32px)}
.tz48 .tz-redwood>.wrap{grid-template-columns:clamp(32px,4vw,65px) minmax(0,1fr) minmax(0,1.1fr)}
.tz49 .tz-mosaic>.wrap{gap:clamp(20px,3vw,50px)}
/* A four-service site should use two balanced columns instead of a three-plus-one row. */
.tz .tz-service-grid:has(> :last-child:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){
 .tz .wrap,.tz section>.wrap{width:calc(100% - 36px)!important}
 .tz41 .tz-panorama-media{width:calc(100% - 36px);aspect-ratio:16/10}
 .tz46 .tz-blueprint>.wrap,.tz48 .tz-redwood>.wrap{grid-template-columns:minmax(0,1fr)}
 .tz .tz-gallery-main,.tz .tz-gallery-side{aspect-ratio:16/10}
}
@media(max-width:620px){
 .tz>section{padding-block:32px}
 .tz .wrap,.tz section>.wrap{width:calc(100% - 28px)!important}
 .tz41 .tz-panorama-media{width:calc(100% - 28px)}
 .tz .tz-service-grid:has(> :last-child:nth-child(4)){grid-template-columns:minmax(0,1fr)}
 .tz43 .tz-noble-image,.tz50 .tz-waypoint-photo{aspect-ratio:16/10}
 .tz .tz-gallery-side{display:none}
}

/* Phase 4.7K-05: Template 45 specialist image panel only. */
.tz.tz45 .tz-momentum-form{position:relative;isolation:isolate;overflow:hidden;min-height:clamp(360px,35vw,580px);padding:clamp(28px,3.5vw,58px);background:#123c43;color:#fff}
.tz.tz45 .tz-momentum-form-photo{position:absolute;inset:0;z-index:-2;background:linear-gradient(135deg,#164954,#0c2d39)}
.tz.tz45 .tz-momentum-form-photo .tz-image{display:block;width:100%;height:100%;object-fit:cover!important;object-position:center!important;background:transparent}
.tz.tz45 .tz-momentum-form::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,29,39,.92),rgba(7,29,39,.62))}
.tz.tz45 .tz-momentum-form-content{position:relative;z-index:1;max-width:550px}
.tz.tz45 .tz-momentum-form h2{color:#fff!important;-webkit-text-fill-color:#fff!important;text-shadow:0 1px 3px #0005}
.tz.tz45 .tz-momentum-form p{color:#f1f8f9!important;-webkit-text-fill-color:#f1f8f9!important;text-shadow:0 1px 3px #0005}
@media(max-width:900px){.tz.tz45 .tz-momentum-form{min-height:340px}}
@media(max-width:620px){.tz.tz45 .tz-momentum-form{min-height:310px;padding:26px 20px}}


/* Phase 4.6: Atlas (01) only — readability and balanced page rhythm. */
/* Phase 4.6A: dark-section contrast fix, scoped to Atlas only. */
.tic1 .tic1-why,.tic1 .tic1-why>.wrap{background:var(--s,#102b39)!important;color:#f8fafc!important}
.tic1 .tic1-why h2,.tic1 .tic1-why h3,.tic1 .tic1-why h4,.tic1 .tic1-why p,.tic1 .tic1-why span,.tic1 .tic1-why .tic-benefit-story,.tic1 .tic1-why .tic-benefit-story h3,.tic1 .tic1-why .tic-benefit-story p{color:#f8fafc!important}
.tic1 .tic1-why .tic-benefit-story{background:transparent!important;border-top:1px solid rgba(255,255,255,.24)!important}
.tic1 .tic1-why .tic-benefit-story p{color:#e2e8f0!important}
.tic1 .tic1-why .eyebrow{color:#c4f7ed!important}

.tic1{--atlas-space:clamp(52px,6vw,86px)}
.tic1>section{padding-block:var(--atlas-space)}
.tic1 .tic1-hero{min-height:clamp(550px,69vh,760px);padding:75px 0}
.tic1 .tic1-hero .wrap{width:min(1120px,calc(100% - 48px))}
.tic1 .tic1-hero .tic-hero-copy{max-width:690px}
.tic1 .tic1-hero h1{font-size:clamp(38px,4.4vw,66px);line-height:1.09;letter-spacing:-.038em;max-width:680px;text-wrap:balance}
.tic1 .tic1-hero .tic-hero-copy p{font-size:clamp(16px,1.5vw,19px);line-height:1.65;max-width:610px}
.tic1 .tic1-shade{background:linear-gradient(90deg,rgba(7,17,29,.94),rgba(7,17,29,.82) 48%,rgba(7,17,29,.3) 100%)}
.tic1 .tic1-trust{padding:0!important;margin-top:-30px}
.tic1 .tic1-trust>.wrap{border-radius:14px;overflow:hidden}
.tic1 .tic1-trust .tic-trust-box{padding:22px 18px}
.tic1 .tic1-services header{margin-bottom:28px}
.tic1 .tic1-service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:25px}
.tic1 .tic1-service,.tic1 .tic1-service:nth-child(even){display:flex;flex-direction:column;min-height:0;border:1px solid #e0e6ea;border-radius:13px;overflow:hidden;background:#fff;box-shadow:0 10px 28px #0f172a0b}
.tic1 .tic1-service:nth-child(even) .tic1-service-media{order:0}
.tic1 .tic1-service-media{min-height:0;height:235px;flex:none}
.tic1 .tic1-service-media img{width:100%;height:100%;object-fit:cover}
.tic1 .tic1-service>div:last-child{padding:24px 26px 28px;flex:1}
.tic1 .tic1-service h3{font-size:clamp(21px,2vw,26px);margin:8px 0}
.tic1 .tic1-service p{font-size:16px;line-height:1.65}
.tic1 .tic1-why>.wrap{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:55px;align-items:start}
.tic1 .tic1-why p{font-size:16px;line-height:1.7}
.tic1 .tic-benefit-story{padding:19px 0;grid-template-columns:40px minmax(0,1fr)}
.tic1 .tic-benefit-story h3{font-size:20px}
.tic1 .tic-benefit-story p{font-size:15px}
.tic1 .tic-cta{padding:52px 0}
.tic1 .tic-cta h2{font-size:clamp(28px,3.2vw,42px)}
.tic1 .tic-process-grid{gap:16px}
.tic1 .tic-process-card{padding:23px}
.tic1 .tic-process-card p{font-size:15px}
.tic1 .tic-area-media{height:340px}
.tic1 .tic-contact>.wrap{gap:42px}
.tic1 .tic-faq-detail summary{font-size:17px;line-height:1.5}
@media(max-width:850px){.tic1 .tic1-why>.wrap{grid-template-columns:1fr}.tic1 .tic1-service-list{gap:15px}.tic1 .tic1-trust>.wrap{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.tic1 .tic1-hero{min-height:500px;padding:70px 0}.tic1 .tic1-hero h1{font-size:clamp(34px,9vw,47px)}.tic1 .tic1-service-list{grid-template-columns:1fr}.tic1 .tic1-service-media{height:220px}.tic1 .tic1-trust>.wrap{grid-template-columns:1fr 1fr}.tic1 .tic1-why>.wrap{gap:22px}.tic1 .tic-area-media{height:260px}.tic1 .tic-cta{padding:45px 0}}
/* Phase 4.6B: Atlas-only benefit text contrast.
   Override the global `.tic article:not(...)` foreground rule for these
   cards, including nested elements, links, and numeric markers. */
.tic.tic1 section.tic1-why article.tic-benefit-story,
.tic.tic1 section.tic1-why article.tic-benefit-story > div,
.tic.tic1 section.tic1-why article.tic-benefit-story h3,
.tic.tic1 section.tic1-why article.tic-benefit-story h4,
.tic.tic1 section.tic1-why article.tic-benefit-story b,
.tic.tic1 section.tic1-why article.tic-benefit-story strong,
.tic.tic1 section.tic1-why article.tic-benefit-story span,
.tic.tic1 section.tic1-why article.tic-benefit-story a { color:#f8fafc!important; }
.tic.tic1 section.tic1-why article.tic-benefit-story p,
.tic.tic1 section.tic1-why article.tic-benefit-story li,
.tic.tic1 section.tic1-why article.tic-benefit-story small { color:#e2e8f0!important; }
.tic.tic1 section.tic1-why article.tic-benefit-story {background:transparent!important;border-top:1px solid rgba(255,255,255,.28)!important;}
.tic.tic1 section.tic1-why article.tic-benefit-story > span {color:#99f6e4!important;font-weight:800;}

.tic2{--haven-rule:rgba(26,39,47,.17);--haven-muted:#52616b;font-family:Georgia,'Times New Roman',serif}
.tic2>section{padding-block:clamp(56px,6vw,96px)}
.tic2 .wrap{min-width:0}
.tic2 .eyebrow,.tic2 .tic2-num,.tic2 .tic2-heading>span,.tic2 .tic2-manifesto>.wrap>span,.tic2 figcaption{font-family:Arial,Helvetica,sans-serif;letter-spacing:.12em;font-size:12px;font-weight:700;text-transform:uppercase}
.tic2 .tic2-hero{padding-top:clamp(40px,5vw,80px);padding-bottom:clamp(48px,5vw,72px)}
.tic2 .tic2-hero>.wrap{grid-template-columns:minmax(0,45fr) minmax(0,55fr);gap:clamp(28px,4vw,66px);align-items:center}
.tic2 .tic2-hero .tic-hero-copy{max-width:590px}
.tic2 .tic2-hero h1{font-size:clamp(44px,4.5vw,76px);line-height:1.06;letter-spacing:-.045em;overflow-wrap:break-word}
.tic2 .tic2-hero .tic-hero-copy>p{max-width:51ch;line-height:1.72;margin-top:22px;color:var(--haven-muted)}
.tic2 .tic2-hero .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.tic2 .tic2-hero figure{min-width:0}
.tic2 .tic2-hero figure img{display:block;width:100%;height:clamp(360px,43vw,580px);object-fit:cover}
.tic2 .tic2-hero figcaption{margin-top:12px;color:var(--haven-muted);font-size:11px}
.tic2 .tic2-manifesto{background:#f8f9f7}
.tic2 .tic2-manifesto>.wrap{grid-template-columns:minmax(105px,.22fr) minmax(0,.85fr) minmax(0,1fr);gap:clamp(18px,3vw,50px);align-items:start}
.tic2 .tic2-manifesto h2{font-size:clamp(31px,3.1vw,49px);max-width:17ch;margin:0}
.tic2 .tic2-manifesto p{max-width:55ch;margin:0;line-height:1.75;color:var(--haven-muted)}
.tic2 .tic2-heading{grid-template-columns:minmax(105px,.22fr) 1fr;gap:clamp(18px,3vw,50px);align-items:baseline;margin-bottom:30px}
.tic2 .tic2-heading h2{margin:0}
.tic2 .tic2-service{grid-template-columns:64px minmax(0,1fr) minmax(220px,37%);gap:clamp(20px,3.2vw,52px);padding:clamp(26px,3.3vw,48px) 0;border-top:1px solid var(--haven-rule);align-items:center}
.tic2 .tic2-service:last-child{border-bottom:1px solid var(--haven-rule)}
.tic2 .tic2-service h3{font-size:clamp(24px,2.5vw,36px);margin:0 0 13px;line-height:1.14}
.tic2 .tic2-service p{max-width:55ch;color:var(--haven-muted);line-height:1.65;margin:0 0 18px}
.tic2 .tic2-service a{font-family:Arial,Helvetica,sans-serif;font-size:13px;font-weight:700;text-underline-offset:5px}
.tic2 .tic2-service .tic2-num{align-self:start;padding-top:8px;color:var(--p)}
.tic2 .tic2-thumb{height:clamp(190px,20vw,290px);overflow:hidden}
.tic2 .tic2-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.tic2 .tic2-service:nth-child(even) .tic2-thumb{order:2}
.tic2 .tic2-benefits{gap:0 36px}
.tic2 .tic2-benefits .tic-benefit-editorial{padding:28px 12px 28px 0;border-top:1px solid var(--haven-rule)}
.tic2 .tic2-benefits h3{font-size:clamp(22px,2.1vw,29px);margin:8px 0 12px}
.tic2 .tic2-benefits p{color:var(--haven-muted);line-height:1.7}
.tic2 .tic-area>.wrap{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(28px,5vw,70px)}
.tic2 .tic-area-media{height:clamp(280px,33vw,430px)}
.tic2 .tic2-process .tic-process-line{grid-template-columns:72px minmax(0,1fr);gap:clamp(18px,3vw,42px);padding:25px 0;border-color:var(--haven-rule)}
.tic2 .tic2-faq .tic-faq-row,.tic2 .tic2-faq .tic-faq-detail{border-color:var(--haven-rule)}
.tic2 .tic2-faq p,.tic2 .tic-contact p{color:var(--haven-muted)}
.tic2 .tic-contact>.wrap{gap:clamp(30px,5vw,76px)}
@media(max-width:900px){
 .tic2 .tic2-hero>.wrap,.tic2 .tic2-manifesto>.wrap{grid-template-columns:1fr;gap:24px}
 .tic2 .tic2-hero figure img{height:clamp(280px,55vw,460px)}
 .tic2 .tic2-manifesto h2{max-width:26ch}
 .tic2 .tic2-heading{grid-template-columns:1fr;gap:12px}
 .tic2 .tic2-service{grid-template-columns:46px minmax(0,1fr);gap:16px}
 .tic2 .tic2-service .tic2-thumb{grid-column:2;order:initial!important;height:clamp(210px,44vw,350px);width:100%}
 .tic2 .tic2-benefits{grid-template-columns:1fr;gap:0}
 .tic2 .tic-area>.wrap{grid-template-columns:1fr}
}
@media(max-width:560px){
 .tic2>section{padding-block:52px}
 .tic2 .tic2-hero h1{font-size:clamp(39px,10vw,56px)}
 .tic2 .tic2-service{grid-template-columns:1fr;gap:12px}
 .tic2 .tic2-service .tic2-thumb{grid-column:1;height:235px}
 .tic2 .tic2-service .tic2-num{padding:0}
 .tic2 .tic2-hero .actions>*{max-width:100%}
}
.tic2{--haven-line:#dce3df;--haven-ink:#172a2c;--haven-soft:#f5f8f6;--haven-accent:var(--p,#136e62)}
.tic2 .tic2-hero{background:#fff;padding-block:clamp(45px,5vw,80px)}
.tic2 .tic2-hero>.wrap{grid-template-columns:minmax(0,47fr) minmax(0,53fr);gap:clamp(28px,4.5vw,75px);align-items:center}
.tic2 .tic2-hero h1{font-size:clamp(39px,4.1vw,66px);line-height:1.12;letter-spacing:-.035em;max-width:14ch;overflow-wrap:normal;word-break:normal}
.tic2 .tic2-hero .tic-hero-copy>p{font-size:17px;line-height:1.7;max-width:48ch}
.tic2 .tic2-hero figure img{height:clamp(400px,43vw,570px);border-radius:2px 80px 2px 2px}
.tic2 .tic2-manifesto{background:var(--haven-soft)}
.tic2 .tic2-manifesto>.wrap{display:grid;grid-template-columns:170px minmax(0,1fr) minmax(0,1.05fr);gap:clamp(22px,4vw,58px);align-items:start}
.tic2 .tic2-manifesto h2{font-size:clamp(30px,3vw,45px);max-width:18ch}
.tic2 .tic2-manifesto p{font-size:17px;max-width:57ch}
.tic2 .tic2-heading{grid-template-columns:170px minmax(0,1fr);gap:clamp(22px,4vw,58px);margin-bottom:36px}
.tic2 .tic2-heading h2{font-size:clamp(32px,3.5vw,48px);max-width:19ch}
.tic2 .tic2-service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.tic2 .tic2-service{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;border:1px solid var(--haven-line)!important;background:#fff;overflow:hidden}
.tic2 .tic2-service:last-child{border-bottom:1px solid var(--haven-line)}
.tic2 .tic2-service .tic2-thumb{width:100%;height:clamp(210px,21vw,295px);order:0!important;overflow:hidden;background:var(--haven-soft)}
.tic2 .tic2-service .tic2-thumb img{width:100%;height:100%;object-fit:cover}
.tic2 .tic2-service-copy{padding:28px 30px 32px;display:flex;flex-direction:column;flex:1}
.tic2 .tic2-service h3{font-size:clamp(24px,2.3vw,32px);margin:0 0 13px}
.tic2 .tic2-service p{font-size:16px;line-height:1.7;flex:1;margin-bottom:20px}
.tic2 .tic2-service a{align-self:flex-start;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px}
.tic2 .tic2-why{background:var(--haven-soft)}
.tic2 .tic2-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.tic2 .tic2-benefits .tic-benefit-editorial{border:1px solid var(--haven-line);padding:30px;background:#fff}
.tic2 .tic2-benefits h3{margin:0 0 14px}
.tic2 .tic2-process-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.tic2 .tic2-process .tic-process-line{display:block;border:1px solid var(--haven-line);border-top:3px solid var(--haven-accent);padding:28px 25px;background:#fff}
.tic2 .tic2-process .tic-process-line h3{font-size:24px;line-height:1.25;margin:0 0 12px}
.tic2 .tic2-process .tic-process-line p{font-size:16px;line-height:1.65}
.tic2 .tic2-faq{background:var(--haven-soft)}
.tic2 .tic2-faq .tic-faq-row{display:block;padding:24px 0;border-top:1px solid var(--haven-line)}
.tic2 .tic2-faq .tic-faq-row h3{font-size:21px;margin:0 0 8px}
.tic2 .tic2-faq .tic-faq-row p{font-size:16px;margin:0}
.tic2 .tic-contact>.wrap{align-items:start}
.tic2 .tic-area-media img{border-radius:2px 48px 2px 2px}
@media(max-width:900px){
 .tic2 .tic2-hero>.wrap,.tic2 .tic2-manifesto>.wrap,.tic2 .tic2-heading{grid-template-columns:1fr;gap:22px}
 .tic2 .tic2-hero h1{max-width:18ch}
 .tic2 .tic2-process-list{grid-template-columns:1fr}
 .tic2 .tic2-process .tic-process-line{padding:24px}
}
@media(max-width:650px){
 .tic2 .tic2-hero h1{font-size:clamp(36px,9vw,49px);max-width:100%}
 .tic2 .tic2-hero figure img{height:310px;border-top-right-radius:45px}
 .tic2 .tic2-service-list,.tic2 .tic2-benefits{grid-template-columns:1fr}
 .tic2 .tic2-service .tic2-thumb{height:220px;grid-column:auto;order:0!important}
 .tic2 .tic2-service-copy{padding:23px}
 .tic2 .tic2-manifesto>.wrap{gap:16px}
 .tic2 .tic2-benefits .tic-benefit-editorial{padding:23px}
}.tic.tic3{--forge-space:clamp(54px,6vw,84px)}
.tic.tic3>section{padding-block:var(--forge-space)}
.tic.tic3 .tic3-hero{padding-block:clamp(48px,5.5vw,82px)}
.tic.tic3 .tic3-hero>.wrap{grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:clamp(25px,4vw,58px);align-items:center}
.tic.tic3 .tic3-hero h1{font-size:clamp(36px,4.1vw,63px);line-height:1.07;letter-spacing:-.035em;text-wrap:balance}
.tic.tic3 .tic3-hero .tic-hero-copy p{font-size:17px;line-height:1.65;color:#f1f5f9!important}
.tic.tic3 .tic3-hero-photo{height:auto;min-height:0;border:5px solid rgba(255,255,255,.75);background:#0e706b;overflow:hidden}
.tic.tic3 .tic3-hero-photo img{width:100%;height:auto!important;max-height:none!important;object-fit:contain!important}
.tic.tic3 .tic3-trust{gap:0;margin-top:25px}
.tic.tic3 .tic3-trust .tic-trust-box{padding:13px 15px}
.tic.tic3 .tic3-services header{margin-bottom:27px}
.tic.tic3 .tic3-service-grid{gap:22px}
.tic.tic3 .tic3-service{border:1px solid #d9e2e7;border-radius:12px;overflow:hidden;box-shadow:0 10px 26px rgba(15,23,42,.06)}
.tic.tic3 .tic3-photo{height:210px;overflow:hidden}
.tic.tic3 .tic3-photo img{width:100%;height:100%;object-fit:cover}
.tic.tic3 .tic3-copy{padding:24px}
.tic.tic3 .tic3-copy b{font-size:20px}
.tic.tic3 .tic3-copy p{font-size:15px;line-height:1.65}
.tic.tic3 .tic3-why{background:#101827!important;color:#f8fafc!important}
.tic.tic3 .tic3-why>.wrap{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(25px,4vw,62px)}
.tic.tic3 .tic3-why h2,.tic.tic3 .tic3-why>.wrap>div>p{color:#f8fafc!important}
.tic.tic3 .tic3-why .tic-benefit-check{background:#1d293a!important;border:1px solid #435268!important;border-radius:10px;min-width:0}
.tic.tic3 .tic3-why .tic-benefit-check h3,.tic.tic3 .tic3-why .tic-benefit-check b{color:#fff!important}
.tic.tic3 .tic3-why .tic-benefit-check p{color:#dce6ef!important}
.tic.tic3 .tic3-why .tic-benefit-check b{font-size:19px}
.tic.tic3 .tic3-process .tic-process-grid{gap:18px}
.tic.tic3 .tic3-process .tic-process-card{padding:26px;border-top:3px solid var(--p);border-radius:0 0 10px 10px;background:#f8fafb}
.tic.tic3 .tic3-process .tic-process-card h3{font-size:21px;margin-bottom:12px}
.tic.tic3 .tic3-process .tic-process-card p{font-size:15px;line-height:1.65}
.tic.tic3 .tic-area-media{height:auto;min-height:250px}
.tic.tic3 .tic-area-media img{width:100%;height:auto!important;object-fit:contain!important}
@media(max-width:900px){
 .tic.tic3 .tic3-hero>.wrap,.tic.tic3 .tic3-why>.wrap{grid-template-columns:1fr}
 .tic.tic3 .tic3-hero h1{font-size:clamp(35px,8vw,55px)}
 .tic.tic3 .tic3-hero-photo{max-width:640px}
 .tic.tic3 .tic3-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .tic.tic3 .tic3-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
 .tic.tic3>section{padding-block:50px}
 .tic.tic3 .tic3-service-grid,.tic.tic3 .tic3-benefits{grid-template-columns:1fr}
 .tic.tic3 .tic3-hero h1{font-size:clamp(34px,9vw,47px)}
 .tic.tic3 .tic3-trust{grid-template-columns:1fr 1fr}
 .tic.tic3 .tic3-hero-photo{border-width:3px}
 .tic.tic3 .tic3-photo{height:220px}
}/* Hide decorative numbering, not phone numbers or meaningful text. */
.tic .tic2-num,.tic .tic7-num,.tic .tic7-index,.tic .tic8-label,
.tic .tic5-index,.tic .tic4-service small,.tic .tic-benefit-grid>small,
.tic .tic-benefit-mag>span:first-child,.tic .tic-benefit-split>div:first-child,
.tic .tic-trust-line>span:first-child,.tic .tx-benefit>span:first-child,
.tic .tx-step>span:first-child,.tic .ty-step>span:first-child,
.tic .tz-step>span:first-child,.tic .ty-benefit>small:first-child,
.tic .tz-benefit>small:first-child,.tic .ty-card-body>small:first-child,
.tic .tx-service-copy>small:first-child,.tic .tz-service-body>small:first-child{display:none!important}
/* Illustration assets contain embedded lettering: avoid clipping the artwork. */
.tic img.tic-hero-img[src$=".svg"],.tic img.tz-image[src$=".svg"],
.tic img.ty-photo[src$=".svg"]{object-fit:contain!important;height:auto!important;max-height:none!important}
.tic .awb-phone-lead{max-width:560px}
.tic .awb-phone-lead .btn{margin-top:14px}
@media(max-width:900px){
 .tic .tic-process-line,.tic .tic7-service,.tic .tic2-service{grid-template-columns:minmax(0,1fr)!important}
 .tic .tic-process-line>div,.tic .tic7-service>*,.tic .tic2-service>*{grid-column:auto!important}
 .tic .tic-hero-copy{min-width:0}
 .tic .tic-hero-copy h1{overflow-wrap:break-word}
}.tic.tic1 .tic1-why .tic-benefit-story {
  display:grid;
  grid-template-columns:minmax(0,1fr)!important;
  min-width:0;
}
.tic.tic1 .tic1-why .tic-benefit-story > div {
  grid-column:1 / -1;
  min-width:0;
  width:100%;
}.tic.tic1 .tic1-hero{position:relative;isolation:isolate}
.tic.tic1 .tic1-hero .tic1-bg{position:absolute;inset:0;overflow:hidden;z-index:0}
.tic.tic1 .tic1-hero .tic1-bg img.tic-hero-img,
.tic.tic1 .tic1-hero .tic1-bg img.tic-hero-img[src$=".svg"]{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  max-height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
}
.tic.tic1 .tic1-hero .tic1-shade{position:absolute;inset:0;z-index:1}
.tic.tic1 .tic1-hero > .wrap{position:relative;z-index:2}
.tic.tic1 .tic1-trust{position:relative;z-index:3}.tic.tic4 .tic4-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(430px,auto) auto}
.tic.tic4 .tic4-copy{min-width:0;padding:clamp(28px,4.5vw,68px)}
.tic.tic4 .tic4-hero .tic-hero-copy{min-width:0;max-width:680px}
.tic.tic4 .tic4-hero h1{font-size:clamp(36px,4vw,60px);line-height:1.1;letter-spacing:-.035em;overflow-wrap:break-word}
.tic.tic4 .tic4-image{min-width:0;min-height:360px;display:flex;align-items:stretch;background:var(--soft)}
.tic.tic4 .tic4-image img.tic-hero-img{width:100%;height:100%;object-fit:contain;object-position:center}
.tic.tic4 .tic4-service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tic.tic4 .tic4-service{min-width:0;overflow:hidden}
.tic.tic4 .tic4-photo{height:230px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--soft)}
.tic.tic4 .tic4-photo img.tic-service-img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.tic.tic4 .tic4-benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.tic.tic4 .tic-benefit-grid{min-width:0}
@media(max-width:900px){
 .tic.tic4 .tic4-hero{grid-template-columns:minmax(0,1fr);grid-template-rows:auto}
 .tic.tic4 .tic4-image{min-height:280px;max-height:420px}
 .tic.tic4 .tic4-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .tic.tic4 .tic4-title{gap:24px}
}
@media(max-width:650px){
 .tic.tic4 .tic4-hero h1{font-size:clamp(32px,8.5vw,43px);line-height:1.12}
 .tic.tic4 .tic4-service-grid,.tic.tic4 .tic4-benefits{grid-template-columns:minmax(0,1fr)}
 .tic.tic4 .tic4-copy{padding:30px 20px}
 .tic.tic4 .tic4-photo{height:220px}
 .tic.tic4 .tic4-trust{grid-template-columns:repeat(2,minmax(0,1fr))}
}.tic.tic5{background:#0b0d10;color:#f5f5f5}
.tic.tic5 .tic5-hero{padding:46px 0 36px}
.tic.tic5 .tic5-hero>.wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,54px);align-items:center}
.tic.tic5 .tic5-hero .tic-hero-copy{min-width:0}
.tic.tic5 .tic5-hero h1{font-size:clamp(36px,4.1vw,60px);line-height:1.09;letter-spacing:-.035em;overflow-wrap:break-word;color:#f8fafc!important}
.tic.tic5 .tic5-hero .tic-hero-copy p{max-width:560px}
.tic.tic5 .tic5-photo{height:clamp(290px,32vw,450px);min-width:0;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#102a30}
.tic.tic5 .tic5-photo img.tic-hero-img{width:100%!important;height:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center}
.tic.tic5 .tic5-trust{padding:12px 0 36px}
.tic.tic5 .tic5-trust>.wrap{margin-top:0}
.tic.tic5 .tic5-services,.tic.tic5 .tic5-why,.tic.tic5 .tic5-process{padding-top:58px;padding-bottom:58px}
.tic.tic5 .tic5-services h2,.tic.tic5 .tic5-why h2,.tic.tic5 .tic5-process h2{font-size:clamp(30px,3.7vw,48px);line-height:1.12;color:#f8fafc!important}
.tic.tic5 .tic5-services .tic5-service{grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;min-width:0}
.tic.tic5 .tic5-services .tic5-service>div{min-width:0}
.tic.tic5 .tic5-service h3,.tic.tic5 .tic5-service p{color:#f8fafc!important;overflow-wrap:break-word}
.tic.tic5 .tic5-service p{color:#cbd5e1!important;max-width:850px}
.tic.tic5 .tic5-service>a{color:#6ee7dc!important;font-size:24px;text-decoration:none;min-width:32px;text-align:center}
.tic.tic5 .tic5-benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.tic.tic5 .tic-benefit-dark{min-width:0}
.tic.tic5 .tic-benefit-dark h3{color:#f8fafc!important}
.tic.tic5 .tic-benefit-dark p{color:#d5dce5!important}
.tic.tic5 .tic5-label{color:#5eead4!important}
.tic.tic5 .tic-area h2,.tic.tic5 .tic-area h3,.tic.tic5 .tic-area p,
.tic.tic5 .tic-contact h2,.tic.tic5 .tic-contact h3,.tic.tic5 .tic-contact p{color:#f8fafc!important}
.tic.tic5 .tic-contact .lead h3,.tic.tic5 .tic-contact .lead p,.tic.tic5 .tic-contact .lead small{color:#111827!important}
@media(max-width:900px){
 .tic.tic5 .tic5-hero>.wrap{grid-template-columns:minmax(0,1fr)}
 .tic.tic5 .tic5-photo{height:clamp(250px,50vw,390px)}
}
@media(max-width:650px){
 .tic.tic5 .tic5-hero{padding:30px 0 24px}
 .tic.tic5 .tic5-hero h1{font-size:clamp(32px,9vw,44px)}
 .tic.tic5 .tic5-services,.tic.tic5 .tic5-why,.tic.tic5 .tic5-process{padding-top:42px;padding-bottom:42px}
 .tic.tic5 .tic5-benefits{grid-template-columns:minmax(0,1fr)}
 .tic.tic5 .tic5-service{padding:22px 0}
 .tic.tic5 .tic5-service h3{font-size:22px}
}/* Shared .tic article:not(...) specificity previously forced dark ink on black service rows. */
.tic.tic5 article.tic5-service:not(.tic-benefit-dark):not(.tic-process-dark),
.tic.tic5 article.tic5-service:not(.tic-benefit-dark):not(.tic-process-dark) h3{
 color:#f8fafc!important;
}
.tic.tic5 article.tic5-service:not(.tic-benefit-dark):not(.tic-process-dark) p{
 color:#cbd5e1!important;
}
.tic.tic5 .tic5-service{grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:24px 0}
.tic.tic5 .tic5-service>div{min-width:0}
.tic.tic5 .tic5-service h3{font-size:clamp(21px,2.1vw,27px);line-height:1.22}
.tic.tic5 .tic5-service p{font-size:16px;line-height:1.55;margin-bottom:0}
.tic.tic5 .tic5-service>a{align-self:center}
.tic.tic5 .tic-map{background:#fff!important;color:#111827!important}
.tic.tic5 .tic-map h1,.tic.tic5 .tic-map h2,.tic.tic5 .tic-map h3,
.tic.tic5 .tic-map p{color:#111827!important}
.tic.tic5 .tic-map .demo-map{background:#fff;color:#111827}
.tic.tic5 .tic-map .demo-map-art{color:#536874}.tic.tic6{background:#fffaf2}
.tic.tic6 .tic6-hero{padding:54px 0 38px}
.tic.tic6 .tic6-hero>.wrap{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);align-items:center;gap:clamp(20px,3vw,44px);min-height:0}
.tic.tic6 .tic6-hero .tic6-photo{position:relative;inset:auto;grid-column:2;grid-row:1;width:100%;height:clamp(330px,35vw,480px);min-height:0;border-radius:24px;overflow:hidden;background:#e4f3eb}
.tic.tic6 .tic6-hero .tic6-photo img.tic-hero-img{display:block;width:100%!important;height:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important}
.tic.tic6 .tic6-hero .tic6-card{position:relative;inset:auto;grid-column:1;grid-row:1;width:auto;min-width:0;margin:0;padding:clamp(24px,3.3vw,48px);border-radius:22px;box-shadow:0 14px 40px #4a352516;background:#fff;z-index:1}
.tic.tic6 .tic6-hero h1{font-size:clamp(34px,3.8vw,56px);line-height:1.1;letter-spacing:-.035em;overflow-wrap:break-word}
.tic.tic6 .tic6-hero .tic-hero-copy{min-width:0}
.tic.tic6 .tic6-hero .tic-hero-copy p{font-size:16px;line-height:1.55}
.tic.tic6 .tic6-story>.wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start}
.tic.tic6 .tic6-story h2{font-size:clamp(30px,3.5vw,46px);line-height:1.13}
.tic.tic6 .tic6-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.tic.tic6 .tic6-service{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:stretch;min-width:0;overflow:hidden;border-radius:18px;background:#fff}
.tic.tic6 .tic6-service-photo{position:relative;inset:auto;min-width:0;min-height:230px;height:auto;background:#e4f3eb;overflow:hidden}
.tic.tic6 .tic6-service-photo img.tic-service-img{display:block;width:100%!important;height:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important}
.tic.tic6 .tic6-service>div:last-child{min-width:0;padding:clamp(18px,2vw,28px)}
.tic.tic6 .tic6-service h3{font-size:clamp(19px,1.8vw,24px);line-height:1.22;overflow-wrap:break-word}
.tic.tic6 .tic6-service p{font-size:15px;line-height:1.55;overflow-wrap:break-word}
.tic.tic6 .tic6-service>div:last-child>span{display:none}
.tic.tic6 .tic6-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.tic.tic6 .tic6-benefits .tic-benefit-story{display:block;min-width:0;padding:26px;background:#fff;border:1px solid #e6dccd;border-radius:14px}
.tic.tic6 .tic6-benefits .tic-benefit-story>span{display:none}
.tic.tic6 .tic6-benefits .tic-benefit-story>div{min-width:0}
.tic.tic6 .tic6-benefits .tic-benefit-story h3{font-size:20px}
.tic.tic6 .tic6-benefits .tic-benefit-story p{font-size:16px;line-height:1.55}
.tic.tic6 .tic6-story,.tic.tic6 .tic6-services,.tic.tic6 .tic6-why{padding-top:62px;padding-bottom:62px}
@media(max-width:900px){
 .tic.tic6 .tic6-hero>.wrap{grid-template-columns:minmax(0,1fr)}
 .tic.tic6 .tic6-hero .tic6-photo{grid-column:1;grid-row:1;height:clamp(260px,54vw,410px)}
 .tic.tic6 .tic6-hero .tic6-card{grid-column:1;grid-row:2;margin:0}
 .tic.tic6 .tic6-story>.wrap{grid-template-columns:minmax(0,1fr);gap:20px}
 .tic.tic6 .tic6-service-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:650px){
 .tic.tic6 .tic6-hero{padding:28px 0}
 .tic.tic6 .tic6-hero .tic6-photo{height:260px}
 .tic.tic6 .tic6-hero .tic6-card{padding:25px 20px}
 .tic.tic6 .tic6-hero h1{font-size:clamp(32px,8.5vw,42px)}
 .tic.tic6 .tic6-service{grid-template-columns:minmax(0,1fr)}
 .tic.tic6 .tic6-service-photo{height:210px;min-height:0}
 .tic.tic6 .tic6-benefits{grid-template-columns:minmax(0,1fr)}
 .tic.tic6 .tic6-story,.tic.tic6 .tic6-services,.tic.tic6 .tic6-why{padding-top:42px;padding-bottom:42px}
}.tic.tic7 .tic7-service{display:grid;grid-template-columns:minmax(190px,.85fr) minmax(0,1.6fr) auto;gap:clamp(14px,2.4vw,32px);align-items:start;padding:26px 0}
.tic.tic7 .tic7-service>h3{grid-column:1;min-width:0;font-size:clamp(22px,2.2vw,29px);line-height:1.2;margin:0;overflow-wrap:normal}
.tic.tic7 .tic7-service>p{grid-column:2;min-width:0;margin:0;max-width:65ch;font-size:16px;line-height:1.6;overflow-wrap:normal}
.tic.tic7 .tic7-service>a{grid-column:3;white-space:nowrap;align-self:start;font-weight:700}
.tic.tic7 .tic7-process .tic-process-line{display:block;grid-template-columns:none;padding:26px 0}
.tic.tic7 .tic7-process .tic-process-line>div{width:100%;min-width:0;max-width:780px}
.tic.tic7 .tic7-process .tic-process-line h3{font-size:clamp(20px,2vw,26px);line-height:1.25}
.tic.tic7 .tic7-process .tic-process-line p{max-width:68ch;font-size:16px;line-height:1.6}
.tic.tic7 .tic7-photo{padding-top:28px!important}
.tic.tic7 .tic7-photo .wrap{overflow:hidden}
.tic.tic7 .tic7-photo img.tic-hero-img{display:block;width:100%;height:auto;max-height:490px;object-fit:contain;object-position:center}
.tic.tic7 .tic7-meta{margin-top:36px;gap:10px}
.tic.tic7 .tic7-services,.tic.tic7 .tic7-process{overflow-wrap:normal}
@media(max-width:900px){
 .tic.tic7 .tic7-service{grid-template-columns:minmax(0,1fr) auto!important;gap:12px 20px}
 .tic.tic7 .tic7-service>h3{grid-column:1!important}
 .tic.tic7 .tic7-service>p{grid-column:1 / -1!important;grid-row:2!important}
 .tic.tic7 .tic7-service>a{grid-column:2!important;grid-row:1!important}
 .tic.tic7 .tic7-photo img.tic-hero-img{max-height:380px}
}
@media(max-width:650px){
 .tic.tic7 .tic7-service{grid-template-columns:minmax(0,1fr)!important;gap:12px}
 .tic.tic7 .tic7-service>h3,.tic.tic7 .tic7-service>p,.tic.tic7 .tic7-service>a{grid-column:1!important;grid-row:auto!important}
 .tic.tic7 .tic7-service>a{justify-self:start}
 .tic.tic7 .tic7-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
 .tic.tic7 .tic7-photo img.tic-hero-img{max-height:300px}
 .tic.tic7 .tic-benefit-line{grid-template-columns:minmax(0,1fr);gap:8px}
}.tic.tic8 .tic8-hero>.wrap{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(24px,3.5vw,52px)}
.tic.tic8 .tic8-hero h1{font-size:clamp(37px,4.6vw,65px);line-height:1.07;overflow-wrap:break-word}
.tic.tic8 .tic8-hero .tic-hero-copy{min-width:0}
.tic.tic8 .tic8-hero .tic8-photo{min-width:0;height:390px;overflow:hidden;background:#dff1ed}
.tic.tic8 .tic8-hero .tic8-photo img{width:100%;height:100%;object-fit:contain;object-position:center}
.tic.tic8 .tic8-trust>.wrap{grid-template-columns:repeat(4,minmax(0,1fr))}
.tic.tic8 .tic8-trust .tic-trust-box{min-width:0}
.tic.tic8 .tic8-services,.tic.tic8 .tic8-why{padding-top:64px;padding-bottom:64px}
.tic.tic8 .tic8-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.tic.tic8 .tic8-service{min-width:0;overflow:hidden}
.tic.tic8 .tic8-service .tic8-photo{height:230px;overflow:hidden;background:#e7f4f1}
.tic.tic8 .tic8-service .tic8-photo img{width:100%;height:100%;object-fit:contain;object-position:center}
.tic.tic8 .tic8-service h3{font-size:clamp(20px,2vw,26px);line-height:1.2;margin-top:18px}
.tic.tic8 .tic8-service p{font-size:16px;line-height:1.55;margin-bottom:24px}
.tic.tic8 .tic8-benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.tic.tic8 .tic8-benefits .tic-benefit-bold{min-width:0;min-height:180px;background:#dff7f0;color:#102b39!important}
.tic.tic8 .tic8-benefits .tic-benefit-bold h3,.tic.tic8 .tic8-benefits .tic-benefit-bold p{color:#102b39!important}
.tic.tic8 .tic8-benefits .tic-benefit-bold>span{display:none}
.tic.tic8 .tic8-benefits .tic-benefit-bold p{font-size:16px;line-height:1.55}
@media(max-width:900px){
 .tic.tic8 .tic8-hero>.wrap{grid-template-columns:minmax(0,1fr)}
 .tic.tic8 .tic8-hero .tic8-photo{height:330px}
 .tic.tic8 .tic8-trust>.wrap{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
 .tic.tic8 .tic8-service-grid,.tic.tic8 .tic8-benefits{grid-template-columns:minmax(0,1fr)}
 .tic.tic8 .tic8-hero h1{font-size:clamp(34px,9vw,46px)}
 .tic.tic8 .tic8-hero .tic8-photo{height:260px}
 .tic.tic8 .tic8-services,.tic.tic8 .tic8-why{padding-top:45px;padding-bottom:45px}
 .tic.tic8 .tic8-benefits .tic-benefit-bold{min-height:0}
}.tic.tic8 .tic8-hero{padding:56px 0!important}
.tic.tic8 .tic8-hero .tic8-photo{height:340px}
.tic.tic8 .tic8-hero h1{font-size:clamp(37px,4vw,57px);max-width:700px}
.tic.tic8 .tic8-trust{padding:20px 0!important}
.tic.tic8 .tic8-trust .tic-trust-box{padding:17px 20px}
.tic.tic8 .tic8-services,.tic.tic8 .tic8-why,.tic.tic8 .tic8-process{padding:58px 0!important}
.tic.tic8 .tic8-services h2,.tic.tic8 .tic8-why h2,.tic.tic8 .tic8-process h2{font-size:clamp(31px,3.5vw,46px);margin-bottom:30px}
.tic.tic8 .tic8-service-grid{gap:26px}
.tic.tic8 .tic8-service{display:flex;flex-direction:column;min-height:0;box-shadow:7px 7px 0 var(--a)}
.tic.tic8 .tic8-service .tic8-photo{height:205px}
.tic.tic8 .tic8-service h3{font-size:clamp(22px,2.3vw,28px);margin-bottom:10px}
.tic.tic8 .tic8-service p{font-size:16px;line-height:1.6;margin-bottom:22px}
.tic.tic8 .tic8-benefits .tic-benefit-bold{min-height:160px;padding:25px}
.tic.tic8 .tic8-process{background:#f0f8f6}
.tic.tic8 .tic8-process .tic-process-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tic.tic8 .tic8-process .tic-process-card{min-width:0;padding:27px;border:2px solid #142b38;border-top:6px solid var(--a);box-shadow:5px 5px 0 #c9e8e0}
.tic.tic8 .tic8-process .tic-process-card h3{font-size:21px;margin-bottom:12px;color:#132433!important}
.tic.tic8 .tic8-process .tic-process-card p{font-size:16px;line-height:1.6;color:#334155!important}
.tic.tic8 .tic-cta{padding:48px 0!important}
.tic.tic8 .tic-cta>.wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center}
.tic.tic8 .tic-cta h2{font-size:clamp(31px,3.2vw,43px);margin-bottom:12px}
.tic.tic8 .tic-cta p{font-size:16px;line-height:1.5;max-width:640px}
.tic.tic8 .tic-cta .actions{margin:0;justify-content:flex-end}
.tic.tic8 .tic-cta .btn{display:inline-flex;min-width:190px;min-height:52px;padding:14px 22px;background:#fff!important;color:#0d6b67!important;border:2px solid #fff;border-radius:9px;font-size:16px;font-weight:800;white-space:nowrap;text-decoration:none}
.tic.tic8 .tic-area{padding:58px 0!important}
.tic.tic8 .tic-area-media{height:300px;overflow:hidden}
.tic.tic8 .tic-area-media img{width:100%;height:100%;object-fit:contain}
.tic.tic8 .tic8-faq{padding:48px 0!important}
@media(max-width:900px){
 .tic.tic8 .tic8-process .tic-process-grid{grid-template-columns:minmax(0,1fr)}
 .tic.tic8 .tic-cta>.wrap{grid-template-columns:minmax(0,1fr)}
 .tic.tic8 .tic-cta .actions{justify-content:flex-start}
}
@media(max-width:650px){
 .tic.tic8 .tic8-hero{padding:38px 0!important}
 .tic.tic8 .tic8-hero .tic8-photo{height:250px}
 .tic.tic8 .tic8-services,.tic.tic8 .tic8-why,.tic.tic8 .tic8-process{padding:40px 0!important}
 .tic.tic8 .tic8-service .tic8-photo{height:185px}
 .tic.tic8 .tic-cta .btn{width:100%}
 .tic.tic8 .tic-area-media{height:230px}
}/* Previous patch targeted .tic-process-card; Beacon actually renders .tic-process-bold. */
.tic.tic8 .tic8-process .tic-process-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important;align-items:stretch}
.tic.tic8 .tic8-process article.tic-process-bold{display:flex!important;flex-direction:column;gap:12px;min-width:0;min-height:190px;padding:26px!important;background:#fff!important;border:2px solid #17313b!important;border-top:7px solid #05a995!important;box-shadow:6px 6px 0 #b8ddd4!important;color:#172b36!important}
.tic.tic8 .tic8-process article.tic-process-bold>b{display:none!important}
.tic.tic8 .tic8-process article.tic-process-bold h3{margin:0;font-size:clamp(20px,2vw,25px);line-height:1.2;color:#132433!important}
.tic.tic8 .tic8-process article.tic-process-bold p{margin:0;font-size:16px;line-height:1.6;color:#34465a!important}
/* Smaller images keep the focus on service names and useful text. */
.tic.tic8 .tic8-service-grid{gap:22px!important}
.tic.tic8 .tic8-service{display:flex;flex-direction:column;min-height:0!important}
.tic.tic8 .tic8-service .tic8-photo{height:156px!important;background:#e8f5f1}
.tic.tic8 .tic8-service .tic8-photo img{width:100%;height:100%;object-fit:contain;object-position:center}
.tic.tic8 .tic8-service .tic8-label{display:none!important}
.tic.tic8 .tic8-service h3{margin:19px 22px 9px!important;font-size:clamp(21px,2.1vw,26px)}
.tic.tic8 .tic8-service p{margin:0 22px 24px!important;font-size:16px;line-height:1.6}
/* Trust band and benefits should read as intentional compact components. */
.tic.tic8 .tic8-trust{padding:14px 0!important}
.tic.tic8 .tic8-trust .tic-trust-box{padding:14px 18px!important}
.tic.tic8 .tic8-benefits .tic-benefit-bold{min-height:135px!important;padding:22px!important}
/* The shared CTA is not .tic8-cta; scope through Beacon's main wrapper. */
.tic.tic8 section.tic-cta{padding:45px 0!important}
.tic.tic8 section.tic-cta>.wrap{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:28px;align-items:center}
.tic.tic8 section.tic-cta .actions{display:flex!important;align-items:center;justify-content:flex-end;margin:0!important}
.tic.tic8 section.tic-cta .actions>a.btn{display:inline-flex!important;align-items:center;justify-content:center;min-width:205px;min-height:56px;padding:15px 24px!important;border:2px solid #fff!important;background:#fff!important;color:#086b64!important;border-radius:8px!important;font-size:17px!important;font-weight:800!important;white-space:nowrap}
.tic.tic8 .tic8-hero .tic8-photo{height:300px!important}
.tic.tic8 .tic8-services,.tic.tic8 .tic8-why,.tic.tic8 .tic8-process{padding:48px 0!important}
@media(max-width:900px){
 .tic.tic8 .tic8-process .tic-process-grid{grid-template-columns:minmax(0,1fr)!important}
 .tic.tic8 .tic8-process article.tic-process-bold{min-height:0}
 .tic.tic8 section.tic-cta>.wrap{grid-template-columns:minmax(0,1fr)!important}
 .tic.tic8 section.tic-cta .actions{justify-content:flex-start}
}
@media(max-width:650px){
 .tic.tic8 .tic8-service .tic8-photo{height:170px!important}
 .tic.tic8 .tic8-hero .tic8-photo{height:245px!important}
 .tic.tic8 .tic8-services,.tic.tic8 .tic8-why,.tic.tic8 .tic8-process{padding:38px 0!important}
 .tic.tic8 section.tic-cta .actions>a.btn{width:100%}
}.tic.tic9{overflow:hidden;background:#fff;color:#111827}
.tic.tic9>section{padding:clamp(42px,5vw,76px) 0}
.tic.tic9 .wrap{min-width:0}
.tic.tic9 .tic9-hero{padding-top:52px;padding-bottom:40px;background:#f5f8f8}
.tic.tic9 .tic9-hero h1{font-size:clamp(40px,5vw,72px);line-height:1.06;letter-spacing:-.045em;max-width:950px;margin:18px 0 20px;overflow-wrap:normal}
.tic.tic9 .tic9-kicker{font-size:12px;letter-spacing:.13em;color:#087d79}
.tic.tic9 .tic9-sub{grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;margin:18px 0 28px}
.tic.tic9 .tic9-sub p{font-size:clamp(16px,1.6vw,19px);line-height:1.6;max-width:700px;margin:0}
.tic.tic9 .tic9-sub .actions{display:flex;justify-content:flex-end;align-items:center}
.tic.tic9 .tic9-sub .btn{white-space:nowrap;padding:15px 23px}
.tic.tic9 .tic9-hero .tic9-photo{height:clamp(260px,33vw,440px);overflow:hidden;border-radius:14px;background:#dcefed}
.tic.tic9 .tic9-hero .tic9-photo img{width:100%;height:100%;object-fit:contain;object-position:center}
.tic.tic9 .tic9-intro{background:#fff}
.tic.tic9 .tic9-intro>.wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start}
.tic.tic9 .tic9-intro h2{font-size:clamp(30px,3.3vw,46px);line-height:1.14;max-width:580px;margin:0}
.tic.tic9 .tic9-intro p{font-size:17px;line-height:1.7;max-width:650px;margin:0}
.tic.tic9 .tic9-services,.tic.tic9 .tic9-process{background:#f5f8f8}
.tic.tic9 .tic9-services>.wrap,.tic.tic9 .tic9-why>.wrap,.tic.tic9 .tic9-process>.wrap{display:block}
.tic.tic9 .tic9-services aside,.tic.tic9 .tic9-why aside,.tic.tic9 .tic9-process aside{display:block;font-size:13px;font-weight:900;letter-spacing:.14em;color:#087d79;margin-bottom:24px;text-transform:uppercase}
.tic.tic9 .tic9-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.tic.tic9 article.tic9-service{display:flex;flex-direction:column;min-width:0;min-height:0;background:#fff;border:1px solid #dae4e6;border-radius:14px;overflow:hidden;box-shadow:0 8px 22px #0e34440a}
.tic.tic9 .tic9-service .tic9-photo,.tic.tic9 .tic9-feature .tic9-photo{height:clamp(190px,22vw,270px);min-height:0;overflow:hidden;background:#e7f4f2}
.tic.tic9 .tic9-service .tic9-photo img{width:100%;height:100%;object-fit:contain;object-position:center}
.tic.tic9 .tic9-service .tic9-service-copy{padding:26px 28px 30px;display:flex;flex-direction:column;flex:1;min-width:0}
.tic.tic9 .tic9-service h3{font-size:clamp(21px,2.3vw,28px);line-height:1.2;margin:0 0 12px;color:#142235!important}
.tic.tic9 .tic9-service p{font-size:16px;line-height:1.65;color:#475569!important;margin:0 0 20px;flex:1}
.tic.tic9 .tic9-service a{font-weight:800;color:#087d79;align-self:flex-start}
.tic.tic9 .tic9-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.tic.tic9 .tic-benefit-mag{min-width:0;background:#f7faf9;border:1px solid #dfe8e7;border-radius:12px;padding:26px}
.tic.tic9 .tic-benefit-mag h3{font-size:22px;margin:0 0 12px;color:#142235!important}
.tic.tic9 .tic-benefit-mag p{font-size:16px;line-height:1.6;margin:0;color:#475569!important}
.tic.tic9 .tic9-process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.tic.tic9 .tic9-process .tic-process-line{display:block;min-width:0;background:#fff;border:1px solid #dce5e8;border-top:5px solid #0c8c83;border-radius:10px;padding:26px;box-shadow:0 7px 20px #0e344408}
.tic.tic9 .tic9-process .tic-process-line>div{min-width:0}
.tic.tic9 .tic9-process .tic-process-line h3{font-size:21px;line-height:1.3;margin:0 0 12px;color:#142235!important;overflow-wrap:break-word}
.tic.tic9 .tic9-process .tic-process-line p{font-size:16px;line-height:1.65;color:#475569!important;margin:0;overflow-wrap:break-word}
.tic.tic9 .tic9-faq .tic-faq-row{grid-template-columns:minmax(0,1fr);gap:0;padding:22px 0}
.tic.tic9 .tic9-faq .tic-faq-row>span{display:none}
.tic.tic9 .tic9-faq .tic-faq-row h3{font-size:20px;line-height:1.35}
@media(max-width:900px){
 .tic.tic9 .tic9-intro>.wrap{grid-template-columns:minmax(0,1fr)}
 .tic.tic9 .tic9-service-grid{gap:16px}
 .tic.tic9 .tic9-process-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:700px){
 .tic.tic9>section{padding:38px 0}
 .tic.tic9 .tic9-hero{padding:34px 0}
 .tic.tic9 .tic9-hero h1{font-size:clamp(33px,8vw,46px);line-height:1.1}
 .tic.tic9 .tic9-sub{grid-template-columns:minmax(0,1fr);gap:15px}
 .tic.tic9 .tic9-sub .actions{justify-content:flex-start}
 .tic.tic9 .tic9-hero .tic9-photo{height:235px}
 .tic.tic9 .tic9-service-grid,.tic.tic9 .tic9-benefits{grid-template-columns:minmax(0,1fr)}
 .tic.tic9 .tic9-service .tic9-photo{height:195px}
 .tic.tic9 .tic9-service .tic9-service-copy{padding:22px}
 .tic.tic9 .tic-benefit-mag,.tic.tic9 .tic9-process .tic-process-line{padding:22px}
}.tic.tic10 .tic10-hero{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);min-height:0;align-items:stretch}
.tic.tic10 .tic10-copy{padding:clamp(35px,5vw,78px) clamp(26px,4vw,68px);min-width:0}
.tic.tic10 .tic10-copy h1{font-size:clamp(38px,4.3vw,64px);line-height:1.08;letter-spacing:-.035em;max-width:720px}
.tic.tic10 .tic10-copy p{max-width:580px;line-height:1.65}
.tic.tic10 .tic10-photo{min-height:400px;max-height:610px;background:#dcefeb;display:flex;align-items:center;justify-content:center}
.tic.tic10 .tic10-photo img{width:100%;height:100%;object-fit:contain;object-position:center}
.tic.tic10 .tic10-trust{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:27px}
.tic.tic10 .tic10-trust>*{min-width:0;padding:13px 14px;border:1px solid #d3e5e1;border-radius:8px;background:#ffffffb8}
.tic.tic10 .tic10-services,.tic.tic10 .tic10-process,.tic.tic10 .tic10-faq{padding:64px 0!important}
.tic.tic10 .tic10-services header{margin-bottom:28px}
.tic.tic10 .tic10-services h2,.tic.tic10 .tic10-process h2,.tic.tic10 .tic10-faq h2{font-size:clamp(31px,3.4vw,47px);line-height:1.14;max-width:850px}
.tic.tic10 .tic10-service-list{border-top:1px solid var(--line)}
.tic.tic10 article.tic10-service{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(0,1.4fr) auto;align-items:center;gap:24px;padding:25px 8px;min-width:0}
.tic.tic10 article.tic10-service>div{min-width:0}
.tic.tic10 article.tic10-service h3{font-size:clamp(21px,2.2vw,28px);line-height:1.25;margin:0;color:#142333!important}
.tic.tic10 article.tic10-service p{font-size:16px;line-height:1.6;margin:0;min-width:0;color:#405162!important}
.tic.tic10 article.tic10-service .tic10-service-link{font-size:14px;font-weight:800;color:#087f78!important;text-decoration:none;white-space:nowrap}
.tic.tic10 .tic10-why{padding:64px 0!important;background:#102e39!important;color:#fff!important}
.tic.tic10 .tic10-why>.wrap{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:45px;align-items:start}
.tic.tic10 .tic10-why h2{font-size:clamp(31px,3.2vw,46px);line-height:1.14;color:#fff!important}
.tic.tic10 .tic10-why p{color:#d9e9ed!important;line-height:1.65}
.tic.tic10 .tic10-benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.tic.tic10 .tic10-benefits article.tic-benefit-split{display:flex;flex-direction:column;gap:12px;padding:23px;min-width:0;min-height:165px;border:1px solid #46616c;border-radius:12px;background:#193c48;color:#fff!important}
.tic.tic10 .tic10-benefits .tic10-benefit-mark{display:flex;align-items:center;justify-content:center;width:30px;height:30px;flex:0 0 auto;border-radius:50%;background:#19b9a4;color:#092a32;font-weight:800}
.tic.tic10 .tic10-benefits h3{font-size:20px;line-height:1.25;margin:0 0 8px;color:#fff!important}
.tic.tic10 .tic10-benefits p{font-size:15px;line-height:1.55;margin:0;color:#d9e9ed!important}
.tic.tic10 .tic10-process{background:#f1f8f6}
.tic.tic10 .tic10-process .tic-process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:26px}
.tic.tic10 .tic10-process article.tic10-process-card{display:block;min-width:0;min-height:175px;padding:25px;border:1px solid #d2e5df;border-top:5px solid #0e9789;border-radius:12px;background:#fff;box-shadow:0 9px 24px #173e3612}
.tic.tic10 .tic10-process .tic10-process-card h3{font-size:22px;line-height:1.25;color:#142333!important;margin-bottom:12px}
.tic.tic10 .tic10-process .tic10-process-card p{font-size:16px;line-height:1.6;color:#405162!important;margin:0}
.tic.tic10 .tic-area,.tic.tic10 .tic-cta{padding-top:58px!important;padding-bottom:58px!important}
@media(max-width:980px){
 .tic.tic10 .tic10-hero{grid-template-columns:minmax(0,1fr)}
 .tic.tic10 .tic10-photo{min-height:290px;max-height:390px}
 .tic.tic10 .tic10-why>.wrap{grid-template-columns:minmax(0,1fr)}
 .tic.tic10 article.tic10-service{grid-template-columns:minmax(0,1fr) auto;gap:12px}
 .tic.tic10 article.tic10-service p{grid-column:1/-1;grid-row:2}
 .tic.tic10 .tic10-process .tic-process-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:650px){
 .tic.tic10 .tic10-copy{padding:30px 20px}
 .tic.tic10 .tic10-copy h1{font-size:clamp(34px,9vw,45px)}
 .tic.tic10 .tic10-trust{grid-template-columns:repeat(2,minmax(0,1fr))}
 .tic.tic10 .tic10-benefits{grid-template-columns:minmax(0,1fr)}
 .tic.tic10 .tic10-services,.tic.tic10 .tic10-why,.tic.tic10 .tic10-process,.tic.tic10 .tic10-faq{padding:42px 0!important}
 .tic.tic10 article.tic10-service{grid-template-columns:minmax(0,1fr);gap:9px}
 .tic.tic10 article.tic10-service p{grid-column:auto;grid-row:auto}
 .tic.tic10 .tic10-service-link{justify-self:start}
}.tic.tic10 .tic10-why .tic10-benefits article.tic-benefit-split,
.tic.tic10 .tic10-why .tic10-benefits article.tic-benefit-split > div:last-child {
 color:#f8fafc!important;
}
.tic.tic10 .tic10-why .tic10-benefits article.tic-benefit-split h3 {
 color:#ffffff!important;
 -webkit-text-fill-color:#ffffff!important;
}
.tic.tic10 .tic10-why .tic10-benefits article.tic-benefit-split p {
 color:#d9e9ed!important;
 -webkit-text-fill-color:#d9e9ed!important;
}/* General layout resilience inside the selected template families. */
.tic.tic4,.tic.tic5,.tic.tic6,.tic.tic7,.tic.tic8,.tic.tic9,.tic.tic10{overflow-wrap:break-word}
.tic.tic4 .wrap,.tic.tic5 .wrap,.tic.tic6 .wrap,.tic.tic7 .wrap,.tic.tic8 .wrap,.tic.tic9 .wrap,.tic.tic10 .wrap{max-width:1180px}
.tic.tic4 .actions .btn,.tic.tic5 .actions .btn,.tic.tic6 .actions .btn,.tic.tic7 .actions .btn,.tic.tic8 .actions .btn,.tic.tic9 .actions .btn,.tic.tic10 .actions .btn{min-height:44px;font-weight:800;line-height:1.25;text-align:center}
/* Meridian: tighten excessive desktop whitespace without replacing its architecture. */
.tic.tic4 .tic4-hero{grid-template-rows:minmax(365px,auto) auto}
.tic.tic4 .tic4-copy{padding-block:clamp(32px,4vw,58px)}
.tic.tic4 .tic4-image{min-height:315px}
.tic.tic4 .tic4-services,.tic.tic4 .tic4-why,.tic.tic4 .tic4-process,.tic.tic4 .tic4-faq{padding-top:clamp(44px,5vw,70px)!important;padding-bottom:clamp(44px,5vw,70px)!important}
.tic.tic4 .tic4-service-grid{gap:16px}
.tic.tic4 .tic4-photo{height:205px}
/* Onyx: retain its dark identity while increasing secondary-text legibility. */
.tic.tic5 .tic5-service p,.tic.tic5 .tic5-why p,.tic.tic5 .tic5-process p{font-size:clamp(15px,1.2vw,17px);line-height:1.65}
.tic.tic5 .tic5-service{gap:18px}
.tic.tic5 .tic-benefit-dark{border-color:#3b4651;background:#181e25}
/* Oakline: image text must not be cut off by narrow service-card columns. */
.tic.tic6 .tic6-service-photo{overflow:hidden;background:#e8f4ef}
.tic.tic6 .tic6-service-photo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.tic.tic6 .tic6-service>div:last-child{min-width:0}
/* Sterling: keep editorial typography, remove any remaining standalone section indices. */
.tic.tic7 .tic7-index,.tic.tic7 .tic7-num{display:none!important}
.tic.tic7 .tic7-hero h1{max-width:18ch}
/* Beacon: preserve geometric cards; prevent decorative image crop. */
.tic.tic8 .tic8-hero .tic8-photo img{width:100%;height:100%;object-fit:contain;object-position:center}
.tic.tic8 .tic8-service .tic8-label{display:none!important}
/* Northstar: enforce image containment and readable hero CTA. */
.tic.tic9 .tic9-hero .tic9-photo{isolation:isolate}
.tic.tic9 .tic9-hero .tic9-photo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.tic.tic9 .tic9-sub .actions .btn{background:#087f79;color:#fff}
/* Summit: keep its split hero and make primary actions more visible. */
.tic.tic10 .tic10-hero .actions .btn{background:#087f79;color:#fff}
.tic.tic10 .tic10-service-link{font-size:15px;font-weight:800}
/* Call-to-action bands: visibly button-shaped on colored surfaces. */
.tic.tic4 section.tic-cta .actions .btn,.tic.tic5 section.tic-cta .actions .btn,.tic.tic6 section.tic-cta .actions .btn,.tic.tic7 section.tic-cta .actions .btn,.tic.tic9 section.tic-cta .actions .btn,.tic.tic10 section.tic-cta .actions .btn{background:#fff!important;color:#086e68!important;border:1px solid #fff!important;padding:13px 20px!important;border-radius:8px!important;min-width:170px}
@media(max-width:900px){
 .tic.tic4 .tic4-hero{grid-template-rows:auto}
 .tic.tic4 .tic4-image{min-height:240px}
 .tic.tic6 .tic6-service-photo{min-height:200px}
}
@media(max-width:650px){
 .tic.tic4 .tic4-services,.tic.tic4 .tic4-why,.tic.tic4 .tic4-process,.tic.tic4 .tic4-faq{padding-top:38px!important;padding-bottom:38px!important}
 .tic.tic4 .tic4-photo{height:195px}
 .tic.tic5 .tic5-service p,.tic.tic5 .tic5-why p,.tic.tic5 .tic5-process p{font-size:15px}
 .tic.tic6 .tic6-service-photo{min-height:180px}
 .tic.tic7 .tic7-hero h1{max-width:none}
}@media (min-width:1100px){
 .tic.tic1 .wrap,.tic.tic2 .wrap,.tic.tic3 .wrap,.tic.tic4 .wrap,.tic.tic5 .wrap,
 .tic.tic6 .wrap,.tic.tic7 .wrap,.tic.tic8 .wrap,.tic.tic9 .wrap,.tic.tic10 .wrap{
   width:calc(100% - clamp(48px,6vw,112px))!important;
   max-width:1760px!important;
   margin-inline:auto!important;
 }
 .tic.tic1 .tic-hero-copy,.tic.tic2 .tic-hero-copy,.tic.tic3 .tic-hero-copy,
 .tic.tic4 .tic-hero-copy,.tic.tic5 .tic-hero-copy,.tic.tic6 .tic-hero-copy,
 .tic.tic7 .tic-hero-copy,.tic.tic8 .tic-hero-copy,.tic.tic9 .tic-hero-copy,
 .tic.tic10 .tic-hero-copy{min-width:0}
 .tic.tic4 .tic4-copy{padding-inline:clamp(32px,5vw,100px)}
 .tic.tic4 .tic4-meta{padding-inline:clamp(32px,5vw,100px)}
 .tic.tic10 .tic10-copy{min-width:0}
}
@media (min-width:1800px){
 .tic.tic1 .wrap,.tic.tic2 .wrap,.tic.tic3 .wrap,.tic.tic4 .wrap,.tic.tic5 .wrap,
 .tic.tic6 .wrap,.tic.tic7 .wrap,.tic.tic8 .wrap,.tic.tic9 .wrap,.tic.tic10 .wrap{
  width:calc(100% - 112px)!important
 }
}
/* 4.7G: isolated design system; only IDs 11–20. */
.g47{--g-bg:#fff;--g-ink:#142332;--g-accent:var(--p,#087f79);--g-soft:#f1f5f4;color:var(--g-ink);background:var(--g-bg)}
.g47 .g47-inner{width:calc(100% - clamp(32px,6vw,112px));max-width:1760px;margin-inline:auto}
.g47>section{padding:clamp(56px,6vw,110px) 0}.g47 .g47-hero{padding:0;position:relative;overflow:hidden}
.g47 h1{font-size:clamp(46px,5.5vw,100px);line-height:1.04;letter-spacing:-.05em;max-width:1000px;margin:16px 0 24px}
.g47 h2{font-size:clamp(30px,3.3vw,58px);line-height:1.1;letter-spacing:-.035em;margin:12px 0 28px}
.g47 h3{font-size:clamp(20px,1.6vw,27px);line-height:1.2;margin:0 0 12px}
.g47 p{font-size:clamp(15px,1.04vw,18px);line-height:1.7;max-width:75ch}.g47 .g47-ey{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:850;color:var(--g-accent)}
.g47 .g47-copy>p{font-size:clamp(17px,1.25vw,22px);max-width:640px}.g47 .g47-actions{display:flex;gap:12px;margin-top:28px}.g47 .btn{padding:15px 25px;font-size:16px;border-radius:7px;background:var(--g-accent);color:#fff;text-decoration:none}
.g47 .g47-hero-photo img,.g47 .g47-service-photo img,.g47 .g47-area-photo img{width:100%;height:100%;object-fit:contain;background:var(--g-soft)}
.g47 .g47-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.g47 .g47-service{min-width:0;background:#fff;overflow:hidden;border:1px solid #dce4e7}.g47 .g47-service-photo{height:clamp(170px,17vw,290px);overflow:hidden;background:var(--g-soft)}.g47 .g47-service-text{padding:clamp(18px,2vw,30px)}.g47 .g47-service-text p{font-size:15px}.g47 .g47-service-text a{font-size:15px;font-weight:800;color:var(--g-accent)}
.g47 .g47-why{background:var(--g-soft)}.g47 .g47-why>.g47-inner{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,5vw,100px);align-items:center}.g47 .g47-benefit-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.g47 .g47-benefit{padding:28px;background:#fff;border:1px solid #dfe6e7}.g47 .g47-benefit p{font-size:15px}
.g47 .g47-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.g47 .g47-step{padding:32px;border-top:4px solid var(--g-accent);background:var(--g-soft)}
.g47 .g47-area>.g47-inner{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center}.g47 .g47-area-photo{height:420px}.g47 .g47-area .btn{display:inline-flex;margin-top:18px}
.g47 .g47-cta{background:var(--g-accent);color:#fff}.g47 .g47-cta>.g47-inner{display:flex;align-items:center;justify-content:space-between;gap:28px}.g47 .g47-cta .g47-ey{color:#fff}.g47 .g47-cta .btn{background:#fff;color:#132433;flex-shrink:0}
.g47 .g47-questions{max-width:1050px}.g47 .g47-question{padding:20px 0;border-bottom:1px solid #dce4e7}.g47 .g47-question summary{font-weight:750;font-size:17px;cursor:pointer}.g47 .g47-question p{margin:12px 0 0}
.g47 .g47-contact>.g47-inner{display:grid;grid-template-columns:1fr 1fr;gap:6vw}.g47 .g47-map{padding-top:0}.g47 .g47-map .demo-map{padding:0}.g47 .g47-map .demo-map-art{height:300px}
/* Distinct hero composition and individual art direction */
.g47-11 .g47-hero{min-height:720px;background:#102630;color:#fff;display:flex;align-items:center}.g47-11 .g47-hero>.g47-hero-photo{position:absolute;inset:0}.g47-11 .g47-hero-photo img{object-fit:cover;opacity:.47}.g47-11 .g47-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#061a25e8 0%,#061a25a6 55%,transparent)}.g47-11 .g47-hero>.g47-inner{position:relative;padding:100px 0;z-index:1}.g47-11 .g47-copy{max-width:820px}.g47-11 .g47-ey{color:#8be3d6}.g47-11 .g47-float{position:absolute;right:4vw;bottom:35px;padding:18px 28px;background:#fff;color:#122d38;font-weight:800}.g47-11 .g47-float span{font-weight:400}
.g47-12{--g-bg:#fbf8f1;--g-soft:#f0eae0;--g-ink:#2e332d;--g-accent:#516a52}.g47-12 h1,.g47-12 h2{font-family:Georgia,serif;letter-spacing:-.04em;font-weight:500}.g47-12 .g47-hero>.g47-inner{display:grid;grid-template-columns:110px 1fr 1fr;gap:4vw;align-items:center;min-height:700px}.g47-12 .g47-side-label{writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.2em;font-size:12px}.g47-12 .g47-hero-photo{height:600px}.g47-12 .g47-service{border:0;border-bottom:1px solid #b8c4b6;background:transparent}
.g47-13{--g-bg:#f7f7f4;--g-soft:#e5e5e1;--g-ink:#151a1c;--g-accent:#a44d20}.g47-13 .g47-hero{background:#161e23;color:#fff}.g47-13 .g47-hero>.g47-inner{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:auto 1fr;gap:20px 50px;min-height:650px;align-items:center}.g47-13 .g47-industrial-label{grid-column:1/-1;padding-top:25px;letter-spacing:.18em;font-weight:900}.g47-13 .g47-hero-photo{height:500px}.g47-13 h1,.g47-13 h2{text-transform:uppercase;font-weight:900}.g47-13 .g47-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.g47-13 .g47-service{display:grid;grid-template-columns:45% 55%}.g47-13 .g47-service-photo{height:100%}
.g47-14{--g-soft:#e9eff1;--g-ink:#1b2e39;--g-accent:#245d73}.g47-14 .g47-hero>.g47-inner{display:grid;grid-template-columns:1.05fr .95fr;grid-template-rows:580px 50px;gap:20px;align-items:stretch;padding-top:35px}.g47-14 .g47-hero-photo{grid-column:1;grid-row:1}.g47-14 .g47-hero-panel{grid-column:2;grid-row:1;background:var(--g-soft);padding:clamp(30px,5vw,80px);display:flex;align-items:center}.g47-14 .g47-grid-label{grid-column:1/-1;letter-spacing:.22em;font-size:12px}.g47-14 .g47-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.g47-14 .g47-service{display:grid;grid-template-columns:1fr 1fr}
.g47-15{--g-bg:#101b23;--g-soft:#1b303c;--g-ink:#f4f0e9;--g-accent:#c6a56a}.g47-15 .g47-hero>.g47-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:4vw;min-height:720px;align-items:center}.g47-15 .g47-premium-top{grid-column:1/-1;align-self:end;letter-spacing:.22em;text-transform:uppercase;font-size:12px}.g47-15 .g47-hero-photo{height:480px}.g47-15 h1,.g47-15 h2{font-family:Georgia,serif;font-weight:400}.g47-15 .g47-benefit,.g47-15 .g47-service{background:#172833;border-color:#35505b}.g47-15 .g47-why{background:#172833}.g47-15 .g47-cta .btn{color:#182831}.g47-15 .g47-question{border-color:#35505b}
.g47-16{--g-bg:#fffdf6;--g-soft:#eaf0df;--g-ink:#334135;--g-accent:#53724d}.g47-16 .g47-hero>.g47-inner{min-height:700px;display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center;position:relative}.g47-16 .g47-organic-badge{grid-column:1/-1;align-self:end;font-family:Georgia,serif;font-style:italic;font-size:23px}.g47-16 .g47-hero-photo{height:500px;border-radius:220px 220px 22px 22px;overflow:hidden}.g47-16 .g47-service,.g47-16 .g47-benefit,.g47-16 .g47-step{border-radius:20px;overflow:hidden}.g47-16 h1,.g47-16 h2{font-family:Georgia,serif;letter-spacing:-.035em}
.g47-17{--g-bg:#fff;--g-soft:#f2f2f2;--g-ink:#171717;--g-accent:#171717}.g47-17 .g47-hero{display:grid;grid-template-columns:1fr 37%;min-height:700px}.g47-17 .g47-hero>.g47-inner{padding:65px 5vw 65px 6vw;width:100%;max-width:none}.g47-17 .g47-swiss-rail{font-size:13px;text-transform:uppercase;letter-spacing:.15em;margin-bottom:70px}.g47-17 .g47-hero-photo{height:100%}.g47-17 .g47-service-grid{grid-template-columns:1fr;gap:0}.g47-17 .g47-service{display:grid;grid-template-columns:180px 1fr;border:0;border-top:1px solid #bbb}.g47-17 .g47-service-photo{height:140px}.g47-17 .g47-service-text{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:20px}.g47-17 .g47-service-text h3{margin:0}
.g47-18{--g-bg:#faf8f2;--g-soft:#e6edfb;--g-ink:#15294d;--g-accent:#d34c32}.g47-18 .g47-hero{background:#f0c84c}.g47-18 .g47-hero>.g47-inner{display:grid;grid-template-columns:1fr 1fr;gap:4vw;align-items:center;min-height:700px;position:relative}.g47-18 .g47-block{position:absolute;width:180px;height:180px;background:#e5574b;right:35%;top:0;transform:rotate(20deg)}.g47-18 .g47-copy,.g47-18 .g47-hero-photo{position:relative;z-index:1}.g47-18 .g47-hero-photo{height:490px;transform:rotate(3deg);box-shadow:20px 20px 0 #193452}.g47-18 .g47-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.g47-18 .g47-service:nth-child(2n){background:#f6e4dc}
.g47-19{--g-bg:#fbfaf8;--g-soft:#edeae5;--g-ink:#26211e;--g-accent:#8c422e}.g47-19 h1,.g47-19 h2{font-family:Georgia,serif;font-weight:500}.g47-19 .g47-hero>.g47-inner{display:grid;grid-template-columns:1fr 1fr;gap:25px 5vw;align-items:center;padding:40px 0 65px}.g47-19 .g47-mag-kicker{grid-column:1/-1;border-bottom:2px solid #26211e;padding-bottom:15px;font-size:13px;letter-spacing:.2em}.g47-19 .g47-hero-photo{height:550px}.g47-19 .g47-mag-note{grid-column:1/-1;text-align:right;font-size:13px;letter-spacing:.15em}.g47-19 .g47-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.g47-19 .g47-service:nth-child(3n){grid-column:span 2;display:grid;grid-template-columns:1fr 1fr}
.g47-20{--g-bg:#f8fbfc;--g-soft:#e6f2f4;--g-ink:#123344;--g-accent:#0b7184}.g47-20 .g47-hero{background:#e6f2f4}.g47-20 .g47-hero>.g47-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:25px 4vw;align-items:center;padding:60px 0}.g47-20 .g47-phone-label{grid-column:1/-1;font-weight:900;letter-spacing:.15em;font-size:13px}.g47-20 .g47-phone-panel{grid-column:1;padding:25px;background:#fff;border-left:5px solid var(--g-accent);display:flex;align-items:center;gap:20px;flex-wrap:wrap}.g47-20 .g47-phone-panel p{margin:0;flex:1}.g47-20 .g47-hero-photo{grid-column:2;grid-row:2/4;height:540px}.g47-20 .g47-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.g47-20 .g47-service{display:grid;grid-template-columns:42% 58%}
@media(max-width:1050px){.g47 .g47-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.g47 .g47-why>.g47-inner{grid-template-columns:1fr}.g47-12 .g47-hero>.g47-inner{grid-template-columns:1fr 1fr}.g47-12 .g47-side-label{display:none}.g47-17 .g47-service-text{grid-template-columns:1fr}}
@media(max-width:700px){.g47 .g47-inner{width:calc(100% - 32px)}.g47 h1{font-size:clamp(38px,10vw,60px)}.g47 h2{font-size:clamp(29px,8vw,42px)}.g47>section{padding:50px 0}.g47 .g47-service-grid,.g47 .g47-benefit-grid,.g47 .g47-steps,.g47 .g47-area>.g47-inner,.g47 .g47-contact>.g47-inner{grid-template-columns:1fr}.g47 .g47-cta>.g47-inner{display:block}.g47 .g47-hero>.g47-inner,.g47-12 .g47-hero>.g47-inner,.g47-13 .g47-hero>.g47-inner,.g47-14 .g47-hero>.g47-inner,.g47-15 .g47-hero>.g47-inner,.g47-16 .g47-hero>.g47-inner,.g47-18 .g47-hero>.g47-inner,.g47-19 .g47-hero>.g47-inner,.g47-20 .g47-hero>.g47-inner{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:38px 0;gap:22px}.g47 .g47-hero-photo{height:280px!important;min-height:280px}.g47-11 .g47-hero{min-height:560px}.g47-11 .g47-hero>.g47-hero-photo{height:100%!important;position:absolute}.g47-11 .g47-hero>.g47-inner{padding:90px 0}.g47-11 .g47-float{display:none}.g47-17 .g47-hero{display:flex;flex-direction:column}.g47-17 .g47-hero>.g47-inner{padding:38px 16px}.g47-17 .g47-swiss-rail{margin-bottom:25px}.g47-14 .g47-hero-panel{padding:25px}.g47-20 .g47-phone-panel{display:block}.g47-20 .g47-phone-panel .btn{margin-top:15px}.g47-13 .g47-service,.g47-14 .g47-service,.g47-17 .g47-service,.g47-19 .g47-service:nth-child(3n),.g47-20 .g47-service{display:block;grid-column:auto}.g47-18 .g47-block{display:none}.g47-18 .g47-hero-photo{transform:none;box-shadow:none}.g47 .g47-area-photo{height:280px}}

/* Phase 4.7G-04: Template 15 contrast repair; all rules scoped to Regent. */
.g47-15 .g47-benefit,.g47-15 .g47-service,.g47-15 .g47-step{color:#f4f0e9;background:#203541;border-color:#45606d}
.g47-15 .g47-benefit h3,.g47-15 .g47-benefit p,.g47-15 .g47-service h3,.g47-15 .g47-service p,.g47-15 .g47-step h3,.g47-15 .g47-step p{color:#f4f0e9!important;opacity:1}
.g47-15 .g47-service-text a{color:#efd194!important;text-decoration:underline;text-underline-offset:3px}
.g47-15 .g47-why .g47-benefit{background:#243b47}
.g47-15 .g47-contact .lead-card,.g47-15 .g47-contact .lead-box,.g47-15 .g47-contact .call-card,.g47-15 .g47-contact [class*="lead-card"],.g47-15 .g47-contact [class*="call-card"]{background:#fff;color:#172832}
.g47-15 .g47-contact .lead-card :is(h2,h3,h4,p,small,strong,span),.g47-15 .g47-contact .lead-box :is(h2,h3,h4,p,small,strong,span),.g47-15 .g47-contact .call-card :is(h2,h3,h4,p,small,strong,span){color:#172832!important;opacity:1}
.g47-15 .g47-contact .lead-card .btn,.g47-15 .g47-contact .lead-box .btn,.g47-15 .g47-contact .call-card .btn{color:#172832!important;background:#c6a56a}
.g47-15 .g47-map .g47-inner>h2,.g47-15 .g47-map .g47-inner>h3{color:#f4f0e9}
.g47-15 .g47-map .demo-map,.g47-15 .g47-map .demo-map :is(h2,h3,p,small,span){color:#172832!important}
.g47-15 .g47-map .demo-map{background:#fff}
/* The shared lead and map components use their own class names; ensure text on white panels is dark. */
.g47-15 .g47-contact .g47-inner> :last-child:not(:first-child){color:#172832}
.g47-15 .g47-contact .g47-inner> :last-child:not(:first-child) :is(h2,h3,h4,p,small,strong,span,label){color:#172832!important;opacity:1}
.g47-15 .g47-contact .g47-inner> :last-child:not(:first-child) .btn{color:#172832!important}
.g47-15 .g47-map .g47-inner> :first-child :is(h2,h3){color:#172832}
/* Phase 4.7G-05: Regent-specific explicit contrast; overrides preview/global card styles. */
.g47.g47-15 .g47-why .g47-benefit,
.g47.g47-15 .g47-services .g47-service,
.g47.g47-15 .g47-process .g47-step{background:#263f4c!important;border-color:#58717b!important;color:#f8f4eb!important}
.g47.g47-15 .g47-why .g47-benefit *,
.g47.g47-15 .g47-services .g47-service-text *,
.g47.g47-15 .g47-process .g47-step *{color:#f8f4eb!important;opacity:1!important;text-shadow:none!important}
.g47.g47-15 .g47-services .g47-service-text a{color:#f6d58f!important;text-decoration:underline!important}
.g47.g47-15 .g47-why .g47-benefit h3,
.g47.g47-15 .g47-services .g47-service-text h3,
.g47.g47-15 .g47-process .g47-step h3{font-weight:750!important}
.g47.g47-15 .g47-map .g47-inner>div:first-child{background:#fff;color:#172832!important}
.g47.g47-15 .g47-map .g47-inner>div:first-child :is(h1,h2,h3,p,small,span){color:#172832!important;opacity:1!important}
/* Phase 4.7G-04: Template 19 consistent editorial service cards. */
.g47-19 .g47-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:22px}
.g47-19 .g47-service,.g47-19 .g47-service:nth-child(3n){display:flex;flex-direction:column;grid-column:auto;min-width:0;background:#fff}
.g47-19 .g47-service-photo,.g47-19 .g47-service:nth-child(3n) .g47-service-photo{height:clamp(210px,20vw,340px);width:100%;flex:none}
.g47-19 .g47-service-photo img{display:block;width:100%;height:100%;object-fit:contain}
.g47-19 .g47-service-text{display:flex;flex-direction:column;align-items:flex-start;flex:1;gap:10px;padding:clamp(22px,2.3vw,34px)}
.g47-19 .g47-service-text h3{margin:0;font-size:clamp(22px,1.8vw,30px)}
.g47-19 .g47-service-text p{font-size:clamp(15px,1.05vw,18px);line-height:1.6;margin:0 0 8px}
.g47-19 .g47-service-text a{margin-top:auto;font-size:15px}
@media(max-width:700px){.g47-19 .g47-service-grid{grid-template-columns:1fr}.g47-19 .g47-service-photo,.g47-19 .g47-service:nth-child(3n) .g47-service-photo{height:230px}}/* 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.4C — Visual Rhythm & Lower-Page Diversity */
.dna44-structure-authority_first .tic-area{background:var(--soft)}
.dna44-structure-service_first [id="services"]{padding-top:clamp(58px,7vw,88px)}
.dna44-structure-story_first [id="why"] h2{max-width:18ch}
.dna44-structure-process_first .tic-process-grid{counter-reset:awb44step}.dna44-structure-process_first .tic-process-grid>*{position:relative}.dna44-structure-process_first .tic-process-grid>*:before{counter-increment:awb44step;content:"0" counter(awb44step);display:block;font-size:12px;font-weight:900;letter-spacing:.12em;color:var(--p);margin-bottom:14px}
.dna44-structure-editorial_flow .tic h2{max-width:17ch}.dna44-structure-editorial_flow .tic-area>.wrap{align-items:start}
.dna44-structure-conversion_first .tic-cta>.wrap{min-height:190px}.dna44-structure-conversion_first .tic-cta .btn{min-width:190px}
.dna44-lower-contact_map_split .tic-contact>.wrap{grid-template-columns:.7fr 1.3fr}.dna44-lower-contact_map_split .tic-map .wrap{width:min(1180px,calc(100% - 48px))}
.dna44-lower-form_focus .tic-contact>.wrap{grid-template-columns:.58fr 1.42fr}.dna44-lower-form_focus .tic-contact .lead{padding:clamp(28px,4vw,42px)}
.dna44-lower-compact_contact .tic-contact{padding-top:56px!important;padding-bottom:56px!important}.dna44-lower-compact_contact .tic-map{padding-bottom:34px!important}
.dna44-lower-cta_contact .tic-contact{background:var(--soft)}.dna44-lower-cta_contact .tic-contact>.wrap{grid-template-columns:1fr 1fr}
.dna44-lower-editorial_contact .tic-contact>.wrap{align-items:start}.dna44-lower-editorial_contact .tic-contact h2{font-size:clamp(36px,5vw,62px)}
.dna44-proof-factual_points .tic-trust-box{border-radius:0}.dna44-proof-service_facts .tic-trust-box span:first-child{font-weight:900}.dna44-proof-local_context .tic-area h2{max-width:15ch}

/* FAQ families */
.dna44-faq-split_editorial [id="faq"]>.wrap{display:grid;grid-template-columns:.58fr 1.42fr;gap:clamp(34px,6vw,82px);align-items:start}.dna44-faq-split_editorial [id="faq"] h2{position:sticky;top:90px}
.dna44-faq-two_column [id="faq"] details{display:inline-block;width:calc(50% - 12px);vertical-align:top;margin-right:8px;box-sizing:border-box}.dna44-faq-two_column [id="faq"] details:nth-of-type(even){margin-right:0}
.dna44-faq-numbered [id="faq"]{counter-reset:faq44}.dna44-faq-numbered [id="faq"] details{counter-increment:faq44;position:relative;padding-left:52px}.dna44-faq-numbered [id="faq"] details:before{content:"0" counter(faq44);position:absolute;left:0;top:18px;font-size:11px;font-weight:900;letter-spacing:.12em;color:var(--p)}
/* Lower-page endings */
.dna44-ending-compact_finish .tic-contact,.dna44-ending-compact_finish .comp-contact{padding-top:52px!important;padding-bottom:52px!important}.dna44-ending-compact_finish .tic-map,.dna44-ending-compact_finish .comp-map{padding-top:24px!important;padding-bottom:40px!important}
.dna44-ending-map_contact .tic-map,.dna44-ending-map_contact .comp-map{background:#fff}.dna44-ending-map_contact .tic-contact,.dna44-ending-map_contact .comp-contact{background:var(--soft)}
.dna44-ending-cta_contact .tic-contact,.dna44-ending-cta_contact .comp-contact{background:color-mix(in srgb,var(--p) 6%,#fff)}
/* Density balancing: prevent long runs of oversized whitespace. */
.dna44-density-compact .tic section,.dna44-density-compact .comp-site section{padding-top:clamp(46px,5vw,68px);padding-bottom:clamp(46px,5vw,68px)}
.dna44-density-balanced .tic section,.dna44-density-balanced .comp-site section{padding-top:clamp(54px,6vw,82px);padding-bottom:clamp(54px,6vw,82px)}
.dna44-density-airy .tic section,.dna44-density-airy .comp-site section{padding-top:clamp(62px,7vw,96px);padding-bottom:clamp(62px,7vw,96px)}
/* Image rhythm: text-heavy families get stronger media presence without inventing assets. */
.dna44-images-image_rich .tic-area img,.dna44-images-image_rich .comp-area img{min-height:390px;object-fit:cover}.dna44-images-image_rich [id="services"] img{object-fit:cover}
.dna44-images-editorial [id="services"] img{filter:saturate(.78);}.dna44-images-editorial .tic-area img,.dna44-images-editorial .comp-area img{border-radius:0!important}

/* Phase 4.5A3 stable desktop readability floor — desktop only. */
@media(min-width:901px){
 body{font-size:16px}
 .wrap{width:min(1240px,calc(100% - 64px))}
 .nav nav,.site-header nav{font-size:15px!important}
 .tic p,.comp-site p{font-size:16px;line-height:1.68}
 .tic [id="services"] p,.tic [id="why"] p,.tic [class*="process"] p,.tic [id="faq"] p,.comp-site [id="services"] p,.comp-site [id="why"] p,.comp-site [class*="process"] p,.comp-site [id="faq"] p{font-size:16px;line-height:1.68}
 .tic h3,.comp-site h3{font-size:clamp(18px,1.45vw,22px)}
 .tic summary,.comp-site summary{font-size:15px;line-height:1.45}
 .tic-contact,.tic-map,.comp-contact,.comp-map{font-size:15px}
 footer,.site-footer{font-size:14px;line-height:1.6}
}
@media(max-width:900px){.dna44-faq-split_editorial [id="faq"]>.wrap{grid-template-columns:1fr}.dna44-faq-split_editorial [id="faq"] h2{position:static}.dna44-faq-two_column [id="faq"] details{display:block;width:100%;margin-right:0}.dna44-lower-contact_map_split .tic-contact>.wrap,.dna44-lower-form_focus .tic-contact>.wrap,.dna44-lower-cta_contact .tic-contact>.wrap{grid-template-columns:1fr}}/* 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.5B1.1 — Built-in Template Section Contrast Safety.
   Named templates keep their layout identity, while light/dark section foregrounds
   are explicitly owned by the section instead of leaking from adjacent template DNA. */
.template-library{
  --tl-light-head:#111827;
  --tl-light-body:#374151;
  --tl-light-muted:#64748b;
  --tl-dark-head:#ffffff;
  --tl-dark-body:#e5e7eb;
}

/* Known light surfaces in built-in templates. */
.template-library :is(
  .services-section,.process-section,.faq-section,.contact-section,.map-section,
  .visual-band,.area,.tic-area,.tic-contact,.tic-map,
  section[class$="-services"],section[class$="-process"],section[class$="-faq"]
){
  color:var(--tl-light-head)!important;
  -webkit-text-fill-color:initial;
}
.template-library :is(
  .services-section,.process-section,.faq-section,.contact-section,.map-section,
  .visual-band,.area,.tic-area,.tic-contact,.tic-map,
  section[class$="-services"],section[class$="-process"],section[class$="-faq"]
) :is(h1,h2,h3,h4,h5,h6,b,strong,summary,label){
  color:var(--tl-light-head)!important;
  -webkit-text-fill-color:var(--tl-light-head)!important;
  opacity:1!important;
}
.template-library :is(
  .services-section,.process-section,.faq-section,.contact-section,.map-section,
  .visual-band,.area,.tic-area,.tic-contact,.tic-map,
  section[class$="-services"],section[class$="-process"],section[class$="-faq"]
) :is(p,li,small,address){
  color:var(--tl-light-body)!important;
  -webkit-text-fill-color:var(--tl-light-body)!important;
  opacity:1!important;
}

/* Self-contained white/light cards must never inherit white copy from a dark block. */
.template-library :is(.service-card,.step,.lead,.contact-card,.map-card,.faq details){
  color:var(--tl-light-head)!important;
}
.template-library :is(.service-card,.step,.lead,.contact-card,.map-card,.faq details) :is(h1,h2,h3,h4,h5,h6,b,strong,summary,label){
  color:var(--tl-light-head)!important;
  -webkit-text-fill-color:var(--tl-light-head)!important;
}
.template-library :is(.service-card,.step,.lead,.contact-card,.map-card,.faq details) :is(p,li,small,address){
  color:var(--tl-light-body)!important;
  -webkit-text-fill-color:var(--tl-light-body)!important;
}

/* Known dark surfaces keep explicit light copy. */
.template-library :is(.dark,.why-section,.tic-cta){
  color:var(--tl-dark-head)!important;
}
.template-library :is(.dark,.why-section,.tic-cta) :is(h1,h2,h3,h4,h5,h6,b,strong,summary,label){
  color:var(--tl-dark-head)!important;
  -webkit-text-fill-color:var(--tl-dark-head)!important;
  opacity:1!important;
}
.template-library :is(.dark,.why-section,.tic-cta) :is(p,li,small,address){
  color:var(--tl-dark-body)!important;
  -webkit-text-fill-color:var(--tl-dark-body)!important;
  opacity:1!important;
}

/* CTA uses its computed smart brand surface and therefore always owns white copy. */
.template-library .cta,
.template-library section.cta{
  color:#fff!important;
}
.template-library .cta :is(h1,h2,h3,h4,h5,h6,b,strong),
.template-library section.cta :is(h1,h2,h3,h4,h5,h6,b,strong){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.template-library .cta :is(p,li,small),
.template-library section.cta :is(p,li,small){
  color:#f8fafc!important;
  -webkit-text-fill-color:#f8fafc!important;
}

/* Accent labels are allowed to use the customer brand only on light surfaces. */
.template-library :is(
  .services-section,.process-section,.faq-section,.contact-section,.map-section,
  .visual-band,.area,.tic-area,.tic-contact,.tic-map
) .eyebrow{
  color:var(--p)!important;
  -webkit-text-fill-color:var(--p)!important;
}

/* Form controls and light buttons own their foreground regardless of section inheritance. */
.template-library :is(input,textarea,select,option){
  color:#111827!important;
  -webkit-text-fill-color:#111827!important;
}
.template-library :is(input,textarea)::placeholder{
  color:#64748b!important;
  -webkit-text-fill-color:#64748b!important;
  opacity:1!important;
}
.template-library .btn-light{
  background:#fff!important;
  color:#111827!important;
  -webkit-text-fill-color:#111827!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;
}/* Phase 4.5B1.2: Sterling (template 07) only. Keep all other template families untouched. */
@media(min-width:901px){
 body.tl-template-7 .tic7>section:not(.tic-map){padding-top:56px;padding-bottom:56px}
 body.tl-template-7 .tic7 .tic7-hero{padding-top:60px;padding-bottom:38px}
 body.tl-template-7 .tic7 .tic7-photo{padding-top:20px!important;padding-bottom:30px}
 body.tl-template-7 .tic7 .tic7-photo img{height:clamp(320px,35vw,440px);object-fit:cover}
 body.tl-template-7 .tic7 .tic7-meta{margin-top:30px;gap:16px}
 body.tl-template-7 .tic7 .tic7-service{padding:19px 0;gap:22px;grid-template-columns:48px minmax(170px,.85fr) minmax(240px,1.3fr) 54px}
 body.tl-template-7 .tic7 .tic7-service h3{font-size:clamp(19px,2vw,25px);margin:0}
 body.tl-template-7 .tic7 .tic7-service p{margin:0}
 body.tl-template-7 .tic7 .tic-benefit-line{padding:18px 0;gap:22px}
 body.tl-template-7 .tic7 .tic7-process .tic-process-line{padding:18px 0}
 body.tl-template-7 .tic7 .tic7-faq .tic-faq-row{padding:17px 0;gap:22px}
 body.tl-template-7 .tic7 .tic-area-media{height:310px}
 body.tl-template-7 .tic7 .tic-area>.wrap{gap:36px}
 body.tl-template-7 .tic7 .tic-contact>.wrap{gap:36px}
}
@media(max-width:900px){
 body.tl-template-7 .tic7>section:not(.tic-map){padding-top:46px;padding-bottom:46px}
 body.tl-template-7 .tic7 .tic7-meta{margin-top:24px;gap:10px}
 body.tl-template-7 .tic7 .tic7-photo img{height:clamp(230px,55vw,380px);object-fit:cover}
 body.tl-template-7 .tic7 .tic7-service{padding:17px 0;gap:14px}
 body.tl-template-7 .tic7 .tic-benefit-line,body.tl-template-7 .tic7 .tic7-process .tic-process-line{padding:18px 0}
 body.tl-template-7 .tic7 .tic-faq-row{padding:17px 0}
}
@media(max-width:620px){
 body.tl-template-7 .tic7>section:not(.tic-map){padding-top:36px;padding-bottom:36px}
 body.tl-template-7 .tic7 .tic7-service{grid-template-columns:38px minmax(0,1fr);gap:9px 14px}
 body.tl-template-7 .tic7 .tic7-service :is(p,a){grid-column:2}
 body.tl-template-7 .tic7 .tic-benefit-line{grid-template-columns:1fr;gap:8px}
 body.tl-template-7 .tic7 .tic7-process .tic-process-line{grid-template-columns:46px minmax(0,1fr)}
}\n/* Phase 3.11C8 conversion header/footer + mobile sticky call bar */\n.cdh nav a,.cd-header nav a{font-size:15.5px!important;line-height:1.4!important}.cdh .brand-name,.cd-header .brand-name{font-size:18px!important;line-height:1.2!important}.cdh .brand-name small,.cd-header .brand-name small,.cdh .logo small,.cd-header .logo small{font-size:12.5px!important;line-height:1.4!important}.cdh .btn,.cd-header .btn,.cdh .cdh-action,.cd-header .cdh-action{font-size:15px!important}.cdh-2 .cdh-strip,.cdh-5 .cdh-meta small,.cdh-6 .cdh-rule-row span{font-size:11.5px!important}.cd-footer small{font-size:12px!important;line-height:1.5!important}.cd-footer p,.cd-footer a,.cd-footer .cd-foot-brand p{font-size:15.5px!important;line-height:1.65!important}.cd-footer .cd-foot-brand .brand-name{font-size:16.5px!important;line-height:1.3!important}.cd-footer .cd-foot-brand .brand-name small{font-size:12.5px!important;line-height:1.4!important}.cd-footer .cd-foot-base{font-size:14px!important;line-height:1.5!important}.premium-footer .footer-brand p{font-size:16px!important;line-height:1.75!important}.premium-footer .footer-col b{font-size:15px!important}.premium-footer .footer-col a,.premium-footer .footer-col span,.premium-footer .footer-mini-links a{font-size:16px!important;line-height:1.6!important}.premium-footer .footer-bottom{font-size:14px!important;line-height:1.5!important}.premium-footer .footer-area span{font-size:13px!important}.awb-mobile-callbar{display:none}@media(max-width:900px){body.awb-has-mobile-callbar{padding-bottom:74px!important}.awb-mobile-callbar{position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:10050!important;display:flex!important;align-items:center!important;justify-content:center!important;min-height:64px!important;padding:9px 14px calc(9px + env(safe-area-inset-bottom))!important;background:var(--p,#0f766e)!important;box-shadow:0 -8px 24px rgba(15,23,42,.18)!important;border-top:1px solid rgba(255,255,255,.22)!important}.awb-mobile-callbar a{display:flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;width:min(100%,560px)!important;min-height:46px!important;padding:10px 16px!important;border-radius:12px!important;background:rgba(255,255,255,.13)!important;color:#fff!important;text-decoration:none!important;font-size:18px!important;font-weight:900!important;line-height:1.2!important;letter-spacing:.01em!important}.awb-mobile-callbar .awb-call-icon{font-size:20px!important;line-height:1!important}.cdh nav a,.cd-header nav a{font-size:15.5px!important}.cd-footer p,.cd-footer a{font-size:15.5px!important}.premium-footer .footer-col a,.premium-footer .footer-col span{font-size:16px!important}}