/*
Theme Name: Northshore Dental
Author: Growyoo
Description: Fictional dental portfolio example with interactive consultation and visit-planning tools.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: northshore-dental
*/
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 Arial,Helvetica,sans-serif}button,input,select{font:inherit}a{color:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:5px}img{max-width:100%;display:block}.wrap{width:calc(100% - 64px);max-width:1280px;margin:auto}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;display:block;margin-bottom:22px}.demo{background:var(--ink);color:var(--paper);text-align:center;font-size:11px;padding:8px 18px}.demo a{margin-left:15px}.skip{position:fixed;top:-100px;left:20px;padding:15px;background:var(--ink);color:var(--paper);z-index:100}.skip:focus{top:15px}.nav{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}.nav>.wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:88px}.logo{text-decoration:none;font-size:27px;font-weight:700;letter-spacing:-.05em;line-height:1}.logo small{display:block;margin-top:7px;font:9px Arial;letter-spacing:.13em;text-transform:uppercase}.navlinks{display:flex;gap:25px;align-items:center}.navlinks a{text-decoration:none;font-size:12px;font-weight:700}.navlinks a:hover{text-decoration:underline;text-underline-offset:5px}.menu-toggle{display:none;border:1px solid var(--line);background:transparent;color:var(--ink);padding:12px 15px;min-height:48px}.btn,.primary{display:inline-flex;align-items:center;justify-content:center;gap:15px;text-decoration:none;border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:16px 23px;font-size:13px;font-weight:700;min-height:50px}.btn:hover,.primary:hover{filter:brightness(.9)}.secondary{background:transparent;color:var(--ink)}.actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:28px}.textlink{font-size:13px;text-underline-offset:5px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(3.4rem,6.5vw,6.2rem);line-height:1.02;letter-spacing:-.055em;margin-bottom:28px}h2{font-size:clamp(2.4rem,4.1vw,4.1rem);line-height:1.08;letter-spacing:-.05em;margin-bottom:27px}h3{font-size:23px;line-height:1.2;letter-spacing:-.025em;margin-bottom:16px}p{margin-bottom:20px}.lead{font-size:18px;max-width:520px;line-height:1.6}.note{font-size:12px;color:var(--muted);line-height:1.6}.section{padding:100px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.panel{background:var(--surface);border:1px solid var(--line);padding:36px}.chips{display:flex;flex-wrap:wrap;gap:9px}.chips button{background:transparent;border:1px solid var(--line);color:var(--ink);padding:12px 18px;min-height:48px;font-size:13px}.chips button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}label{display:block;font-size:13px;font-weight:bold;margin:24px 0 10px}select{width:100%;display:block;margin-top:9px;min-height:50px;padding:12px;background:var(--surface);color:var(--ink);border:1px solid var(--line)}input[type=range]{width:100%;display:block;margin-top:15px;accent-color:var(--ink);min-height:30px}.result{background:var(--accent);padding:24px;margin-top:25px;color:var(--ink)}.result p:last-child{margin-bottom:0}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.grid3 article{padding:28px;border-top:1px solid var(--line)}.grid3 article p{font-size:14px;color:var(--muted)}details{border-top:1px solid var(--line);padding:22px 0}summary{cursor:pointer;font-weight:700;font-size:15px;min-height:30px}details p{font-size:14px;margin-top:17px;max-width:750px;color:var(--muted)}.faq h2{margin-bottom:36px}.footer{border-top:1px solid var(--line);padding:45px 0 90px}.footer .wrap{display:flex;justify-content:space-between;gap:30px}.footer p{font-size:12px;color:var(--muted);max-width:440px}.mobile-cta{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:950px){.navlinks{display:none;position:absolute;top:100%;left:0;width:100%;background:var(--paper);padding:20px 32px;border-bottom:1px solid var(--line);box-shadow:0 20px 30px #0001}.navlinks.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.navlinks a{padding:14px;font-size:16px}.menu-toggle{display:block}.nav>.wrap>.btn{display:none}.split{grid-template-columns:1fr;gap:35px}.section{padding:65px 0}.grid3{grid-template-columns:1fr}.grid3 article{padding-left:0}.mobile-cta{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;justify-content:space-between;align-items:center;gap:10px;background:var(--paper);border-top:1px solid var(--line);padding:10px 18px}.mobile-cta .note{font-size:11px;max-width:120px}.mobile-cta .btn{padding:12px 16px}.footer{padding-bottom:115px}.footer .wrap{flex-direction:column}}@media(max-width:480px){.wrap{width:calc(100% - 36px)}.nav>.wrap{min-height:74px}.logo{font-size:25px}.panel{padding:24px}.lead{font-size:17px}.section{padding:55px 0}h2{font-size:2.6rem}.demo{font-size:10px}h1{font-size:3.5rem}.eyebrow{font-size:10px}.chips button{padding:11px 13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
 :root{--paper:#F5F9FB;--surface:#FFFFFF;--ink:#123E55;--muted:#5C7580;--accent:#E0EDF2;--line:#123E5525;--focus:#BE5B2C}.logo{font-size:21px;letter-spacing:-.02em}.logo span{font-size:24px;color:#1A7397}.logo small{font-size:8px;letter-spacing:.1em}.btn,.primary{border-radius:4px}.north-hero{background:linear-gradient(135deg,#F5F9FB 40%,#D9EAF0);border-bottom:1px solid var(--line)}.north-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.north-copy{padding:75px 0}.north-copy h1{font-size:clamp(3.5rem,5.4vw,5.6rem);font-weight:500;letter-spacing:-.065em}.north-copy h1 span,h2 span{color:#43829D}.north-badges{display:flex;gap:20px;margin-top:44px;font-size:9px;letter-spacing:.07em}.implant-hero-art{position:relative}.implant-hero-art svg{display:block;width:100%;max-height:590px}.technical-label{position:absolute;bottom:17px;left:20px;display:flex;align-items:center;gap:25px;border-top:1px solid #123E5533;padding-top:18px;right:20px}.technical-label b{font-size:9px;letter-spacing:.12em;max-width:140px}.technical-label span{font-size:10px;color:#5C7580}.north-band{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-top:25px;padding-bottom:25px;border-bottom:1px solid var(--line)}.north-band span{font-size:12px;color:#5C7580}.north-band b{display:block;color:#123E55;margin-bottom:4px}.north-intro{display:grid;grid-template-columns:1fr 1fr;gap:35px}.north-intro>.eyebrow{grid-column:1/-1;margin-bottom:0}.grid3 article b{font-size:9px;letter-spacing:.1em;display:block;margin-bottom:22px;color:#43829D}.grid3 h3{font-size:24px}.explorer-zone{background:#E0EDF2}.explorer-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.explorer-visual{background:#F5F9FB;border:1px solid #123E5525;position:sticky;top:120px;border-radius:10px}.explorer-visual svg{width:100%;display:block}.visual-note{position:absolute;bottom:22px;left:24px;font-size:9px;letter-spacing:.13em}.component-buttons{display:grid;gap:10px;margin:27px 0}.component-buttons button{display:flex;gap:20px;align-items:center;text-align:left;padding:18px 20px;background:transparent;border:1px solid #123E5544;color:#123E55;font-size:17px}.component-buttons span{font-size:10px;letter-spacing:.13em}.component-buttons b{margin-left:auto;font-size:20px}.component-buttons button[aria-pressed=true]{background:#123E55;color:white}.part-detail{padding:27px;background:white;margin-bottom:22px;border-left:3px solid #43829D}.part-detail b{font-size:9px;letter-spacing:.12em}.part-detail p{font-size:14px}.part-detail p:last-child{margin-bottom:0}.explorer-visual g[id$="part"]{transition:opacity .25s,transform .25s;transform-box:fill-box;transform-origin:center}.docket-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:40px}.docket-heading>.lead{font-size:16px;max-width:400px}.docket-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.docket-options{display:grid;gap:10px;margin:20px 0}.docket-options button{display:flex;align-items:center;gap:20px;padding:18px 20px;border:1px solid var(--line);background:white;color:#123E55;text-align:left;font-size:19px;min-height:62px}.docket-options button b{font-size:9px;color:#43829D}.docket-options button span{font-size:13px;flex:1}.docket-options button[aria-pressed=true]{background:#E0EDF2;border-color:#43829D}.consult-paper{background:white;border:1px solid #123E5525;padding:35px;box-shadow:12px 12px 0 #DDEAF0}.paper-head{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:30px}.paper-head span{font-size:9px;letter-spacing:.12em}.paper-head b{font-size:36px;font-weight:400;color:#43829D}.consult-paper h3{font-size:29px;font-weight:500}.brief-group{border-top:1px solid var(--line);padding:18px 0}.brief-group b{font-size:11px;letter-spacing:.02em}.brief-group p{font-size:13px;margin:10px 0 0;color:#5C7580}.paper-note{font-size:11px;margin:25px 0;color:#5C7580}.consult-paper .primary{width:100%}@media(max-width:950px){.north-grid{grid-template-columns:1fr;gap:0}.north-copy{padding:45px 0 0}.implant-hero-art{max-width:650px;margin:auto;width:100%}.north-intro{grid-template-columns:1fr}.explorer-grid,.docket-grid{grid-template-columns:1fr;gap:35px}.explorer-visual{position:relative;top:0;max-width:600px}.docket-heading{display:block}.docket-heading>.lead{max-width:650px}.implant-hero-art svg{max-height:530px}}@media(max-width:480px){.north-copy h1{font-size:3.3rem}.north-badges{flex-wrap:wrap;gap:10px;margin-top:30px}.north-band{grid-template-columns:1fr;gap:15px}.implant-hero-art svg{max-height:430px}.technical-label{bottom:5px;left:0;right:0;gap:15px;padding-top:12px}.technical-label span{font-size:9px}.technical-label b{font-size:8px}.implant-hero-art{padding-bottom:20px}.consult-paper{padding:25px;box-shadow:6px 6px 0 #DDEAF0}.logo{font-size:18px}.logo small{font-size:7px}}