:root{--ink:#20231f;--muted:#666b62;--paper:#fbfaf6;--white:#fff;--mint:#e8f1ec;--cream:#f4efdf;--line:#d9ddd4;--sage-dark:#315c50;--olive:#a6a172;--olive-dark:#77744f;--focus:#d6a843;--shadow:0 24px 60px #1f2a2426;--radius:7px;--max-width:1220px;--display-font:Georgia, "Times New Roman", serif;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{background:var(--paper);min-width:320px;margin:0}button,input,textarea,select{font:inherit}a{color:inherit}img,video{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--ink);font-family:var(--display-font);letter-spacing:0;font-weight:500}h1{font-size:clamp(3rem,6.3vw,6rem);line-height:.96}h2{font-size:clamp(2.3rem,4.6vw,4.25rem);line-height:1}h3{font-size:1.38rem;line-height:1.12}p{color:var(--muted);line-height:1.68}#root{min-height:100svh}main{overflow:clip}.page-width{width:min(var(--max-width), calc(100% - 48px));margin-inline:auto}.header-slot{z-index:30;background:var(--paper);height:76px;position:relative}.site-header{z-index:30;width:100%;min-height:76px;padding:10px max(24px, calc((100vw - var(--max-width)) / 2));border-bottom:1px solid var(--line);color:var(--ink);background:#fdfcf8fa;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;transition:background .22s,border-color .22s,box-shadow .22s,color .22s;display:grid;position:absolute;top:0;left:0}.site-header--floating{width:min(var(--max-width), calc(100% - 36px));min-height:68px;color:var(--white);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#1b352ee0;border:1px solid #e8f1ec33;border-radius:999px;padding:9px 11px 9px 16px;position:fixed;top:18px;left:50%;transform:translate(-50%);box-shadow:0 18px 52px #0c1b1747}.brand,.desktop-nav a,.header-phone,.button,.text-link,.hero-link,.service-card a,.outline-link,.footer-links a,.footer-contact a{text-decoration:none}.brand-lockup{align-items:center;gap:12px;display:inline-flex}.brand-mark{border:1px solid var(--olive);width:43px;height:43px;color:var(--olive-dark);background:var(--mint);border-radius:50%;flex:none;place-items:center;display:grid}.brand-mark img{object-fit:contain;width:27px;height:27px}.brand-copy strong,.brand-copy small{display:block}.brand-copy strong{font-family:var(--display-font);font-size:1.04rem;font-weight:500;line-height:1.05}.brand-copy small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:4px;font-size:.66rem;font-weight:700}.site-header--floating .brand-copy strong{color:var(--white)}.site-header--floating .brand-copy small{color:#ffffffa8}.site-header--floating .brand-mark{background:#f4efdff5;border-color:#ffffff7a}.desktop-nav{color:var(--ink);text-transform:uppercase;align-items:center;gap:28px;font-size:.78rem;font-weight:750;display:flex}.desktop-nav a,.header-phone,.text-link,.hero-link,.service-card a,.footer-links a,.footer-contact a{transition:color .16s}.desktop-nav a:hover,.header-phone:hover,.text-link:hover,.service-card a:hover,.footer-links a:hover,.footer-contact a:hover{color:var(--sage-dark)}.header-actions{justify-content:flex-end;align-items:center;gap:18px;display:flex}.header-phone{color:var(--ink);font-size:.84rem;font-weight:750}.button{border:1px solid var(--olive-dark);min-height:50px;color:var(--white);background:var(--olive-dark);text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;padding:0 24px;font-size:.78rem;font-weight:800;transition:transform .16s,background .16s,color .16s;display:inline-flex}.button:hover{background:var(--sage-dark);transform:translateY(-2px)}.button-small{border-color:var(--olive-dark);min-height:40px;color:var(--white);background:var(--olive);padding-inline:19px}.site-header--floating .desktop-nav,.site-header--floating .header-phone{color:#ffffffe0}.site-header--floating .desktop-nav a:hover,.site-header--floating .header-phone:hover{color:var(--cream)}.site-header--floating .button-small{border-color:var(--cream);color:var(--ink);background:var(--cream)}.site-header--floating .button-small:hover{color:var(--white)}.button-light{border-color:var(--cream);color:var(--ink);background:var(--cream)}.button-light:hover{color:var(--white)}.mobile-menu{display:none}.hero{background:var(--sage-dark);align-items:center;min-height:min(74svh,760px);display:grid;position:relative;overflow:hidden}.hero-video,.hero-shade{width:100%;height:100%;position:absolute;inset:0}.hero-video{object-fit:cover;object-position:center}.hero-shade{background:linear-gradient(90deg,#101e1bcc 0%,#101e1b8c 40%,#101e1b14 72%)}.hero-content{z-index:2;color:var(--white);padding-block:70px;position:relative}.hero-content h1{max-width:780px;color:var(--white)}.eyebrow{color:var(--sage-dark);letter-spacing:.15em;text-transform:uppercase;font-size:.72rem;font-weight:800;line-height:1.4}.eyebrow-light{color:var(--cream)}.hero-lede{color:#ffffffdb;max-width:620px;margin-top:24px;font-size:1.14rem}.hero-actions{align-items:center;gap:24px;margin-top:32px;display:flex}.hero-link{color:var(--white);text-transform:uppercase;border-bottom:1px solid #ffffffa6;padding-block:10px;font-size:.78rem;font-weight:800}.credential-strip{z-index:3;border-bottom:1px solid var(--line);background:var(--paper);padding-block:22px;position:relative}.credential-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.credential-card{background:linear-gradient(145deg,#e8f1ece6,#ffffffc2);border:1px solid #315c5024;border-radius:12px;align-items:flex-start;gap:15px;min-height:142px;padding:22px 20px;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 28px #1f362e0f}.credential-card:nth-child(2n){background:linear-gradient(145deg,#f4efdfeb,#ffffffc7);border-color:#a6a17233}.credential-card:after{content:"";border:1px solid #315c5014;border-radius:50%;width:88px;height:88px;position:absolute;bottom:-34px;right:-28px}.credential-index{width:34px;height:34px;color:var(--sage-dark);font-family:var(--display-font);background:#ffffff94;border:1px solid #315c5033;border-radius:50%;flex:none;place-items:center;font-size:.76rem;display:grid}.credential-card div{min-width:0}.credential-card small,.credential-card strong,.credential-card div>span{display:block}.credential-card small{color:var(--olive-dark);letter-spacing:.12em;text-transform:uppercase;margin-bottom:7px;font-size:.62rem;font-weight:800}.credential-card strong{color:var(--ink);font-family:var(--display-font);font-size:1.08rem;font-weight:500;line-height:1.15}.credential-card div>span{color:var(--muted);margin-top:7px;font-size:.72rem;line-height:1.45}.section{padding-block:112px}.centered-heading{text-align:center;max-width:760px;margin:0 auto 48px}.centered-heading h2,.split-heading h2,.about-copy h2,.location-copy h2{margin-top:12px}.centered-heading>p:last-child{max-width:620px;margin:18px auto 0}.services-section{background:var(--paper)}.service-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.service-card{border:1px solid var(--line);min-height:310px;color:inherit;background:var(--mint);border-radius:14px;flex-direction:column;align-items:flex-start;padding:28px;text-decoration:none;transition:transform .22s,border-color .22s,box-shadow .22s;display:flex;position:relative;transform:translateZ(0);box-shadow:0 12px 32px #1f362e0a}.service-card:after{content:"";z-index:-1;border-radius:inherit;opacity:0;transition:opacity .22s;position:absolute;inset:-1px;box-shadow:0 0 0 1px #315c502e,0 22px 48px #315c5029}.service-card:hover,.service-card:focus-visible{z-index:2;border-color:#315c5057;transform:translateY(-7px)scale(1.012);box-shadow:0 20px 42px #1f362e1f}.service-card:hover:after,.service-card:focus-visible:after{opacity:1}.service-card:nth-child(2),.service-card:nth-child(5){background:var(--cream)}.service-card:nth-child(3),.service-card:nth-child(6){background:var(--white)}.service-icon{background:#315c5017;border-radius:50%;place-items:center;width:72px;height:72px;margin-bottom:32px;transition:transform .22s,background .22s;display:grid}.service-card:nth-child(2) .service-icon,.service-card:nth-child(5) .service-icon{background:#a6a17229}.service-icon img{object-fit:contain;width:46px;height:46px}.service-card:hover .service-icon,.service-card:focus-visible .service-icon{background:#315c5024;transform:scale(1.08)rotate(-2deg)}.service-card p{margin-top:12px;font-size:.92rem}.service-link{color:var(--ink);text-transform:uppercase;border-bottom:1px solid;margin-top:auto;padding-top:22px;font-size:.74rem;font-weight:800}.service-link:after{content:"  >";margin-left:7px;transition:transform .22s;display:inline-block}.service-card:hover .service-link:after,.service-card:focus-visible .service-link:after{transform:translate(4px)}.service-note{text-align:center;max-width:720px;margin:28px auto 0;font-size:.82rem}.practice-section{background:var(--white)}.split-heading{grid-template-columns:1.1fr .65fr;align-items:end;gap:70px;margin-bottom:42px;display:grid}.practice-gallery{--gallery-height:clamp(360px, 36vw, 470px);grid-template-columns:1.25fr .75fr .75fr;gap:14px;display:grid}.practice-gallery figure{margin:0;position:relative}.gallery-frame{height:var(--gallery-height);border-radius:var(--radius);overflow:hidden}.gallery-large .gallery-frame{height:var(--gallery-height)}.practice-gallery img{object-fit:cover;width:100%;height:100%}.practice-gallery .gallery-large img{object-position:40% center}.practice-gallery figcaption{min-height:54px;color:var(--ink);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-family:var(--display-font);background:#fdfcf8e6;border:1px solid #ffffff94;border-radius:6px;align-items:center;gap:11px;padding:13px 16px;font-size:1rem;line-height:1.2;display:flex;position:absolute;bottom:14px;left:14px;right:14px;overflow:hidden;box-shadow:0 12px 30px #12231e29}.practice-gallery figcaption:before{content:"";background:var(--olive);flex:none;width:22px;height:1px}.about-section{background:var(--mint)}.about-grid{grid-template-columns:minmax(340px,.8fr) minmax(0,1fr);align-items:center;gap:clamp(48px,8vw,104px);display:grid}.about-image{position:relative}.about-image img{aspect-ratio:3/4;object-fit:cover;object-position:center 35%;border-radius:var(--radius);width:100%;max-height:710px}.image-caption{border-radius:var(--radius);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fdfcf8eb;padding:17px 18px;position:absolute;bottom:18px;left:18px;right:18px}.image-caption strong,.image-caption span{display:block}.image-caption strong{font-family:var(--display-font);font-weight:500}.image-caption span{color:var(--muted);margin-top:4px;font-size:.78rem}.about-copy>p:not(.eyebrow){margin-top:20px}.care-principle{border-left:2px solid var(--olive);margin:30px 0;padding:22px 0 22px 24px}.care-principle strong{color:var(--ink);font-family:var(--display-font);margin-bottom:8px;font-size:1.22rem;font-weight:500;display:block}.care-principle p{max-width:650px}.text-link{color:var(--olive-dark);text-transform:uppercase;border-bottom:1px solid;font-size:.76rem;font-weight:800;display:inline-block}.booking-section{color:var(--white);background:var(--sage-dark)}.booking-grid{grid-template-columns:minmax(0,.8fr) minmax(440px,1fr);gap:clamp(50px,8vw,110px);display:grid}.booking-intro h2{color:var(--white);margin-top:12px}.booking-intro>p:not(.eyebrow){color:#ffffffc2;margin-top:20px}.booking-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:30px;display:flex}.outline-link{min-height:46px;color:var(--white);border:1px solid #ffffff59;border-radius:999px;align-items:center;padding-inline:16px;font-size:.76rem;font-weight:750;display:inline-flex}.outline-link:hover{border-color:var(--cream);background:#ffffff14}.appointment-list{border-top:1px solid #ffffff38}.appointment-list article{border-bottom:1px solid #ffffff38;grid-template-columns:100px 1fr;gap:20px;padding-block:24px;display:grid}.appointment-list article>span{color:var(--cream);text-transform:uppercase;font-size:.72rem;font-weight:800}.appointment-list h3{color:var(--white)}.appointment-list p{color:#ffffffad;margin-top:8px;font-size:.88rem}.emergency-note{border-radius:var(--radius);color:var(--ink);background:var(--cream);margin-top:24px;padding:20px}.emergency-note p{color:var(--muted);margin-top:6px;font-size:.88rem}.location-section{background:var(--white)}.faq-section{background:var(--cream)}.faq-grid{grid-template-columns:minmax(260px,.56fr) minmax(0,1fr);align-items:start;gap:clamp(48px,8vw,104px);display:grid}.faq-heading{position:sticky;top:112px}.faq-heading h2{margin-top:12px}.faq-heading>p:not(.eyebrow){margin-top:18px}.faq-heading .text-link{margin-top:28px}.faq-list{border-top:1px solid #315c5033}.faq-list details{border-bottom:1px solid #315c5033}.faq-list summary{color:var(--ink);cursor:pointer;font-family:var(--display-font);padding:25px 52px 25px 0;font-size:1.22rem;font-weight:500;line-height:1.3;list-style:none;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";width:30px;height:30px;color:var(--sage-dark);font-family:var(--body-font);border:1px solid #315c5047;border-radius:50%;place-items:center;font-size:1.1rem;transition:transform .18s,background .18s;display:grid;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.faq-list details[open] summary:after{background:#ffffff9e;transform:translateY(-50%)rotate(45deg)}.faq-list details p{max-width:700px;color:var(--muted);padding:0 52px 25px 0}.location-grid{grid-template-columns:minmax(0,1.08fr) minmax(390px,.72fr);align-items:stretch;gap:0;display:grid}.location-photo img{object-fit:cover;border-radius:var(--radius) 0 0 var(--radius);width:100%;height:100%;min-height:590px}.location-copy{border:1px solid var(--line);border-radius:0 var(--radius) var(--radius) 0;background:var(--paper);border-left:0;padding:clamp(36px,5vw,68px)}.location-copy address{color:var(--ink);font-family:var(--display-font);margin-top:24px;font-size:1.18rem;font-style:normal;line-height:1.55}.location-copy dl{margin:28px 0 12px}.location-copy dl div{border-top:1px solid var(--line);justify-content:space-between;gap:18px;padding-block:15px;display:flex}.location-copy dt{color:var(--muted)}.location-copy dd{color:var(--ink);text-align:right;margin:0;font-weight:750}.location-copy small{color:var(--muted)}.location-actions{align-items:center;gap:22px;margin-top:30px;display:flex}.photo-ribbon{text-align:center;place-items:center;min-height:470px;display:grid;position:relative;overflow:hidden}.photo-ribbon:after{content:"";background:#16262294;position:absolute;inset:0}.photo-ribbon>img{object-fit:cover;object-position:center 58%;width:100%;height:100%;position:absolute;inset:0}.photo-ribbon>div{z-index:2;padding:48px 24px;position:relative}.photo-ribbon h2{max-width:620px;color:var(--white);margin:12px auto 28px}.site-footer{background:var(--paper);padding:54px 0 24px}.footer-grid{grid-template-columns:1.4fr .7fr .7fr;gap:40px;display:grid}.footer-links,.footer-contact{align-content:start;gap:12px;font-size:.82rem;display:grid}.footer-meta{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:20px;margin-top:46px;padding-top:20px;font-size:.7rem;display:flex}.button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}@media (width<=1020px){.site-header{grid-template-columns:1fr auto}.desktop-nav,.header-phone{display:none}.mobile-menu{display:block;position:relative}.mobile-menu summary{border:1px solid var(--line);cursor:pointer;background:var(--white);border-radius:50%;place-content:center;gap:4px;width:42px;height:42px;list-style:none;display:grid}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{background:var(--ink);width:17px;height:1px;display:block}.site-header--floating .mobile-menu summary{background:#ffffff1a;border-color:#ffffff47}.site-header--floating .mobile-menu summary span{background:var(--white)}.mobile-menu nav{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#1b352ef5;border:1px solid #e8f1ec33;border-radius:18px;width:210px;padding:12px;display:grid;position:absolute;top:56px;right:0;box-shadow:0 20px 48px #0c1b1752}.mobile-menu nav a{color:var(--white);padding:11px 10px;text-decoration:none}.service-grid{grid-template-columns:repeat(2,1fr)}.booking-grid{grid-template-columns:1fr}.about-grid{grid-template-columns:minmax(300px,.75fr) 1fr;gap:48px}}@media (width<=760px){.page-width{width:min(100% - 28px, var(--max-width))}.site-header{gap:8px;min-height:68px;padding:8px 14px}.header-slot{height:68px}.site-header--floating{width:calc(100% - 20px);min-height:58px;padding:7px 8px 7px 12px;top:10px;left:50%;transform:translate(-50%)}.brand-copy small{display:none}.header-actions{gap:8px}.button-small{min-height:38px;padding-inline:14px;font-size:.68rem}.hero{align-items:end;min-height:72svh}.hero-shade{background:linear-gradient(#101e1b1f 0%,#101e1b6b 30%,#101e1be0 100%)}.hero-content{padding-block:72px 48px}.hero-actions{flex-direction:column;align-items:flex-start}.credential-grid{grid-template-columns:repeat(2,1fr)}.credential-card{min-height:138px;padding:18px}.section{padding-block:76px}.centered-heading{text-align:left;margin-bottom:34px}.centered-heading>p:last-child{margin-left:0}.service-grid,.about-grid,.faq-grid,.location-grid,.footer-grid{grid-template-columns:1fr}.faq-grid{gap:34px}.faq-heading{position:static}.service-card{min-height:270px}.split-heading{grid-template-columns:1fr;gap:20px}.practice-gallery{grid-template-columns:1fr 1fr}.gallery-large{grid-column:span 2}.practice-gallery .gallery-large .gallery-frame{aspect-ratio:4/3;height:auto}.practice-gallery figure:not(.gallery-large) .gallery-frame{aspect-ratio:3/4;height:auto}.about-grid{gap:42px}.about-image img{max-height:620px}.booking-actions{flex-direction:column;align-items:stretch}.booking-actions .button,.booking-actions .outline-link{justify-content:center;width:100%}.appointment-list article{grid-template-columns:82px 1fr}.location-photo img{aspect-ratio:4/3;border-radius:var(--radius) var(--radius) 0 0;min-height:330px}.location-copy{border-top:0;border-left:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius)}.photo-ribbon{min-height:420px}.footer-meta{flex-direction:column;align-items:flex-start}}@media (width<=430px){.brand-mark{width:38px;height:38px}.brand-copy strong{max-width:116px;font-size:.88rem}.service-grid,.practice-gallery,.credential-grid{grid-template-columns:1fr}.credential-card{min-height:118px}.gallery-large{grid-column:auto}.practice-gallery .gallery-frame,.practice-gallery .gallery-large .gallery-frame,.practice-gallery figure:not(.gallery-large) .gallery-frame{aspect-ratio:4/3;height:auto}.location-copy dl div{flex-direction:column;align-items:flex-start;gap:6px}.location-copy dd{text-align:left}.location-actions{flex-direction:column;align-items:stretch}.location-actions .text-link{align-self:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-video{display:none}.hero{background:linear-gradient(#101e1b59,#101e1bb8),url(/assets/dr_emily_cockcroft_w_assistant-BUDfD8CP.jpeg) 50%/cover}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
