/* Approved Derabassi Hub navy/cyan design. Shared with listings and profiles. */
:root{--hub-ink:#10203a;--hub-muted:#64748b;--hub-line:#dce5ec;--hub-brand:#009ec5;--navy:#07172f;--ink:#10203a;--muted:#64748b;--cyan:#16dcdf;--pale:#f2f7fa}
.public{font-family:Arial,Helvetica,sans-serif;color:var(--hub-ink);line-height:1.65}
.public h1,.public h2,.public h3{color:var(--hub-ink);letter-spacing:-.04em}
.container{width:min(1140px,calc(100% - 64px))}
.public .header-inner{padding-block:18px;min-height:88px}
.public .brand-word{color:#07172f;font-size:27px;letter-spacing:-1.2px;font-weight:800}
.public .brand-word strong{color:#009ec5}.public .brand small{color:#526b80}
.public nav#main-nav{font-weight:700;font-size:12px;gap:28px}
.public #main-nav a.current,.public #main-nav a:hover{color:#008db4}
.public #main-nav a.current:after{background:#008db4}
.header-location{background:#f0f6fa;border-color:#deebf3;color:#07172f}
.header-location>.icon,.header-location select{color:#07172f}
.public .hero-shell{isolation:isolate;position:relative;width:min(1200px,calc(100% - 32px));margin-inline:auto;padding:0;border-radius:12px;overflow:hidden;color:#fff;background:linear-gradient(112deg,#06142b 0%,#092247 63%,#071733 100%)}
.public .hero-shell:before{content:'';position:absolute;z-index:-1;inset:0;pointer-events:none;background-image:linear-gradient(#64c4e812 1px,transparent 1px),linear-gradient(90deg,#64c4e812 1px,transparent 1px);background-size:40px 40px;mask-image:linear-gradient(90deg,transparent,#000)}
.public .hero{width:min(1140px,calc(100vw - 64px));min-height:400px;margin-inline:auto;display:grid;grid-template-columns:1.04fr 1fr;grid-template-rows:1fr auto;column-gap:20px;row-gap:25px;padding:38px 0 30px}
.public .hero-copy{grid-column:1;grid-row:1;align-self:end;display:block;padding:0;min-width:0}
.public .hero .eyebrow{color:#70e8ef;font-size:10px;letter-spacing:.2em;font-weight:800;line-height:1.5;margin-bottom:17px}
.public .hero h1{font-family:Arial,Helvetica,sans-serif;color:#fff;font-size:clamp(36px,4.1vw,53px);line-height:1.06;letter-spacing:-.055em;font-weight:700;margin:0 0 18px;white-space:normal}
.public .hero h1 em{font-family:Georgia,'Times New Roman',serif;color:#31e2e4;font-size:1.02em;font-weight:400;line-height:1.17;letter-spacing:-.045em;display:block;margin-top:2px}
.public .hero p{color:#bed0e5;font-size:15px;line-height:1.65;max-width:490px}
.hero-photo{grid-column:2;grid-row:1/3;align-self:stretch;min-height:315px;overflow:visible;border-radius:0;position:relative;margin:0}
.hero-photo img{object-fit:cover;object-position:center top;position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 8px 18px #0002)}
.hero-trust{grid-column:1;grid-row:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;align-self:start}
.hero-trust>div{display:flex;gap:8px;align-items:center;max-width:none;min-height:62px;padding:9px 8px;border:1px solid #41d6ea29;background:#0b2a4580;border-radius:6px;color:#effbff;font-size:11px;font-weight:600;line-height:1.4}
.trust-icon{background:none;color:#16dcdf;border-radius:0;width:30px;height:35px}
.trust-icon .icon{width:29px;height:29px;stroke-width:1.7}
.public .home-section{margin-block:45px}.public .section-heading{gap:20px;margin-bottom:20px;min-height:36px}
.public .section-heading h2{font-size:32px;font-weight:700;line-height:1.2;letter-spacing:-.045em;overflow-wrap:anywhere}
.public .section-heading h2 span{color:#0c8fac}
.public .section-heading p{font-size:14px;color:#526b80;line-height:1.5}
.view-all{font-weight:600;color:#10203a}
.public .category-grid{gap:16px}
.public .category-tile{border-color:#dce5ec;border-radius:6px;box-shadow:0 3px 12px #0c304d08}

.category-photo{aspect-ratio:1.65}
.public .category-tile strong{font-size:14px;color:#10203a;padding:11px 6px;font-weight:700}
.how-shell{margin-block:48px}.how-panel{background:#f2f7fa;border-radius:8px;padding:30px 0}
.how-panel:before{background:#f2f7fa;left:-22px;right:-22px;border-radius:8px}
.steps-grid{gap:32px}.step-card{border-color:#dce5ec;border-radius:6px;padding:25px 20px;box-shadow:0 8px 28px #0c304d04}
.step-icon{width:64px;height:64px;background:#dcfafb;border:1px solid #b0edef;border-radius:50%;display:grid;place-items:center;margin:0 auto 16px;color:#0b789d}
.step-icon .icon{width:34px;height:34px;stroke-width:1.7}
.step-card h3{font-size:17px;font-weight:700;margin:0 0 8px}.step-card p{font-size:13px;line-height:1.6;color:#617489}
.step-card:not(:last-child):after{color:#6d8ea7;right:-26px}
.public .featured-section{margin-top:48px;margin-bottom:48px}
.public .carousel-controls .icon-button{border-color:#d4e4ef;color:#07172f;width:37px;height:37px}
.public .carousel-controls .icon-button:hover{background:#e6fafa;border-color:#78d8e1}
.expert-card{border-color:#dce5ec;box-shadow:0 3px 12px #0c304d08;border-radius:6px}
.expert-details{padding:12px}.expert-details h3{font-size:15px;font-weight:700}.expert-details>p{color:#526b80;font-size:12px}
.rating-badge{background:#ffd66b;color:#10203a}.public .contact-actions .button{font-size:12px;font-weight:700;min-height:35px;padding:9px 6px;border-radius:4px}
.public .call{background:#16dcdf;border:1px solid #16dcdf;color:#05223b}.public .call:hover{background:#75f4ef;border-color:#75f4ef}
.public .whatsapp{color:#008b37;border:1px solid #00a52d;background:#fff}
.carousel-dot.active{background:#009ec5}.carousel-dot{background:#cbd9e5}
.public .hub-footer{font-family:Arial,Helvetica,sans-serif;background:#061224;color:#b7c7d7;padding-block:29px}
.hub-footer .brand-word{color:#fff}.hub-footer .brand-word strong{color:#20d7df}.hub-footer .brand small{color:#9fb6ca}
.hub-footer nav a{border-color:#31465d}.hub-footer nav a:hover{color:#20d7df}
.public .provider-card{font-family:Arial,Helvetica,sans-serif;border-color:#dce5ec}.public .provider-card h2{color:#10203a}
.public .pill.selected{background:#07172f}.public .button.secondary{background:#eef7fa;color:#10203a}
.public .profile-wrap,.public .listing-wrap{color:#10203a}.public .content-page h1{color:#07172f}
@media(min-width:1450px){.public .hero-shell{max-width:1200px}.public .hero{min-height:425px}}
@media(max-width:1050px) and (min-width:701px){
 .public nav#main-nav{gap:16px;font-size:10px}.public .header-inner{gap:15px}.public .brand-word{font-size:23px}
 .public .hero{min-height:340px;column-gap:16px;row-gap:20px;padding-block:30px}
 .public .hero h1{font-size:clamp(32px,4.1vw,43px)}.public .hero p{font-size:13px}.public .hero .eyebrow{font-size:8px;letter-spacing:.16em}
 .hero-photo{min-height:280px}.hero-trust{gap:6px}.hero-trust>div{padding:7px 5px;gap:5px;font-size:9px;min-height:53px}.trust-icon{width:23px;height:28px}.trust-icon .icon{width:23px;height:23px}
 .public .section-heading h2{font-size:29px}.public .contact-actions .button{font-size:10px}.public .category-tile strong{font-size:12px}
}
@media(max-width:700px){
 .container{width:calc(100% - 32px)}.public .header-inner{padding-block:13px;min-height:72px;gap:8px}.public .brand-word{font-size:23px}.public .brand small{font-size:8px}.brand .brand-mark{width:32px;height:40px}
 .header-location{display:none}.public .menu-toggle{min-width:36px;min-height:42px;padding:7px}.public .menu-toggle .icon{width:24px;height:24px}.public nav#main-nav{gap:0}
 .public .hero-shell{width:calc(100% - 16px);border-radius:9px}.public .hero{width:calc(100vw - 32px);display:flex;flex-direction:column;min-height:0;gap:0;padding:26px 0 18px}
 .public .hero-copy{padding:0 3px 20px;align-self:stretch}.public .hero .eyebrow{font-size:8px;letter-spacing:.17em;margin-bottom:13px}.public .hero h1{font-size:clamp(33px,9.2vw,48px);line-height:1.08;letter-spacing:-.045em;margin-bottom:13px}.public .hero h1 em{font-size:1em;letter-spacing:-.045em;line-height:1.18;margin-top:3px}
 .public .hero p{font-size:13px;line-height:1.6;max-width:none;color:#bed0e5}
 .hero-photo{position:relative;aspect-ratio:1.6;width:100%;min-height:0;align-self:stretch;margin:0 0 14px;border-radius:0}.hero-photo img{object-position:center top;object-fit:cover}
 .hero-trust{gap:6px;margin:0;align-self:stretch}.hero-trust>div{gap:5px;font-size:9px;min-height:49px;padding:6px 5px}.trust-icon{width:23px;height:29px}.trust-icon .icon{width:23px;height:23px}
 .public .home-section{margin-block:32px}.public .section-heading{gap:12px;align-items:center;min-height:0;margin-bottom:16px}.public .section-heading h2{font-size:25px;letter-spacing:-.045em;line-height:1.2;min-width:0}.public #services .section-heading{align-items:start}.public #services .section-heading h2{max-width:calc(100% - 65px)}
 .view-all{font-size:10px;gap:5px;flex-shrink:0;line-height:30px}.view-all span{line-height:30px}.public .category-grid{gap:12px}.category-photo{aspect-ratio:1.45}.public .category-tile strong{font-size:12px;white-space:normal;padding:10px 5px}
 .how-shell{margin-block:36px}.how-panel{padding:25px 0}.how-panel:before{left:-8px;right:-8px}.how-panel .section-heading{margin-bottom:18px}.public .section-heading p{font-size:12px;line-height:1.6}
 .steps-grid{gap:13px}.step-card{display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:14px;align-items:center;text-align:left;padding:19px 14px}.step-icon{grid-column:1;grid-row:1/3;width:45px;height:45px;margin:0;justify-self:center}.step-icon .icon{width:26px;height:26px}.step-card h3{font-size:14px;margin:0 0 5px}.step-card p{font-size:12px;line-height:1.5;margin:0;max-width:none}.step-card:not(:last-child):after{display:none}
 .public .featured-section{margin-top:36px;margin-bottom:40px}.public .featured-section .section-heading h2{font-size:25px;letter-spacing:-.045em}.carousel-controls{gap:6px;flex-shrink:0}.public .carousel-controls .icon-button{width:32px;height:32px;padding:7px}
 .carousel-track{gap:12px}.expert-card{flex-basis:100%}.expert-photo{height:190px}.expert-details{padding:13px}.expert-details h3{font-size:16px}.expert-details>p{font-size:12px}.public .contact-actions .button{min-height:40px;font-size:12px;padding:10px 6px}.public .contact-actions .icon{width:16px;height:16px}
 .public .hub-footer{padding:26px 0}.footer-inner{gap:24px}.hub-footer .brand-word{font-size:25px}.hub-footer .brand small{font-size:9px}.hub-footer nav{gap:18px}.hub-footer nav a{font-size:10px}
}
@media(max-width:350px){.public .brand-word{font-size:21px}.public .hero h1{font-size:31px}.hero-trust>div{font-size:8px;gap:4px;padding-inline:4px}.trust-icon{width:21px}.trust-icon .icon{width:21px}.public .section-heading h2,.public .featured-section .section-heading h2{font-size:23px}}

/* Edge-to-edge backgrounds; content follows the shared page alignment. */
.public .hero-shell{width:100%;max-width:none;margin-inline:0;border-radius:0}
.public .how-shell{width:100%;background:#f2f7fa}
.public .how-panel{background:transparent;border-radius:0;padding-block:38px}
.public .how-panel:before{display:none}
.public nav#main-nav{font-size:14px}
.public :is(.category-tile,.expert-card,.provider-card,.step-card){transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.public .step-icon{transition:background-color .22s ease,border-color .22s ease}

@media(hover:hover) and (pointer:fine){
 .public :is(.category-tile,.expert-card,.provider-card,.step-card):hover{transform:translateY(-5px);border-color:#69cad7;box-shadow:0 12px 28px #0c304d13}
 .public .step-card:hover .step-icon{background:#c9f7f8;border-color:#71d9df}
}
@media(max-width:1050px) and (min-width:701px){.public nav#main-nav{font-size:12px;gap:14px}.public .header-inner{gap:12px}}
@media(max-width:850px) and (min-width:701px){.public nav#main-nav{gap:10px;font-size:11px}.header-location{min-width:110px;padding-inline:6px}.header-location select{min-width:65px}.public .header-inner{gap:10px}.public .brand-word{font-size:22px}}
@media(max-width:700px){.public #main-nav a{font-size:14px}.public .how-panel{padding-block:28px}}
@media(prefers-reduced-motion:reduce){.public :is(.category-tile,.expert-card,.provider-card,.step-card),.public .step-icon{transition:none}.public :is(.category-tile,.expert-card,.provider-card,.step-card):hover{transform:none}}

/* Leave room for the same raised-card shadow inside the provider carousel. */
.public .carousel-track{padding-top:8px;padding-bottom:18px}

/* Complete uploaded photos, consistent 3:2 thumbnails, no stretched faces. */
.public img.category-photo{aspect-ratio:3/2;height:auto;object-fit:contain;object-position:center;background:#f2f7fa}

/* Compact photo banner and two-card provider carousel, mobile only. */
.public .hero-mobile-title{display:none}
@media(max-width:700px){
 .public .hero{position:relative;isolation:isolate;display:block;width:100%;height:clamp(280px,82vw,410px);min-height:0;padding:0;margin:0}
 .public .hero-photo{position:absolute;inset:0;z-index:-1;width:100%;height:100%;min-height:0;aspect-ratio:auto;margin:0;overflow:hidden}
 .public .hero-photo img{width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:none}
 .public .hero-copy{position:absolute;inset:auto 0 0;padding:58px 20px 24px;background:linear-gradient(180deg,transparent 0%,rgba(6,20,43,.55) 28%,rgba(6,20,43,.9) 100%);width:100%;z-index:1;text-align:left}
 .public .hero .eyebrow,.public .hero-copy>p,.public .hero-trust,.public .hero-desktop-title{display:none}
 .public .hero-mobile-title{display:block}
 .public .hero h1{font-size:clamp(30px,8.2vw,42px);line-height:1.08;margin:0;letter-spacing:-.04em;color:#fff}
 .public .hero h1 em{font-size:1.02em;line-height:1.16;margin-top:4px;letter-spacing:-.04em}
 .public .featured-section .expert-card{flex-basis:calc((100% - 12px)/2)}
 .public .featured-section .expert-photo{height:130px}
 .public .featured-section .expert-details{padding:9px 8px 10px}
 .public .featured-section .expert-details h3{font-size:13px;letter-spacing:-.025em}
 .public .featured-section .expert-details>p{font-size:11px}
 .public .featured-section .contact-actions{gap:5px}
 .public .featured-section .contact-actions .button{font-size:10px;min-height:34px;padding:8px 3px;gap:3px}
 .public .featured-section .contact-actions .icon{width:12px;height:12px}
}
@media(max-width:350px){.public .featured-section .contact-actions{flex-direction:column}.public .featured-section .expert-photo{height:115px}}


/* Restored dark navy banner; mobile title stays over the photo at the bottom. */
.public .hero-shell{background:linear-gradient(112deg,#06142b 0%,#092247 63%,#071733 100%);color:#fff;margin-top:0}
.public .hero h1{color:#fff}
.public .hero h1 em{color:#31e2e4}
.public .hero .eyebrow{color:#70e8ef}
.public .hero p{color:#bed0e5}
.public .hero-trust>div{background:#0b2a4580;border-color:#41d6ea29;color:#effbff}
.public .trust-icon{color:#16dcdf}
.public .hero-photo{overflow:hidden}
.public .hero-photo img{filter:none;object-fit:cover;object-position:center top;mask-image:linear-gradient(90deg,transparent 0%,#000 12%,#000 95%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 5%,#000 86%,transparent 100%);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 12%,#000 95%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 5%,#000 86%,transparent 100%);-webkit-mask-composite:source-in}
@media(max-width:700px){
 .public .hero-shell{margin-top:0}
 .public .hero{height:clamp(280px,78vw,400px)}
 .public .hero-copy{inset:auto 0 0;width:100%;padding:60px 20px 24px;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;background:linear-gradient(180deg,rgba(6,20,43,0) 0%,rgba(6,20,43,.68) 35%,rgba(6,20,43,.96) 100%)}
 .public .hero h1{font-size:clamp(30px,8.2vw,42px);line-height:1.08;color:#fff}
 .public .hero h1 em{font-size:1.02em;line-height:1.16;color:#31e2e4}
 .public .hero-photo img{inset:auto 0 0;width:100%;height:auto;object-fit:contain;object-position:center bottom;mask-image:linear-gradient(180deg,transparent 0%,#000 7%,#000 100%);-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 7%,#000 100%);mask-composite:add;-webkit-mask-composite:source-over}
}

/* Compact desktop header: remove extra space beneath the logo/navigation. */
@media(min-width:701px){.public .header-inner{min-height:68px;padding-block:8px}}

/* Compact mobile header; keep menu anchored below its reduced height. */
@media(max-width:700px){
 .public .site-header{position:relative}
 .public .header-inner{min-height:56px;padding-block:6px}
 .public nav#main-nav{top:calc(100% + 4px)}
}

/* Match provider calls and carousel indicators to the navy banner. */
.public .call{background:#092247;border-color:#092247;color:#fff}
.public .call:hover{background:#06142b;border-color:#06142b;color:#fff}
.public .carousel-dot{background:#cbd5e1}
.public .carousel-dot.active{background:#092247}
.public .call:focus-visible,.public .carousel-dot:focus-visible{outline:2px solid #092247;outline-offset:3px}

/* Desktop hero implementation: clean group portrait, airy copy and inline trust row.
   Mobile retains its original image and bottom title treatment. */
@media(min-width:701px){
 .public .hero{grid-template-columns:1fr 1.08fr;grid-template-rows:1fr auto;min-height:420px;column-gap:10px;row-gap:28px;padding:46px 0 38px}
 .public .hero-copy{align-self:center;position:relative;z-index:2}
 .public .hero .eyebrow{font-size:10px;letter-spacing:.22em;margin-bottom:18px}
 .public .hero h1{font-size:clamp(33px,4.2vw,55px);line-height:1.08;letter-spacing:-.045em;margin-bottom:21px}
 .public .hero h1 em{font-size:1.04em;line-height:1.18;letter-spacing:-.045em;margin-top:6px}
 .public .hero p{font-size:15px;line-height:1.8;max-width:470px;margin:0}
 .public .hero-photo{margin:-24px -28px -38px -12px;min-height:350px;align-self:stretch;overflow:visible}
 .public .hero-photo picture{display:block;width:100%;height:100%}
 .public .hero-photo img{inset:0;object-fit:contain;object-position:center bottom;filter:none;mask-image:linear-gradient(to bottom,#000 0%,#000 86%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 86%,transparent 100%);mask-composite:add;-webkit-mask-composite:source-over}
 .public .hero-trust{position:relative;z-index:2;gap:0;grid-template-columns:1.2fr 1fr .9fr}
 .public .hero-trust>div{background:none;border:0;border-radius:0;min-height:36px;padding:0 12px;gap:9px;font-size:11px;line-height:1.4}
 .public .hero-trust>div:first-child{padding-left:0}
 .public .hero-trust>div+div{border-left:1px solid #5ca6c55c}
 .public .hero-trust .trust-icon{flex:0 0 29px;width:29px;height:32px;display:grid;place-items:center}
 .public .hero-trust .icon{width:29px;height:29px;stroke-width:1.8}
}
@media(min-width:701px) and (max-width:950px){
 .public .hero{min-height:350px;padding-block:30px;row-gap:22px}
 .public .hero-photo{margin:-10px -12px -30px -10px;min-height:290px}
 .public .hero-trust>div{font-size:9px;gap:5px;padding-inline:7px}
 .public .hero-trust .trust-icon{flex-basis:23px;width:23px}.public .hero-trust .icon{width:23px;height:23px}
 .public .hero p{font-size:13px}
}

/* Saved professionals: shared desktop/mobile navigation and live count. */
.public #main-nav .nav-favorites{display:flex;align-items:center;gap:5px}
.public .nav-favorites>.icon{width:16px;height:16px;flex-shrink:0}
.public .favorites-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:20px;background:#e7f7fa;color:#087e98;font-size:10px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}
@media(min-width:1051px){.public nav#main-nav{gap:20px}.public .header-inner{gap:20px}.public .header-actions{margin-left:0}}

/* Footer uses the exact header logo asset, lockup, colours and sizing. */
.public .hub-footer{background:#061224;color:#b7c7d7;border:0}
.public .hub-footer .brand-mark{width:42px;height:49px}
.public .hub-footer .brand-word{font-size:27px;color:#fff}
.public .hub-footer .brand-word strong{color:#009ec5}
.public .hub-footer .brand small{font-size:11px;color:#9fb6ca}
.public .hub-footer nav a{color:#b7c7d7;border-color:#31465d}
.public .hub-footer nav a:hover{color:#20d7df}
@media(max-width:1050px) and (min-width:851px){.public .hub-footer .brand-word{font-size:23px}}
@media(max-width:850px) and (min-width:701px){.public .hub-footer .brand-word{font-size:22px}}
@media(max-width:700px){.public .hub-footer .brand-mark{width:32px;height:40px}.public .hub-footer .brand-word{font-size:20px}.public .hub-footer .brand small{font-size:8px}}

/* Mobile hero: fill the top with the photo and a gentle navy tint, no solid band. */
@media(max-width:700px){
 .public .hero-photo img{inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;mask-image:none;-webkit-mask-image:none}
 .public .hero-photo:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(6,20,43,.24),rgba(6,20,43,.04) 35%,transparent 65%)}
}

/* One shared logo type lockup; prevent legacy footer strong-size overrides. */
.public .brand{font-family:Arial,Helvetica,sans-serif}
.public .brand .brand-word{font-weight:800;letter-spacing:-1.2px;line-height:1.05}
.public .brand .brand-word strong{font-family:inherit;font-size:inherit;font-weight:inherit;font-style:normal;line-height:inherit;letter-spacing:-1px;margin:0}
.public .brand .brand-lockup{gap:5px}
.public .brand small{font-family:inherit;line-height:1.05;margin:0;letter-spacing:-.15px}
@media(min-width:701px){.public .listing-top>#toggle-search{display:none}}
