/*
Theme Name: Family Dental Lounge
Description: Responsive, editable WordPress theme for Family Dental Lounge.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: family-dental-lounge
*/
:root{--paper:#EBEBE8;--ink:#18181B;--blue:#0066FF;--line:#D4D4D8;--teal:#0D776F;--serif:'Playfair Display',Georgia,serif;--sans:'Inter',Arial,sans-serif;--ease:cubic-bezier(.16,1,.3,1);--gutter:clamp(20px,5vw,76px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:10;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.72'/%3E%3C/svg%3E")}
a{color:inherit}img{max-width:100%;height:auto}.site-shell{position:relative;isolation:isolate}.grid-lines{position:absolute;inset:0 var(--gutter);z-index:-1;pointer-events:none;display:grid;grid-template-columns:repeat(12,1fr)}.grid-lines i{border-left:1px solid rgba(24,24,27,.055)}.grid-lines i:last-child{border-right:1px solid rgba(24,24,27,.055)}.container{width:min(100% - 2*var(--gutter),1500px);margin-inline:auto}.eyebrow,.meta-label,.nav-label,.button,.service-number{font-size:10px;font-weight:700;letter-spacing:.24em;text-transform:uppercase}.eyebrow{display:flex;gap:12px;align-items:center}.eyebrow:before{content:"";display:block;width:28px;height:1px;background:currentColor}.site-header{position:relative;z-index:20;border-bottom:1px solid var(--line)}.header-inner{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand-mark{width:43px;height:43px;display:grid;place-items:center;color:var(--teal);border:1px solid var(--teal);border-radius:50%;font-family:var(--serif);font-size:26px;line-height:1}.brand-copy{display:flex;flex-direction:column;line-height:1.15}.brand-copy strong{font-size:14px;letter-spacing:.1em;text-transform:uppercase}.brand-copy small{font-size:9px;letter-spacing:.25em;color:var(--teal);font-weight:700;text-transform:uppercase;margin-top:5px}.site-logo{max-height:62px;width:auto}.header-actions{display:flex;align-items:center;gap:36px}.primary-nav ul{display:flex;align-items:center;gap:30px;list-style:none;padding:0;margin:0}.primary-nav a{text-decoration:none;font-size:12px;transition:color .35s var(--ease)}.primary-nav a:hover{color:var(--blue)}.button{display:inline-flex;justify-content:center;align-items:center;gap:15px;text-decoration:none;background:var(--blue);color:white;border:1px solid var(--blue);min-height:54px;padding:0 24px;transition:transform .5s var(--ease),background .5s var(--ease),clip-path .5s var(--ease);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.button:hover{transform:translateY(-3px);background:#004fc7;clip-path:polygon(0 0,100% 0,100% 88%,96% 100%,0 100%)}.button span{font-size:17px;line-height:1}.menu-toggle{display:none;border:1px solid var(--line);background:transparent;padding:12px;font:inherit}.hero{padding:clamp(60px,9vw,132px) 0 68px}.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(34px,7vw,104px);align-items:end}.hero h1{font-size:clamp(62px,10.4vw,148px);line-height:.91;letter-spacing:-.07em;margin:26px 0 30px;font-weight:900;max-width:950px}.hero h1 em{font-family:var(--serif);font-size:.78em;font-weight:400;letter-spacing:-.075em;color:var(--blue)}.hero-copy{max-width:440px;padding-bottom:9px}.hero-copy p{font-size:17px;line-height:1.75;color:#52525B;margin:0 0 27px}.hero-image{position:relative;margin-top:clamp(46px,7vw,96px);min-height:clamp(270px,42vw,580px);background:#DADAD4;overflow:hidden;display:grid;place-items:center;border:1px solid var(--line);transition:clip-path .9s var(--ease)}.hero-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 34%}.portrait-placeholder{position:relative;width:min(68%,420px);height:min(90%,520px);align-self:end;background:linear-gradient(140deg,#e4e4dc,#d4d5cd);display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(24,24,27,.12)}.portrait-placeholder:before{content:"";position:absolute;width:44%;aspect-ratio:1;border-radius:50%;background:#b3b4ae;top:14%;left:28%}.portrait-placeholder:after{content:"";position:absolute;width:78%;height:58%;border-radius:48% 48% 0 0;background:#a5a69f;bottom:-2%;left:11%}.portrait-note{position:absolute;z-index:2;top:22px;left:22px;background:var(--paper);padding:10px 13px;color:#52525B}.portrait-note small{font-size:9px;letter-spacing:.17em;text-transform:uppercase;font-weight:700}.hero-image-caption{position:absolute;z-index:2;bottom:20px;right:22px;color:white;text-shadow:0 1px 8px #111;font-size:10px;letter-spacing:.2em;font-weight:700;text-transform:uppercase}.section{padding:clamp(76px,10vw,148px) 0;border-top:1px solid var(--line)}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:end;margin-bottom:54px}.section-heading h2{font-size:clamp(42px,6vw,82px);line-height:.98;letter-spacing:-.06em;margin:18px 0 0;font-weight:700}.section-heading h2 em{font-family:var(--serif);font-weight:400;color:var(--teal)}.section-heading p{max-width:480px;color:#52525B;margin:0 0 7px}.intro-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:22px}.intro-note{grid-column:2/6;font-family:var(--serif);font-size:clamp(25px,3vw,42px);line-height:1.25}.intro-copy{grid-column:7/12;color:#52525B;max-width:520px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{min-height:270px;padding:27px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;transition:background .5s var(--ease),transform .5s var(--ease)}.service-card:hover{background:rgba(255,255,255,.32);transform:translateY(-4px)}.service-number{color:var(--blue)}.service-card h3{font-size:25px;line-height:1.1;letter-spacing:-.04em;margin:auto 0 12px}.service-card p{font-size:14px;color:#52525B;margin:0;max-width:350px}.doctor-panel{display:grid;grid-template-columns:.82fr 1.18fr;border:1px solid var(--line)}.doctor-visual{min-height:500px;position:relative;background:#d9d9d2;display:grid;place-items:center;overflow:hidden}.doctor-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.doctor-visual .portrait-placeholder{width:73%;height:85%}.doctor-info{padding:clamp(32px,7vw,96px);display:flex;flex-direction:column;justify-content:center}.doctor-info h2{font-size:clamp(42px,6vw,80px);line-height:1;letter-spacing:-.065em;margin:18px 0 10px}.doctor-credentials{font-size:13px;color:#52525B;letter-spacing:.04em;margin:0 0 26px}.doctor-info p{max-width:560px;color:#52525B}.doctor-info .text-link{align-self:flex-start;margin-top:20px}.text-link{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:7px}.contact-section{background:#18181B;color:var(--paper)}.contact-section .section-heading p{color:#b4b4bc}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(38px,8vw,120px)}.contact-details{border-top:1px solid #44444b}.detail-row{padding:22px 0;border-bottom:1px solid #44444b;display:grid;grid-template-columns:130px 1fr;gap:20px}.detail-row .meta-label{color:#9b9ba3}.detail-row p,.detail-row a{margin:0;font-size:15px;text-decoration:none}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}.field label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:#bbbcc2}.field input,.field textarea{background:transparent;color:#fff;border:0;border-bottom:1px solid #686870;border-radius:0;padding:13px 0;font:inherit;outline:none}.field input:focus,.field textarea:focus{border-color:#71a6ff}.field textarea{resize:vertical;min-height:100px}.field input::placeholder,.field textarea::placeholder{color:#8e8e96}.form-submit{grid-column:1/-1;justify-self:start;margin-top:12px}.form-notice{grid-column:1/-1;padding:14px;border:1px solid #666;margin:0 0 8px}.hp-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-privacy{grid-column:1/-1;font-size:11px;color:#a7a7af;margin:-4px 0 0}.site-footer{padding:30px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-inner p{font-size:11px;color:#666;margin:0}.footer-address{font-size:11px;letter-spacing:.06em}
+@media(max-width:900px){.header-inner{min-height:78px}.header-actions{gap:18px}.primary-nav ul{gap:17px}.header-appointment{display:none}.hero-grid{grid-template-columns:1fr .68fr;gap:22px}.hero h1{font-size:clamp(58px,11vw,102px)}.section-heading{grid-template-columns:1fr}.section-heading p{max-width:600px}.intro-note{grid-column:1/6}.intro-copy{grid-column:7/13}.services-grid{grid-template-columns:repeat(2,1fr)}.doctor-panel{grid-template-columns:.9fr 1.1fr}.doctor-visual{min-height:420px}.contact-grid{grid-template-columns:1fr 1.2fr;gap:38px}}
+@media(max-width:640px){:root{--gutter:20px}.grid-lines{inset:0 20px;grid-template-columns:repeat(4,1fr)}.grid-lines i:nth-child(n+5){display:none}.header-inner{min-height:72px}.brand-mark{width:38px;height:38px}.brand-copy strong{font-size:12px}.menu-toggle{display:block;position:relative;z-index:3}.primary-nav{display:none;position:absolute;top:71px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:8px var(--gutter) 20px}.primary-nav.is-open{display:block}.primary-nav ul{display:flex;flex-direction:column;align-items:stretch;gap:0}.primary-nav li{border-bottom:1px solid var(--line)}.primary-nav a{display:block;padding:14px 0;font-size:14px}.hero{padding:58px 0 44px}.hero-grid{grid-template-columns:1fr;gap:0}.hero h1{font-size:clamp(57px,16vw,86px);margin:20px 0 21px}.hero-copy{max-width:100%}.hero-copy p{font-size:15px}.hero-image{min-height:370px;margin-top:37px}.section{padding:78px 0}.section-heading{margin-bottom:34px;gap:15px}.section-heading h2{font-size:clamp(42px,12vw,64px)}.intro-grid{display:block}.intro-note{font-size:29px;margin:0 0 24px}.intro-copy{font-size:14px}.services-grid{grid-template-columns:1fr}.service-card{min-height:210px;padding:22px}.service-card h3{font-size:23px;margin-top:45px}.doctor-panel{grid-template-columns:1fr}.doctor-visual{min-height:380px}.doctor-info{padding:31px 24px 38px}.doctor-info h2{font-size:48px}.contact-grid{grid-template-columns:1fr}.detail-row{grid-template-columns:105px 1fr}.contact-form{grid-template-columns:1fr}.field.full,.form-submit,.contact-privacy{grid-column:1}.contact-form .button{width:100%}.footer-inner{align-items:flex-start;flex-direction:column}}
+@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
/* Dental identity and social links */
.site-logo{max-height:62px;max-width:215px;width:auto;object-fit:contain}.social-links{display:flex;gap:12px;align-items:center}.social-links a,.footer-social a{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none}.whatsapp-link{color:#178b5b}.facebook-link{color:#2756a3}.hero-badge{display:inline-block;border:1px solid var(--teal);color:var(--teal);padding:8px 11px;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin:0}.dental-motif{position:absolute;z-index:3;left:24px;bottom:24px;background:var(--blue);color:#fff;padding:14px;display:flex;align-items:center;gap:10px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.dental-motif svg{width:36px;height:42px}.service-icon{color:var(--blue);font-size:30px;line-height:1;margin:18px 0 0}.doctor-stamp{position:absolute;left:20px;top:20px;background:var(--paper);padding:10px;font-size:9px;line-height:1.4;font-weight:700;letter-spacing:.16em;color:var(--teal)}.footer-social{text-align:right}@media(max-width:900px){.social-links{display:none}}@media(max-width:640px){.site-logo{max-width:150px;max-height:52px}.dental-motif{left:14px;bottom:14px}.footer-social{text-align:left}}
