/*
Theme Name: Harbour Smile Dental
Theme URI: https://example.com/harbour-smile-dental
Author: Computer Solution Trio
Author URI: https://computersolutiontrio.com
Description: A clean, conversion-focused WordPress theme for a modern dental clinic. All homepage wording and images can be edited in Appearance > Customize.
Version: 1.10.0
Requires at least: 6.2
Tested up to: 6.7
Requires PHP: 7.4
Text Domain: harbour-smile-dental
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

:root{--navy:#052a54;--navy-dark:#031f40;--aqua:#08b7de;--aqua-dark:#039abf;--pale:#e9f9fc;--wash:#f4fbfd;--ink:#102a45;--muted:#66758a;--line:#dbe7ec;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}.hsd-wrap{width:min(1180px,calc(100% - 48px));margin:auto}.hsd-hero-image,.hsd-service,.hsd-doctor-card,.hsd-button{will-change:transform}.hsd-hero-image{clip-path:inset(0)}.hsd-scroll-progress{position:fixed;z-index:99998;left:0;top:0;width:100%;height:3px;transform:scaleX(0);transform-origin:left center;background:linear-gradient(90deg,var(--aqua),#6ee7ef);box-shadow:0 0 14px rgba(8,183,222,.45);pointer-events:none}.hsd-reveal-pending{opacity:0;transform:translateY(42px)}.hsd-reveal-visible{opacity:1;transform:none;transition:opacity .9s cubic-bezier(.2,.75,.2,1),transform .9s cubic-bezier(.2,.75,.2,1)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hsd-scroll-progress{display:none}body.hsd-motion-forced .hsd-scroll-progress{display:block!important}body.hsd-motion-forced .hsd-reveal-visible{transition-duration:.9s!important}}
.hsd-topbar{background:var(--navy-dark);color:#eaf8fb;font-size:13px}.hsd-topbar-inner{height:38px;display:flex;align-items:center;gap:34px}.hsd-topbar span{display:flex;align-items:center;gap:8px}.hsd-topbar span:last-child{margin-left:auto}
.hsd-header{height:86px;background:rgba(255,255,255,.97);border-bottom:1px solid #edf2f4;position:sticky;top:0;z-index:50;backdrop-filter:blur(12px);transition:height .35s cubic-bezier(.2,.75,.2,1),box-shadow .35s,background .35s}.hsd-header.is-scrolled{height:76px;background:rgba(255,255,255,.92);box-shadow:0 12px 35px rgba(5,42,84,.09)}.hsd-nav{height:100%;display:flex;align-items:center;gap:34px}.hsd-brand{display:flex;align-items:center;gap:11px;color:var(--navy);font-size:20px;font-weight:760;white-space:nowrap}.hsd-logo{width:44px;height:44px;display:grid;place-items:center;color:var(--aqua);border:2px solid var(--aqua);border-radius:14px 14px 18px 18px}.hsd-logo svg{width:28px}.hsd-menu{display:flex;gap:28px;list-style:none;margin:0 0 0 auto;padding:0;font-size:14px;font-weight:600}.hsd-menu a{display:block;padding:12px 0;position:relative}.hsd-menu a:after{content:"";position:absolute;left:0;bottom:5px;width:0;height:2px;background:var(--aqua);transition:.2s}.hsd-menu a:hover:after{width:100%}.hsd-menu-toggle{display:none;border:0;background:none;color:var(--navy);font-size:26px}
.hsd-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 20px;border:0;border-radius:7px;background:var(--aqua);color:#fff;font-weight:720;box-shadow:0 9px 24px rgba(8,183,222,.18);transition:.22s}.hsd-button:hover{background:var(--aqua-dark);transform:translateY(-2px)}.hsd-button-large{padding:17px 24px}
.hsd-hero{min-height:570px;display:grid;grid-template-columns:53% 47%;overflow:hidden;background:linear-gradient(135deg,#f7fdff,var(--pale))}.hsd-hero-copy{display:flex;justify-content:flex-end;align-items:center;padding:78px 0}.hsd-hero-inner{width:min(630px,calc(100% - 54px));padding-right:52px}.hsd-kicker{margin:0 0 16px;color:var(--aqua-dark);font-size:13px;font-weight:780;text-transform:uppercase;letter-spacing:.12em}.hsd-hero h1{margin:0 0 25px;color:var(--navy);font-size:clamp(48px,4.5vw,72px);line-height:1;letter-spacing:-.055em}.hsd-hero-lead{max-width:570px;margin:0 0 30px;color:#536a80;font-size:18px;line-height:1.65}.hsd-hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.hsd-text-link{display:inline-flex;align-items:center;gap:7px;color:var(--navy);font-weight:720}.hsd-benefits{display:flex;gap:22px;flex-wrap:wrap;margin-top:38px;color:#50657a;font-size:13px}.hsd-benefits span{display:flex;align-items:center;gap:7px}.hsd-dot-icon{color:var(--aqua);font-weight:900}.hsd-hero-image{min-height:570px;position:relative;overflow:hidden;background:#dceef2}.hsd-hero-image>img{width:100%;height:100%;object-fit:cover;object-position:64% center}.hsd-hero-image:before{content:"";position:absolute;left:-1px;top:0;bottom:0;width:115px;background:linear-gradient(135deg,#f7fdff,var(--pale));clip-path:polygon(0 0,100% 0,30% 50%,100% 100%,0 100%);z-index:2}.hsd-badge{position:absolute;right:28px;bottom:28px;background:rgba(255,255,255,.95);padding:13px 17px;border-radius:8px;color:var(--navy);font-size:13px;font-weight:700;box-shadow:0 12px 35px rgba(5,42,84,.18)}.hsd-badge:before{content:"";display:inline-block;width:9px;height:9px;margin-right:9px;border-radius:50%;background:#34bc81;box-shadow:0 0 0 5px rgba(52,188,129,.14)}
.hsd-proof{border-bottom:1px solid var(--line)}.hsd-proof-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:23px 0}.hsd-proof-item{padding:4px 25px;border-right:1px solid var(--line)}.hsd-proof-item:first-child{padding-left:0}.hsd-proof-item:last-child{border:0}.hsd-proof-item strong,.hsd-proof-item span{display:block}.hsd-proof-item strong{color:var(--navy);font-size:14px}.hsd-proof-item span{margin-top:4px;color:var(--muted);font-size:12px}
.hsd-section{padding:105px 0}.hsd-section-heading{display:grid;grid-template-columns:1.1fr .7fr;align-items:end;gap:80px;margin-bottom:46px}.hsd-section h2{margin:0 0 20px;color:var(--navy);font-size:clamp(38px,4vw,55px);line-height:1.06;letter-spacing:-.045em}.hsd-section-heading h2{margin:0}.hsd-section-heading>p,.hsd-copy{color:var(--muted);line-height:1.75}.hsd-services{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.hsd-service{min-height:275px;display:flex;flex-direction:column;padding:28px 25px;border:1px solid var(--line);border-radius:10px;background:#fff;transition:transform .38s cubic-bezier(.2,.75,.2,1),border-color .3s,box-shadow .38s}.hsd-service:hover{transform:translateY(-8px);border-color:#9bddec;box-shadow:0 24px 55px rgba(5,42,84,.11)}.hsd-service-icon{width:58px;height:58px;display:grid;place-items:center;margin-bottom:24px;border-radius:50%;background:var(--pale);color:var(--aqua-dark);font-size:27px;transition:transform .4s cubic-bezier(.2,.75,.2,1),background .3s}.hsd-service:hover .hsd-service-icon{transform:rotate(-6deg) scale(1.08);background:#d9f6fb}.hsd-service h3{margin:0 0 11px;color:var(--navy);font-size:19px}.hsd-service p{margin:0;color:var(--muted);font-size:14px;line-height:1.65}
.hsd-why{background:var(--wash)}.hsd-why-grid{display:grid;grid-template-columns:.95fr 1fr;gap:105px;align-items:center}.hsd-steps{position:relative;padding:36px;border-radius:10px;background:var(--navy);color:#fff;box-shadow:24px 24px 0 var(--aqua),0 30px 60px rgba(5,42,84,.18)}.hsd-step{display:flex;gap:20px;padding:22px 0;border-top:1px solid rgba(255,255,255,.14)}.hsd-step b{color:var(--aqua);font-size:13px}.hsd-step strong,.hsd-step span{display:block}.hsd-step span{margin-top:6px;color:#b9c9d9;font-size:13px;line-height:1.5}.hsd-checks{display:grid;grid-template-columns:1fr 1fr;gap:17px;list-style:none;padding:0;margin:28px 0}.hsd-checks li:before{content:"✓";display:inline-grid;place-items:center;width:20px;height:20px;margin-right:8px;border-radius:50%;background:#d9f5fa;color:var(--aqua-dark);font-weight:800}
.hsd-doctor-card{display:grid;grid-template-columns:.78fr 1.2fr;min-height:520px;overflow:hidden;border-radius:12px;background:var(--navy);color:#fff}.hsd-doctor-image{position:relative;min-height:520px}.hsd-doctor-image img{width:100%;height:100%;object-fit:cover;object-position:70% center}.hsd-doctor-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 65%,var(--navy))}.hsd-doctor-copy{align-self:center;padding:65px 75px 60px 60px}.hsd-doctor-copy h2{color:#fff}.hsd-doctor-copy p{color:#c7d5e2;line-height:1.75}.hsd-doctor-copy blockquote{margin:28px 0;padding:20px 0 20px 25px;border-left:3px solid var(--aqua);font-size:19px;line-height:1.55}.hsd-doctor-name span{display:block;margin-top:4px;color:#9eb1c3;font-size:13px}
.hsd-testimonial{text-align:center;background:var(--pale)}.hsd-testimonial blockquote{max-width:850px;margin:16px auto 28px;color:var(--navy);font-size:clamp(26px,3vw,40px);font-weight:680;line-height:1.35}.hsd-stars{color:#f5b51b;letter-spacing:3px}.hsd-reviewer{color:var(--navy);font-size:14px;font-weight:700}
.hsd-faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:100px}.hsd-faq details{padding:22px 0;border-bottom:1px solid var(--line)}.hsd-faq details:first-child{border-top:1px solid var(--line)}.hsd-faq summary{display:flex;justify-content:space-between;color:var(--navy);font-weight:700;cursor:pointer}.hsd-faq p{color:var(--muted);font-size:14px;line-height:1.7}
.hsd-appointment{padding:100px 0;background:var(--navy);color:#fff}.hsd-appointment-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px;align-items:center}.hsd-appointment h2{color:#fff}.hsd-appointment-copy{color:#b9c9d9;line-height:1.75}.hsd-contact{display:grid;gap:14px;margin-top:32px}.hsd-contact strong{display:inline-block;width:110px;color:#fff}.hsd-form{padding:36px;border-radius:11px;background:#fff;color:var(--ink);box-shadow:0 30px 70px rgba(0,0,0,.25)}.hsd-form h3{margin-top:0;color:var(--navy);font-size:24px}.hsd-form label{display:block;margin:0 0 16px;color:#304a63;font-size:13px;font-weight:700}.hsd-form input,.hsd-form select,.hsd-form textarea{width:100%;margin-top:8px;padding:13px 14px;border:1px solid #cfdce2;border-radius:6px;background:#fff}.hsd-form textarea{resize:vertical}.hsd-form .hsd-button{width:100%}.hsd-form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.hsd-notice{margin-bottom:18px;padding:12px 15px;border-radius:6px;background:#dcf6ea;color:#176c4a;font-size:13px}
.hsd-footer{padding:65px 0 25px;background:var(--navy-dark);color:#9fb2c6}.hsd-footer-grid{display:grid;grid-template-columns:1.5fr .7fr 1fr;gap:70px}.hsd-footer h3,.hsd-footer strong{color:#fff}.hsd-footer a{display:block;margin-top:10px}.hsd-footer-bottom{display:flex;justify-content:space-between;margin-top:45px;padding-top:22px;border-top:1px solid rgba(255,255,255,.09);font-size:12px}
@media(max-width:1000px){.hsd-menu{gap:16px}.hsd-header-cta{display:none}.hsd-hero{grid-template-columns:1fr 1fr}.hsd-services{grid-template-columns:1fr 1fr}.hsd-why-grid,.hsd-appointment-grid{gap:55px}}
@media(max-width:780px){.hsd-wrap{width:min(100% - 32px,1180px)}.hsd-topbar-inner{justify-content:center}.hsd-topbar span:not(:first-child){display:none}.hsd-header{height:72px}.hsd-menu-toggle{display:block;margin-left:auto}.hsd-menu{position:absolute;top:72px;left:0;right:0;display:none;flex-direction:column;gap:0;padding:16px 24px 25px;background:#fff;box-shadow:0 15px 30px rgba(5,42,84,.12)}.hsd-menu.is-open{display:flex}.hsd-hero{display:flex;flex-direction:column}.hsd-hero-copy{padding:60px 0 55px}.hsd-hero-inner{width:calc(100% - 32px);padding:0}.hsd-hero h1{font-size:clamp(43px,13vw,60px)}.hsd-hero-image{min-height:400px}.hsd-hero-image:before{display:none}.hsd-proof-grid{grid-template-columns:1fr 1fr}.hsd-proof-item{padding:17px;border-bottom:1px solid var(--line)}.hsd-section{padding:75px 0}.hsd-section-heading,.hsd-why-grid,.hsd-faq-grid,.hsd-appointment-grid{grid-template-columns:1fr;gap:38px}.hsd-services{grid-template-columns:1fr}.hsd-steps{order:2}.hsd-checks{grid-template-columns:1fr}.hsd-doctor-card{grid-template-columns:1fr}.hsd-doctor-image{min-height:370px}.hsd-doctor-image:after{background:linear-gradient(180deg,transparent 70%,var(--navy))}.hsd-doctor-copy{padding:40px 28px}.hsd-form-row{grid-template-columns:1fr}.hsd-footer-grid{grid-template-columns:1fr;gap:35px}}
@media(max-width:480px){.hsd-hero-actions{flex-direction:column;align-items:stretch}.hsd-proof-grid{grid-template-columns:1fr}.hsd-benefits{gap:12px}.hsd-contact strong{width:auto;display:block}.hsd-footer-bottom{flex-direction:column;gap:8px}}
