@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#102e41;--navy-deep:#0b2533;--ink:#183244;--muted:#677986;--teal:#127f76;--mint:#e7f3ef;--border:#dce5e8;--canvas:#f7f9f8;--white:#fff;--accent:#f8d7b0}html[data-theme=blue]{--navy:#182e67;--navy-deep:#142455;--teal:#306cb6;--mint:#eaf1fc;--accent:#f4ca93}html[data-theme=heritage]{--navy:#243648;--navy-deep:#172635;--teal:#a14f44;--mint:#f8f0ee;--accent:#f1c7a6}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.55;background:var(--white)}a{color:inherit;text-decoration:none}a:hover{text-decoration:none}button,input,select,textarea{font:inherit}.shell{width:min(1200px,calc(100% - 48px));margin:auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.topbar{height:84px;background:#fff;box-shadow:0 1px 0 #e7edef;position:relative;z-index:10}.nav{display:flex;align-items:center;justify-content:space-between;height:100%}.logo{display:flex;align-items:center;gap:13px;font-family:Manrope,sans-serif;font-size:18px;font-weight:800;letter-spacing:-.6px}.mark{display:grid;place-items:center;color:white;background:var(--navy);border-radius:11px;width:42px;height:42px;font-weight:800;font-size:24px}.mark span{color:#52d1b6}.nav nav{display:flex;gap:36px;align-items:center;font-size:14px;font-weight:700}.nav nav>a:hover{color:var(--teal)}.nav-cta{padding:13px 20px;border-radius:7px;background:var(--navy);color:#fff!important}.nav-cta span{margin-left:12px}.menu-button{display:none}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2.1px;color:#b1d6cf;margin:0 0 22px;text-transform:uppercase}.eyebrow-line{display:inline-block;width:23px;height:2px;background:#5dccb9;vertical-align:middle;margin-right:10px}.eyebrow.teal{color:var(--teal)}.hero{background:var(--navy-deep);color:#fff;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.17fr .83fr;gap:72px;align-items:center;padding:95px 0 102px}.hero-copy h1,.pagehead h1{font:800 clamp(40px,4.5vw,65px)/1.13 Manrope,sans-serif;letter-spacing:-2.9px;margin:0 0 25px}.hero-copy h1 em{font-style:normal;color:#71d3c4}.hero-lead{font-size:17px;max-width:550px;color:#c7d6db;line-height:1.75;margin:0 0 34px}.hero-search{display:flex;align-items:center;background:#fff;border:1px solid #dce6ea;border-radius:9px;padding:7px;box-shadow:0 16px 38px #081c282e;max-width:600px}.hero-search input{height:47px;border:none;outline:none;padding:0 12px;min-width:0;flex:1;color:#203742}.search-symbol{padding-left:12px;font-size:26px;color:#768d95}.hero-search button{border:0;background:var(--teal);color:#fff;font-weight:800;border-radius:6px;padding:13px 22px;cursor:pointer;white-space:nowrap}.hero-search button span{padding-left:8px}.hero-bottom{display:flex;gap:15px;align-items:center;color:#aec6ce;font-size:12px;margin-top:22px;flex-wrap:wrap}.hero-bottom strong{color:white}.dot{width:3px;height:3px;border-radius:50%;background:#aac1c9}.hero-art{background:#fff;color:var(--navy);border-radius:13px;overflow:hidden;box-shadow:0 35px 80px #03172080;transform:rotate(1.5deg);max-width:440px;margin-left:auto;width:100%}.art-header{display:flex;gap:5px;padding:18px 20px;border-bottom:1px solid #edf0f0}.art-circle{width:8px;height:8px;background:#d4e0e2;border-radius:50%}.art-top{padding:30px 34px;background:#f4f8f6}.art-overline{letter-spacing:1.6px;font-weight:700;color:var(--teal);font-size:10px}.art-title{font:800 30px/1.28 Manrope,sans-serif;letter-spacing:-1.2px;margin-top:14px}.art-title span{color:#35ac9e}.art-list{padding:6px 22px}.art-item{display:flex;align-items:center;gap:13px;padding:16px 5px;border-bottom:1px solid #edf1f1}.art-item:last-child{border:0}.art-box{background:#dcefe9;color:var(--teal);border-radius:8px;width:42px;height:42px;display:grid;place-items:center;font-weight:800}.art-box.muted{background:#f8e7d8;color:#99623b}.art-box.dark{background:#e4e9f2;color:#425c87}.art-item span:nth-child(2){flex:1}.art-item b,.art-item small{display:block}.art-item b{font-size:13px}.art-item small{color:#83929a;font-size:11px}.art-item>span:last-child{color:#99adb2}.art-footer{background:var(--navy);color:#bad4dc;display:flex;justify-content:space-between;align-items:center;padding:17px 27px;font-size:9px;letter-spacing:1.5px;font-weight:800}.art-star{font-size:24px;color:#78d9c7}.section{padding:75px 0 90px}.section-top{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:27px}.section h2,.feature-band h2,.bottom-cta h2{font:800 clamp(26px,3vw,38px)/1.25 Manrope,sans-serif;letter-spacing:-1.35px;margin:0 0 9px}.section-top p:not(.eyebrow){margin:0;color:var(--muted)}.section-top .eyebrow{margin-bottom:12px}.text-link{font-weight:800;color:var(--teal);font-size:14px;white-space:nowrap}.cat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.cat-tile{display:flex;align-items:center;gap:15px;min-height:94px;border:1px solid var(--border);border-radius:9px;padding:15px 17px;background:#fff;font-weight:700;font-size:14px;transition:.2s}.cat-tile:hover,.business-card:hover{border-color:#95c4bd;box-shadow:0 10px 24px #112d3f0c;transform:translateY(-2px)}.cat-tile-icon{display:grid;place-items:center;width:35px;height:35px;min-width:35px;background:var(--mint);border-radius:7px;color:var(--teal);font-size:20px}.cat-chevron{margin-left:auto;color:#9babb3}.feature-band{background:var(--teal);padding:72px 0;color:white}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.feature-band h2{font-size:43px}.feature-band p:not(.eyebrow){color:#deeeeb;max-width:480px}.light-label{color:#cce6de}.button{display:inline-flex;gap:24px;align-items:center;justify-content:space-between;border:0;border-radius:7px;padding:14px 20px;background:var(--navy);color:#fff;font-weight:800;font-size:14px;cursor:pointer}.button.light{background:#fff;color:var(--navy);margin-top:18px}.button:disabled{opacity:.5;cursor:not-allowed}.steps>div{display:flex;gap:26px;border-bottom:1px solid #ffffff43;padding:22px 0}.steps>div:first-child{padding-top:0}.steps>div:last-child{border-bottom:0}.steps b{font:800 30px Manrope;color:#dbebe8}.steps strong,.steps small{display:block}.steps small{font-size:13px;color:#d9ede9;margin-top:5px}.business-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.business-card{border:1px solid var(--border);border-radius:9px;padding:23px;display:flex;gap:15px;align-items:center;transition:.2s;min-height:115px;background:white}.card-icon{width:55px;height:55px;border-radius:9px;background:var(--mint);color:var(--teal);display:grid;place-items:center;font:800 24px Manrope;flex-shrink:0}.card-title{font-weight:800;font-size:16px}.card-meta{font-size:12px;color:var(--muted);margin-top:2px}.card-text{flex:1}.card-arrow{color:var(--teal)}.small-premium{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--teal);font-weight:800}.bottom-cta{background:var(--navy-deep);color:#fff;padding:57px 0}.bottom-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.bottom-inner .eyebrow{margin-bottom:12px}.bottom-inner p:not(.eyebrow){color:#c4d3d7;margin:0}.bottom-cta h2{margin-bottom:10px}footer{background:#0b1f2c;color:#c1d0d5;padding:52px 0 22px;font-size:13px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.footer-brand{color:white;font:800 19px Manrope}.footer-grid p{max-width:330px;color:#8ea6b0}.footer-grid strong,.footer-grid a{display:block;margin:0 0 12px}.footer-grid strong{color:#fff}.footer-end{border-top:1px solid #2b404b;margin-top:40px;padding-top:20px;color:#8fa7b1;font-size:12px}.pagehead{background:#f4f8f7;padding:60px 0 56px}.pagehead h1{font-size:clamp(32px,4vw,49px);color:var(--navy);letter-spacing:-2px;margin-bottom:9px}.pagehead p:not(.eyebrow){color:var(--muted);margin:0}.pagehead .eyebrow{margin-bottom:14px}.back{font-size:13px;font-weight:700;color:var(--teal);display:block;margin-bottom:23px}.list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;gap:20px}.list-header h2{font-size:24px}.list-header span,.muted{color:var(--muted);font-size:13px}.empty{border:1px dashed var(--border);border-radius:9px;padding:40px;color:var(--muted)}.empty a{color:var(--teal);text-decoration:underline}.sponsor-wrap{position:relative}.sponsor-wrap .business-card{border-color:#b3d5d0;background:#f7fbf9}.ad-label{color:#6c7c84;display:block;font-size:11px;font-weight:700;margin:0 0 4px}.search-on-light{margin-top:24px;max-width:680px}.profile-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:30px;align-items:start}.profile-main,.profile-side{border:1px solid var(--border);padding:34px;border-radius:10px}.profile-lead{display:flex;gap:25px;align-items:center;padding-bottom:28px;border-bottom:1px solid var(--border)}.profile-logo{height:86px;width:86px;background:var(--mint);color:var(--teal);border-radius:12px;display:grid;place-items:center;font:800 36px Manrope;overflow:hidden;flex-shrink:0}.profile-logo img{max-width:100%;max-height:100%;object-fit:contain}.profile-lead h2{font-size:27px;margin:0}.profile-lead p{color:var(--muted);margin:3px 0}.profile-section{padding:30px 0;border-bottom:1px solid var(--border)}.profile-section h3,.profile-side h3{font:800 20px Manrope;margin:0 0 15px}.prose{color:#4d6370;line-height:1.9}.deep-links{display:grid;gap:12px}.deep-links a{border:1px solid var(--border);border-radius:7px;padding:12px 16px;display:flex;justify-content:space-between;font-weight:700}.deep-links a:hover{border-color:var(--teal)}.profile-side .info-label{font-size:11px;font-weight:800;text-transform:uppercase;color:var(--muted);letter-spacing:.7px;margin:20px 0 5px}.profile-side p{margin:0;font-size:14px}.website-button{margin-top:25px;width:100%}.listing-disclaimer{font-size:11px!important;color:var(--muted);line-height:1.6;margin-top:18px!important}.form-head{padding-bottom:45px}.form-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(250px,.9fr);gap:38px;align-items:start}.form-card{background:#fff;padding:30px;border:1px solid var(--border);border-radius:10px;margin-bottom:20px}.form-heading{display:flex;gap:15px;align-items:start;margin-bottom:28px}.step-num{background:var(--mint);border-radius:7px;color:var(--teal);font-weight:800;padding:7px 12px}.form-heading h2{font-size:22px;letter-spacing:-.8px;margin:0}.form-heading p{margin:3px 0;color:var(--muted);font-size:13px}.fields{display:grid;gap:18px}.fields label,.admin-login label{font-size:13px;font-weight:700;display:block}.fields label span{color:#ba6558}.fields input,.fields select,.fields textarea,.admin-login input{display:block;width:100%;border:1px solid #cfdadd;border-radius:6px;background:white;padding:12px;margin-top:6px;color:var(--ink);outline-color:var(--teal)}.fields small{font-size:11px;color:var(--muted);font-weight:400;line-height:1.5;display:block;margin-top:6px}.fields-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.plan-option{border:1px solid var(--border);border-radius:8px;padding:20px;display:flex;flex-direction:column;gap:6px;cursor:pointer}.plan-option.selected{border:2px solid var(--teal);background:#f4faf7;padding:19px}.plan-option input{accent-color:var(--teal)}.plan-title{font-weight:800}.plan-option b{font:800 24px Manrope}.plan-option small{font-size:12px;color:var(--muted)}.premium-preview{margin-top:18px;border-radius:8px;background:var(--canvas);padding:18px;font-size:13px;color:var(--muted)}.premium-preview strong{color:var(--ink)}.premium-preview p{margin:5px 0 0}.pending-note{display:none;margin-top:12px;color:#955a2c}.premium-preview.expanded .pending-note{display:block}.directory-checks{display:grid;gap:10px}.directory-checks label{display:flex;align-items:center;gap:11px;padding:12px 15px;border:1px solid var(--border);border-radius:7px;font-weight:700;font-size:13px}.directory-checks input,.terms-check input{accent-color:var(--teal);width:17px;height:17px}.sum-row{display:flex;justify-content:space-between;border-top:1px solid var(--border);margin-top:19px;padding-top:15px}.terms-check{display:flex;align-items:flex-start;gap:12px;font-size:13px}.terms-check a{color:var(--teal);text-decoration:underline}.submit-btn{margin-top:25px;min-width:220px}.microcopy,.hint{color:var(--muted);font-size:12px}.trap{position:absolute;left:-99999px}.side-panel{background:var(--canvas);border:1px solid var(--border);border-radius:10px;padding:27px;position:sticky;top:30px}.side-panel h3{font:800 23px/1.35 Manrope;margin:0 0 25px}.side-benefit{display:flex;gap:12px;padding:17px 0;border-top:1px solid var(--border)}.side-benefit b{color:var(--teal)}.side-benefit strong{font-size:13px}.side-benefit p{font-size:12px;color:var(--muted);margin:5px 0}.error-box{padding:16px 20px;background:#fff4ef;border:1px solid #ecc6b7;border-radius:8px;margin-bottom:20px}.good-box{padding:16px 20px;background:#e7f6e8;border:1px solid #b3d7be;border-radius:8px;margin-bottom:20px}.success-icon{font-size:42px;color:var(--teal)}.success-card h2{font-size:27px}.prose-page{max-width:860px}.prose-page h2{font-size:23px;margin-top:30px}.prose-page p{color:#536875;line-height:1.8}.admin-login{max-width:480px;margin:auto}.admin-login form{display:grid;gap:20px}.admin-top{display:flex;justify-content:space-between;align-items:center}.admin-top>a{font-weight:800;color:var(--teal)}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:28px}.admin-stats>div{background:var(--canvas);padding:22px;border-radius:8px}.admin-stats span{display:block;color:var(--muted);font-size:13px}.admin-stats b{font:800 30px Manrope}.admin-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:20px;align-items:start}.admin-record{border-bottom:1px solid var(--border);padding:17px 0}.admin-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.mini-button{cursor:pointer;border:1px solid var(--border);background:#f7f9f8;padding:5px 9px;border-radius:4px;font-size:11px}.mini-button:hover{border-color:var(--teal)}.admin-create .fields{gap:12px}.admin-create .fields label{font-size:12px}
@media(max-width:1000px){.hero-grid{gap:30px}.cat-grid{grid-template-columns:repeat(3,1fr)}.hero-copy h1{font-size:50px}.art-title{font-size:25px}.admin-layout{grid-template-columns:1fr}}
@media(max-width:760px){.shell{width:min(100% - 32px,1200px)}.topbar{height:70px}.logo{font-size:15px}.mark{width:36px;height:36px}.menu-button{display:block;border:0;background:transparent;font-size:25px}.nav nav{display:none;position:absolute;top:70px;left:0;right:0;background:white;box-shadow:0 8px 15px #0001;flex-direction:column;align-items:stretch;gap:0;padding:10px 16px 19px}.nav nav.open{display:flex}.nav nav>a{padding:13px}.hero-grid{grid-template-columns:1fr;padding:63px 0 68px}.hero-copy h1{font-size:clamp(38px,9vw,52px);letter-spacing:-2px}.hero-lead{font-size:15px}.hero-art{max-width:520px;margin:auto}.hero-search input{font-size:13px}.hero-search button{padding:13px 14px}.cat-grid{grid-template-columns:repeat(2,1fr)}.section{padding:53px 0}.section-top{align-items:start}.feature-grid,.profile-grid,.form-layout{grid-template-columns:1fr}.feature-band h2{font-size:35px}.feature-band{padding:55px 0}.business-grid{grid-template-columns:1fr}.bottom-inner{align-items:start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr;gap:24px}.footer-grid>div:first-child{grid-column:span 2}.pagehead{padding:46px 0}.pagehead h1{font-size:38px}.side-panel{position:static}.admin-stats{gap:8px}}
@media(max-width:470px){.cat-grid,.plan-grid,.fields-two{grid-template-columns:1fr}.section-top{flex-direction:column;gap:8px}.hero-bottom{gap:9px}.hero-search .search-symbol{display:none}.hero-search input{padding-left:9px}.hero-search button{font-size:12px}.form-card{padding:20px}.hero-art{transform:none}.art-top{padding:25px}.profile-main,.profile-side{padding:23px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}}

/* Stage 3 profile details */
.s3-hours{margin:18px 0;padding:18px;background:#f7f9fa;border:1px solid #e0e7ed;border-radius:12px}.s3-hour-row{display:grid;grid-template-columns:100px 1fr 112px 112px;gap:8px;align-items:center;padding:7px 0}.s3-hour-row select,.s3-hour-row input{min-width:0;width:100%;padding:9px;border:1px solid #d8e0e7;border-radius:7px;background:#fff}.s3-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.s3-gallery figure{margin:0}.s3-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}.s3-gallery figcaption{padding:4px 0;font-size:12px;color:#66788a}.s3-aside-group{margin-top:22px;padding-top:18px;border-top:1px solid #e0e7ed}.s3-aside-group h4{margin:0 0 12px;font-size:16px}.s3-aside-line{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:13px}.s3-tags{display:flex;flex-wrap:wrap;gap:6px}.s3-tags span{padding:5px 8px;background:#eff4f6;border-radius:5px;font-size:12px}.s3-status{font-size:11px;display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.s3-status span{background:#eaf0f3;border-radius:4px;padding:3px 6px}.s3-gallery-fields{padding:12px 0}.s3-count{float:right;color:#6b7b87;font-size:12px}.s3-count.near{color:#a45a14}.s3-gallery-error{color:#a12f25;font-size:13px}@media(max-width:800px){.s3-hour-row{grid-template-columns:70px minmax(0,1fr);}.s3-hour-row input{width:100%}.s3-gallery{gap:8px}}

/* Stage 3 admin clarity and moderation */
.adm-record-card{padding:22px 0;border-bottom:1px solid #dbe3e8}.adm-record-heading{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:14px}.adm-record-heading strong{font-size:1.12rem}.adm-status{display:inline-flex;padding:4px 9px;border-radius:99px;background:#eef2f4;color:#405165;font-weight:700;font-size:11px;white-space:nowrap}.adm-status-live,.adm-status-approved{background:#e4f4ed;color:#166341}.adm-status-suspended,.adm-status-blocked{background:#fde8e8;color:#a52828}.adm-status-pending,.adm-status-review{background:#fff0d6;color:#7d5011}.adm-directory-status{border:1px solid #e0e6eb;border-radius:10px;overflow:hidden;margin:12px 0}.adm-directory-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 11px;font-size:12px}.adm-directory-row+.adm-directory-row{border-top:1px solid #e8eef2}.adm-placement-meta{display:flex;align-items:center;gap:6px}.adm-delete-details{position:relative}.adm-delete-details summary{cursor:pointer;list-style:none}.adm-delete-details[open]{flex-basis:100%}.adm-delete-details form{background:#fff4f4;border:1px solid #edc8c8;padding:12px;margin-top:10px;border-radius:8px;display:grid;gap:8px}.adm-delete-details input{width:100%;max-width:220px}.adm-danger-outline{color:#a32626!important;border-color:#e7bcbc!important}.adm-placement-actions{margin-top:12px;font-size:12px}.adm-placement-actions summary{cursor:pointer;color:#256078;font-weight:600}.adm-small-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.adm-pagination{display:flex;justify-content:space-between;gap:12px;padding-top:15px}.adm-pagination a{font-weight:700}.admin-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}

/* Functional patch 3.1: consistent business gallery limits and contact details.
   Visual redesign is reserved for the next design stage. */
.s4-gallery-section{min-width:0;max-width:100%;overflow:hidden}
.s4-gallery{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;max-width:100%;width:100%;align-items:start}
.s4-gallery figure{margin:0!important;min-width:0;max-width:100%;overflow:hidden}
.s4-gallery a{display:block;overflow:hidden;border-radius:8px}
.s4-gallery img{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;aspect-ratio:4/3;object-fit:cover;max-height:230px!important;border-radius:8px}
.s4-gallery figcaption{font-size:12px;line-height:1.45;padding-top:6px}
.profile-side .website-button{overflow-wrap:anywhere;word-break:break-word;line-height:1.5;text-align:center}
@media(max-width:480px){.s4-gallery{gap:8px!important}.s4-gallery img{max-height:170px!important}}

/* Homepage company logo from the master business record */
.business-card .card-icon{overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.business-card .s4-card-logo{display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;background:#fff;padding:3px}


/* Stage 4: editorial directory design / shared presentation system */
:root {--d4-focus:#128d87;--d4-pale:#e6f4f1;--d4-paper:#f5f8fa;--d4-hero:#0b293a}
html[data-theme="blue"]{--d4-focus:#2569b8;--d4-pale:#e9f2ff;--d4-hero:#112d52}
html[data-theme="heritage"]{--d4-focus:#a04f43;--d4-pale:#faf0eb;--d4-hero:#273a48}
body{overflow-x:hidden;background:#fff}
.d4-hero{position:relative;isolation:isolate;min-height:460px;background:var(--d4-hero);color:white;overflow:hidden}
.d4-hero-photo{position:absolute;inset:0 0 0 48%;background:url('/assets/img/stage4/uk-town.webp') center 45%/cover no-repeat;z-index:-2;opacity:.83}
.d4-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--d4-hero) 0%,var(--d4-hero) 36%,rgba(10,38,56,.93) 50%,rgba(9,29,48,.38) 100%);z-index:-1}
.d4-hero-inner{display:flex;align-items:center;min-height:460px;padding:65px 0 78px}.d4-hero-content{max-width:740px;width:100%}
.d4-kicker,.d4-overline{font-size:11px;letter-spacing:2px;font-weight:800;text-transform:uppercase;margin:0 0 17px}.d4-kicker{color:#94ece1}.d4-overline{color:var(--d4-focus)}
.d4-hero h1{font:800 clamp(38px,4.7vw,65px)/1.13 Manrope,sans-serif;letter-spacing:-2.5px;margin:0 0 21px;max-width:710px}.d4-hero h1 span{display:block;color:#a5e6dd}
html[data-theme=blue] .d4-hero h1 span{color:#b7d7ff}html[data-theme=heritage] .d4-hero h1 span{color:#ffd4b4}
.d4-intro{max-width:580px;font-size:16px;line-height:1.8;color:#edf6f7;margin:0 0 29px}
.d4-search{background:#fff;display:flex;align-items:center;gap:10px;padding:7px 7px 7px 18px;border-radius:8px;max-width:610px;box-shadow:0 12px 38px #00151a33}
.d4-search svg{fill:none;stroke:#527081;stroke-width:2;flex-shrink:0}.d4-search input{flex:1;min-width:0;border:0;background:white;color:#243e50;outline:0;height:44px;font-size:14px}
.d4-search button,.d4-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:5px;background:var(--d4-focus);color:#fff;font-weight:800;padding:15px 21px;white-space:nowrap;font-size:13px;cursor:pointer}
.d4-search button:hover,.d4-button:hover{filter:brightness(1.08);color:white}.d4-hero-notes{display:flex;flex-wrap:wrap;gap:18px;color:#c2d4da;font-size:12px;margin-top:22px}.d4-hero-notes span+span:before{content:"·";margin-right:18px;color:#64c8b7}
.d4-utility{background:#fff;border-bottom:1px solid #e6ecef}.d4-utility-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:23px 0}.d4-utility-grid>div{display:flex;gap:13px;align-items:center}.d4-utility-symbol{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;background:var(--d4-pale);color:var(--d4-focus);border-radius:50%;font-size:26px}.d4-utility-grid b{display:block;font-size:13px}.d4-utility-grid small{display:block;color:#6d7f8a;font-size:11px;margin-top:2px}
.d4-section-title{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:27px}.d4-section-title h2{font:800 clamp(27px,3vw,38px)/1.2 Manrope,sans-serif;letter-spacing:-1.4px;color:var(--navy);margin:0 0 8px}.d4-section-title p:not(.d4-overline){margin:0;color:var(--muted)}.d4-section-title .d4-overline{margin-bottom:9px}.d4-section-title a{font-size:13px;font-weight:800;color:var(--d4-focus);white-space:nowrap}
.d4-categories{background:#f6f8fa}.d4-category-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:17px}.d4-category{display:block;background:#fff;border:1px solid #dce5ec;border-radius:5px;overflow:hidden;font-weight:800;min-width:0;transition:box-shadow .2s, transform .2s}.d4-category:hover{transform:translateY(-3px);box-shadow:0 10px 24px #0d2d431a}.d4-category img{display:block;width:100%;height:106px;object-fit:cover}.d4-category span{display:block;padding:12px 13px 14px;font-size:12px;line-height:1.45;min-height:55px}
.d4-promo{background:#0f3044;color:#fff;overflow:hidden}.d4-promo-layout{display:grid;grid-template-columns:1fr 40%;align-items:center;gap:55px;min-height:290px}.d4-promo-layout>div:first-child{padding:51px 0}.d4-promo h2{font:800 clamp(28px,3.2vw,40px)/1.18 Manrope,sans-serif;letter-spacing:-1.2px;margin:0 0 14px}.d4-promo p:not(.d4-overline){color:#d0e1e7;line-height:1.8;margin-bottom:25px}.d4-promo .d4-overline{color:#86d7cf}.d4-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.d4-secondary-link{font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:4px}.d4-promo-image{height:100%;min-height:290px;background:linear-gradient(90deg,rgba(15,48,68,.15),transparent),url('/assets/img/stage4/open-business.webp') center/cover no-repeat}
.d4-latest{background:#fff}.d4-business-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.business-card{min-width:0;overflow:hidden;align-items:center}.business-card .card-icon{width:64px!important;height:64px!important;min-width:64px!important;max-width:64px!important;max-height:64px!important;overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:center!important;flex:none!important;border-radius:7px!important;background:#f0f5f7!important}.business-card .s4-card-logo{display:block!important;width:100%!important;height:100%!important;max-width:64px!important;max-height:64px!important;object-fit:contain!important;padding:5px!important;background:#fff!important}.business-card .card-arrow{display:none!important}.business-card .card-title{overflow-wrap:anywhere}
.hero-search button span,.nav-cta span,.bottom-cta .button span,.deep-links a>span:not(.d4-service-mark),.text-link span,.cat-chevron{display:none!important}
/* Business profile consistency across every domain */
.profile-grid{grid-template-columns:minmax(0,1.6fr) minmax(290px,.82fr)!important;align-items:start}.profile-main,.profile-side{min-width:0!important}.profile-section{min-width:0}.profile-section h3,.profile-side h3,.s3-aside-group h4{color:var(--navy);letter-spacing:-.3px}.d4-heading-icon{display:inline-grid;place-items:center;width:27px;height:27px;line-height:1;background:var(--d4-pale);border-radius:6px;color:var(--d4-focus);font-size:16px;margin-right:10px;vertical-align:middle;font-weight:800}.profile-section{border-top:1px solid #dce5eb;padding-top:29px;margin-top:29px}.profile-logo{flex-shrink:0;overflow:hidden!important}.profile-logo img{display:block!important;max-height:100%!important;max-width:100%!important;width:100%!important;height:100%!important;object-fit:contain!important}
.s3-gallery,.s4-gallery{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;max-width:100%!important;min-width:0!important}.s3-gallery figure,.s4-gallery figure,.s4-gallery a{margin:0!important;min-width:0!important;max-width:100%!important;overflow:hidden!important;display:block!important}.s3-gallery img,.s4-gallery img{display:block!important;width:100%!important;max-width:100%!important;height:180px!important;max-height:180px!important;object-fit:cover!important;border-radius:6px!important}.s4-gallery-section{max-width:100%;min-width:0;overflow:hidden}.s3-gallery figcaption{font-size:11px;color:#6e7a84}
.profile-side .website-button{display:block!important;text-align:center!important;text-decoration:none!important;font-size:14px!important;overflow-wrap:normal!important}.d4-full-url{display:block;color:var(--d4-focus);font-size:12px;overflow-wrap:anywhere;margin:8px 0 13px;text-align:center;text-decoration:underline;text-underline-offset:3px}.profile-side .info-label{margin-top:20px;margin-bottom:6px;font-size:11px;letter-spacing:1.1px}.profile-side p{margin-top:5px;margin-bottom:14px;line-height:1.8}.s3-aside-group{margin-top:24px;padding-top:20px}.s3-aside-group h4{margin-bottom:15px}.s3-aside-line{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;justify-content:space-between!important;align-items:baseline!important;gap:15px!important;padding:8px 0!important;border-bottom:1px solid #eef2f5}.s3-aside-line span:last-child{text-align:right}.s3-tags{display:flex!important;gap:8px!important;flex-wrap:wrap!important}.s3-tags span{display:inline-flex!important;background:var(--d4-pale)!important;color:var(--d4-focus)!important;padding:7px 11px!important;font-size:12px!important;border-radius:4px!important;line-height:1.25!important}.s3-aside-group:has(.d4-social-icon) p{margin:0 0 8px}.s3-aside-group:has(.d4-social-icon) a{display:inline-flex;align-items:center;gap:9px;text-decoration:none!important;font-size:13px}.d4-social-icon{display:inline-grid;place-items:center;width:24px;height:24px;flex-shrink:0;background:var(--d4-pale);color:var(--d4-focus);border-radius:5px;font-size:12px;font-weight:800}
.deep-links a{display:flex!important;align-items:center;gap:11px!important;min-width:0}.d4-service-mark{background:var(--d4-pale);color:var(--d4-focus);border-radius:4px;width:25px;height:25px;min-width:25px;display:grid;place-items:center;font-size:20px;line-height:1}.deep-links a>span:last-child:not(.d4-service-mark){display:none!important}
@media(max-width:1000px){.d4-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.d4-promo-layout{grid-template-columns:1fr 34%;gap:25px}.profile-grid{grid-template-columns:minmax(0,1fr) minmax(260px,.8fr)!important}}
@media(max-width:760px){.d4-hero-photo{left:23%;opacity:.5}.d4-hero:after{background:linear-gradient(90deg,var(--d4-hero),rgba(10,38,56,.83) 95%)}.d4-hero-inner{min-height:420px;padding:54px 0}.d4-hero h1{letter-spacing:-1.6px}.d4-utility-grid{grid-template-columns:1fr;gap:16px}.d4-promo-layout{grid-template-columns:1fr}.d4-promo-layout>div:first-child{padding:42px 0 10px}.d4-promo-image{min-height:185px}.d4-business-grid{grid-template-columns:1fr}.profile-grid{grid-template-columns:1fr!important}.d4-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:470px){.d4-hero h1{font-size:37px}.d4-intro{font-size:14px}.d4-hero-notes{gap:8px}.d4-hero-notes span+span:before{margin-right:8px}.d4-search{padding:6px;gap:4px}.d4-search svg{display:none}.d4-search input{padding-left:8px;font-size:12px}.d4-search button{padding:13px 11px;font-size:12px}.d4-category-grid{gap:9px}.d4-category img{height:78px}.d4-category span{padding:10px;font-size:11px;min-height:60px}.d4-section-title{display:block}.d4-section-title a{display:inline-block;margin-top:13px}.s3-gallery img,.s4-gallery img{height:130px!important;max-height:130px!important}.s3-aside-line{font-size:12px}}

/* Stage 4 final: one website CTA, distinct deep-link cards */
.profile-side .d4-full-url{display:none!important}
.profile-side .website-button{width:100%;justify-content:center;text-align:center}
.d4-services-intro{font-size:13px;color:#597080;line-height:1.6;margin:0 0 16px}
.profile-main .deep-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.profile-main .deep-links a{position:relative;min-width:0;max-width:100%;border:1px solid #d7e1e7;background:#fff;border-radius:7px;padding:14px;color:var(--navy);font-size:14px;font-weight:700;overflow-wrap:anywhere;text-decoration:none;box-shadow:none}
.profile-main .deep-links a::after,.profile-side .website-button::after{content:none!important;display:none!important}
.profile-main .deep-links a:hover{border-color:var(--d4-focus);background:var(--d4-pale)}
@media(max-width:540px){.profile-main .deep-links{grid-template-columns:1fr}}
