/*
Theme Name: Juniper 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: juniper-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:#FFF9EF;--surface:#FFFDF8;--ink:#263A32;--muted:#657067;--accent:#DDEDCB;--line:#263A322B;--focus:#A64029}.logo{font-family:Georgia,serif;font-weight:400;font-size:36px}.logo span{color:#CF5E3B;font-size:27px;margin-left:4px}.btn,.primary,.chips button,.menu-toggle{border-radius:100px}h1,h2{font-family:Georgia,serif;font-weight:400}h1 span,h2 span{color:#B95335}.family-hero{background:#FFF0CA;padding:60px 0 85px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:40px;align-items:center}.family-copy h1{font-size:clamp(3.5rem,6.1vw,6.5rem)}.family-tag{margin-top:36px;font-size:12px;border-left:3px solid #B95335;padding-left:14px}.family-art{position:relative;padding:30px 0 45px}.art-circle{border-radius:48% 48% 45% 45%;overflow:hidden;transform:rotate(5deg);background:#DDEDCB}.art-circle img{height:490px;width:100%;object-fit:cover;transform:rotate(-5deg) scale(1.1)}.art-flower{position:absolute;right:-45px;top:-18px;width:180px;color:#CE5E39;transform:rotate(-13deg)}.hello-card{position:absolute;left:-35px;bottom:0;background:#DDEDCB;border-radius:14px;padding:28px;width:280px;transform:rotate(-4deg);box-shadow:0 12px 0 #263A3209}.hello-card span{font-size:9px;letter-spacing:.16em}.hello-card b{display:block;font:26px/1.12 Georgia;margin:14px 0 22px}.hello-card a{font-size:11px;text-underline-offset:5px}.orbit-text{position:absolute;right:12px;bottom:-20px;font-size:9px;letter-spacing:.18em}.welcome-band{background:#DDEDCB;padding:23px}.welcome-band .wrap{display:flex;justify-content:space-between;gap:20px;font-size:13px}.section-head{max-width:900px;margin-bottom:44px}.number{color:#B95335;font:32px Georgia;display:block;margin-bottom:25px}.planner-zone{background:#F6DDC9}.family-plan{border:0;border-radius:25px}.plan-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.12em}.plan-top span{font-size:36px}.plan-duration{display:flex;align-items:center;gap:25px;border-bottom:1px solid var(--line);padding:18px 0 25px;margin-bottom:22px}.plan-duration b{font:90px/1 Georgia;color:#B95335}.plan-duration span{font-size:12px}#roster{display:flex;gap:7px;flex-wrap:wrap;margin-top:18px}.person{display:flex;gap:10px;align-items:center;background:#FFF9EF;padding:8px 10px;border-radius:9px;font-size:12px}.person button{min-width:32px;min-height:32px;border:0;background:#EEE8DE;color:var(--ink);border-radius:50%;font-size:18px}.lane{margin-bottom:20px}.lane-title{font-size:10px;letter-spacing:.1em;font-weight:700;margin-bottom:8px}.lane-track{display:flex;gap:4px;min-height:70px}.slot{padding:12px;background:#DDEDCB;border-radius:7px;min-width:80px;flex:1;font-size:11px}.slot:nth-child(even){background:#FFF0CA}.slot b{display:block}.slot span{display:block;font-size:10px;margin-top:4px}.comfort-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:28px 0}.comfort-options button{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:16px;text-align:left;padding:18px;font-size:26px;min-height:100px}.comfort-options button span{display:block;font-size:12px;margin-top:10px}.comfort-options button[aria-pressed=true]{background:#DDEDCB;border-color:#263A32}.passport{background:#DDEDCB;padding:38px;border-radius:24px;border:1px solid #B3C6A3;max-width:500px;transform:rotate(2deg);box-shadow:10px 10px 0 #263A3209}.passport-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.1em;border-bottom:1px dashed #263A3266;padding-bottom:20px}.passport-top span:first-child{font:24px Georgia;letter-spacing:0}.passport-face{font-size:95px;line-height:1.1;text-align:center;color:#B95335}.passport h3{text-align:center;font:36px/1.05 Georgia}#passport-stamps{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;min-height:85px;margin-bottom:25px}#passport-stamps span{font-size:11px;padding:10px 12px;border:1px dashed #263A3299;align-self:center;border-radius:8px}.passport .primary{width:100%}@media(max-width:950px){.hero-grid{grid-template-columns:1fr;gap:40px}.family-art{max-width:620px;margin:auto;width:100%;padding-left:25px;padding-right:25px}.art-flower{right:0}.hello-card{left:0}.family-copy h1{font-size:5rem}.welcome-band .wrap{flex-wrap:wrap}.passport{transform:none}}@media(max-width:480px){.family-hero{padding:35px 0 70px}.family-copy h1{font-size:3.5rem}.art-circle img{height:340px}.art-flower{width:125px;right:-5px}.hello-card{width:240px;padding:23px;bottom:-5px}.hello-card b{font-size:24px}.orbit-text{bottom:-40px}.welcome-band .wrap{flex-direction:column;gap:8px}.passport{padding:25px}.comfort-options button{padding:16px}.plan-duration b{font-size:75px}}
@media(max-width:600px){.lane-track{display:grid;grid-template-columns:1fr 1fr}.slot{min-width:0}}
