@keyframes redwood-hero-eyebrow-in{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes redwood-hero-copy-in{0%{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:translateY(0)}}@keyframes redwood-hero-lead-lift{0%{opacity:1;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}.redwood-hero{background:var(--background-muted);flex-direction:column-reverse;min-height:0;display:flex;overflow:hidden}.redwood-hero__content{padding:var(--spacing-2xl) var(--spacing-md) var(--spacing-lg);flex-direction:column;justify-content:space-between;display:flex}.redwood-hero__copy{max-width:var(--container-mobile)}.redwood-hero__eyebrow{color:var(--primary-color);font-size:var(--font-small);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.12em;min-height:3.2em;animation:.9s cubic-bezier(.16,1,.3,1) .25s both redwood-hero-eyebrow-in}.redwood-hero__brand{height:var(--spacing-3xl);margin-bottom:var(--spacing-md);align-items:center;display:flex}.redwood-hero__brand--hidden{visibility:hidden}.redwood-hero__invisalign{width:max(9rem,min(45vw,14rem));height:auto;display:block}.redwood-hero h1{font-size:var(--font-h1);letter-spacing:-.03em;margin-bottom:var(--spacing-md);min-height:3.2em;line-height:1.06;animation:.85s cubic-bezier(.22,1,.36,1) .26s both redwood-hero-copy-in}.redwood-hero__lead{max-width:38ch;color:var(--black);min-height:6.5em;font-size:var(--font-h4);line-height:var(--line-height-relaxed);animation:.8s cubic-bezier(.22,1,.36,1) .36s both redwood-hero-lead-lift}.redwood-hero__actions,.redwood-hero__controls,.redwood-hero__dots{align-items:center;gap:var(--spacing-sm);display:flex}.redwood-hero__actions{align-items:stretch;gap:var(--spacing-sm);flex-direction:column}.redwood-hero__actions>div,.redwood-hero__actions button{width:100%}.redwood-hero__link{min-height:var(--spacing-3xl);justify-content:center;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--primary-color);border-radius:var(--border-radius-sm);color:var(--primary-color);font-weight:var(--font-weight-semibold);text-decoration:none;display:inline-flex}.redwood-hero__link:hover{background:var(--primary-color);color:var(--white)}.redwood-hero__controls{justify-content:flex-start;gap:var(--spacing-md);margin-top:var(--spacing-lg);padding-top:var(--spacing-xs);max-width:var(--container-mobile)}.redwood-hero__count{color:var(--text-light);font-size:var(--font-small);font-weight:var(--font-weight-semibold);letter-spacing:.08em;white-space:nowrap}.redwood-hero__dots{gap:0}.redwood-hero__dot{cursor:pointer;background:0 0;border:0;flex-shrink:0;width:44px;height:44px;position:relative}.redwood-hero__dot:after{content:"";width:var(--spacing-sm);height:var(--spacing-sm);border:2px solid var(--primary-color);border-radius:var(--border-radius-lg);transition:width .2s,background-color .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.redwood-hero__dot:hover:after,.redwood-hero__dot--active:after{width:var(--spacing-lg);background:var(--primary-color)}.redwood-hero__media{aspect-ratio:4/3;background:var(--secondary-color);animation:1s cubic-bezier(.22,1,.36,1) .1s both redwood-hero-copy-in;position:relative;overflow:hidden}.redwood-hero__media:after{content:"";background:var(--banner-overlay);opacity:.24;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.redwood-hero__image{object-fit:cover;object-position:center;opacity:0;visibility:hidden;transition:opacity .45s,transform 1s cubic-bezier(.22,1,.36,1);transform:scale(1.035)}.redwood-hero__image--3{object-position:60% center}.redwood-hero__image--active{opacity:1;visibility:visible;transform:scale(1)}@media (max-width:767px){.redwood-hero__eyebrow,.redwood-hero__brand,.redwood-hero h1,.redwood-hero__lead,.redwood-hero__media{animation:none}}@media (min-width:768px){.redwood-hero{flex-direction:row;min-height:min(70vw,46rem)}.redwood-hero__content{width:46%;padding:var(--spacing-3xl) var(--spacing-lg) var(--spacing-xl)}.redwood-hero__actions{align-items:center;gap:var(--spacing-lg);flex-flow:wrap}.redwood-hero__actions>div,.redwood-hero__actions button{width:auto}.redwood-hero__link{min-height:var(--spacing-3xl);text-underline-offset:var(--spacing-xs);border:0;padding:0;text-decoration:underline}.redwood-hero__link:hover{color:var(--primary-hover);background:0 0}.redwood-hero h1{min-height:4.3em}.redwood-hero__media{aspect-ratio:auto;width:54%}}@media (min-width:1280px){.redwood-hero__content{width:42%;padding:var(--spacing-xl) var(--spacing-2xl)}.redwood-hero__eyebrow{min-height:var(--spacing-lg)}.redwood-hero__brand{height:var(--spacing-2xl)}.redwood-hero__lead{min-height:5em}.redwood-hero__controls{margin-top:var(--spacing-lg)}.redwood-hero h1{min-height:3.2em}.redwood-hero__media{width:58%}}@media (prefers-reduced-motion:reduce){.redwood-hero__eyebrow,.redwood-hero__brand,.redwood-hero h1,.redwood-hero__lead,.redwood-hero__media{animation:none}.redwood-hero__image,.redwood-hero__dot:after{transition:none}.redwood-hero__image{transform:none}}
.redwood-welcome{background:var(--background-muted);padding:var(--spacing-3xl) var(--spacing-md)}.redwood-welcome__inner{max-width:var(--container-desktop);gap:var(--spacing-2xl);flex-direction:column;align-items:center;margin:auto;display:flex}.redwood-welcome__photo{aspect-ratio:4/3;border-radius:var(--border-radius-lg);background:var(--secondary-color);width:100%;box-shadow:var(--box-shadow);position:relative;overflow:hidden}.redwood-welcome__photo img{object-fit:cover;object-position:center}.redwood-welcome__content{flex:1}.redwood-welcome__eyebrow,.redwood-welcome__place{text-transform:uppercase;letter-spacing:.12em;color:var(--primary-color);font-size:var(--font-small);font-weight:var(--font-weight-semibold)}.redwood-welcome h2{font-size:var(--font-h2);max-width:16ch}p:not(:-webkit-any(.redwood-welcome__eyebrow,.redwood-welcome__place)){max-width:66ch;line-height:var(--line-height-relaxed)}p:not(:-moz-any(.redwood-welcome__eyebrow,.redwood-welcome__place)){max-width:66ch;line-height:var(--line-height-relaxed)}p:not(:is(.redwood-welcome__eyebrow,.redwood-welcome__place)){max-width:66ch;line-height:var(--line-height-relaxed)}.redwood-welcome__actions{align-items:center;gap:var(--spacing-lg);margin-block:var(--spacing-lg);flex-wrap:wrap;display:flex}.redwood-welcome__phone,.redwood-welcome__resource{color:var(--primary-color);text-underline-offset:var(--spacing-xs);text-decoration:underline}.redwood-welcome__resource{font-weight:var(--font-weight-semibold)}@media (min-width:768px){.redwood-welcome{padding:var(--spacing-4xl) var(--spacing-xl)}.redwood-welcome__inner{gap:var(--spacing-3xl);flex-direction:row}.redwood-welcome__photo{aspect-ratio:4/3;flex-shrink:0;width:48%}}
.redwood-dentist{background:var(--white);padding:var(--spacing-3xl) var(--spacing-md)}.redwood-dentist__inner{max-width:var(--container-desktop);align-items:center;gap:var(--spacing-2xl);flex-direction:column;margin:auto;display:flex}.redwood-dentist__portrait{aspect-ratio:386/339;background:var(--background-muted);border-radius:var(--border-radius-lg);width:100%;max-width:24rem;position:relative;overflow:hidden}.redwood-dentist__portrait img{object-fit:contain;object-position:center}.redwood-dentist__content{flex:1}.redwood-dentist__eyebrow{font-size:var(--font-small);color:var(--tertiary-color);text-transform:uppercase;letter-spacing:.12em;font-weight:var(--font-weight-semibold)}.redwood-dentist h2{font-size:var(--font-h2)}.redwood-dentist p{max-width:64ch}.redwood-dentist__facts{gap:var(--spacing-lg);padding-block:var(--spacing-md);margin-bottom:var(--spacing-lg);border-block:1px solid var(--border-color);color:var(--primary-color);font-size:var(--font-small);text-transform:uppercase;letter-spacing:.08em;font-weight:var(--font-weight-semibold);flex-wrap:wrap;display:flex}@media (min-width:768px){.redwood-dentist{padding:var(--spacing-4xl) var(--spacing-xl)}.redwood-dentist__inner{gap:var(--spacing-4xl);flex-direction:row}.redwood-dentist__portrait{width:43%}}
.redwood-services{background:var(--primary-color);color:var(--white)}.redwood-services__inner{max-width:var(--container-desktop);padding:var(--spacing-3xl) var(--spacing-md);margin:auto}.redwood-services__heading{gap:var(--spacing-md);margin-bottom:var(--spacing-2xl);flex-direction:column;display:flex}.redwood-services__eyebrow{color:var(--white);text-transform:uppercase;letter-spacing:.12em;font-size:var(--font-small)}.redwood-services__intro{max-width:56ch;color:var(--on-dark-muted)}.redwood-services h2{color:var(--white);font-size:var(--font-h2)}.redwood-services__all{color:var(--white);text-underline-offset:var(--spacing-xs);font-weight:var(--font-weight-semibold);align-self:flex-start;text-decoration:underline}.redwood-services__all:hover{color:var(--background-muted)}.redwood-services__feature{gap:var(--spacing-lg);flex-direction:column;display:flex}.redwood-services__scroll-hint{align-items:center;gap:var(--spacing-xs);margin:0 0 var(--spacing-xs);color:var(--on-dark-muted);font-size:var(--font-small);letter-spacing:.02em;display:flex}.redwood-services__scroll-hint span{margin-right:auto}.redwood-services__scroll-hint button{min-width:var(--spacing-3xl);min-height:var(--spacing-3xl);border:1px solid var(--on-dark-border);border-radius:var(--border-radius-sm);color:var(--white);cursor:pointer;background:0 0;justify-content:center;align-items:center;display:inline-flex}.redwood-services__scroll-hint button:hover{background:var(--secondary-color-dark);border-color:var(--white)}.redwood-services__tabs{gap:var(--spacing-xs);padding-bottom:var(--spacing-sm);scroll-snap-type:x mandatory;scroll-padding-inline:var(--spacing-xs);touch-action:pan-x;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--secondary-color) transparent;display:flex;overflow-x:auto}.redwood-services__tabs::-webkit-scrollbar{height:var(--spacing-xs)}.redwood-services__tabs::-webkit-scrollbar-track{background:0 0}.redwood-services__tabs::-webkit-scrollbar-thumb{background:var(--secondary-color);border-radius:var(--border-radius-sm)}.redwood-services__tab{scroll-snap-align:start;flex:0 0 calc((100% - var(--spacing-xs))/2);align-items:center;gap:var(--spacing-sm);text-align:left;white-space:nowrap;font-size:var(--font-small);min-height:var(--spacing-3xl);padding:var(--spacing-sm) var(--spacing-md);color:var(--white);border:1px solid var(--on-dark-border);border-left:var(--spacing-xs) solid transparent;border-radius:var(--border-radius-sm);cursor:pointer;font:inherit;font-size:var(--font-small);background:0 0;transition:background-color .2s,border-color .2s,color .2s;display:flex}.redwood-services__tab:hover:not(.redwood-services__tab--active){background:var(--secondary-color-dark)}.redwood-services__tab--active{background:var(--background-muted);color:var(--primary-color);border-left-color:var(--tertiary-color);font-weight:var(--font-weight-semibold)}.redwood-services__tab span:first-child{font-size:var(--font-small);letter-spacing:.08em}.redwood-services__panel{background:var(--background-muted);color:var(--primary-color);border-radius:var(--border-radius-sm);padding:var(--spacing-xs);min-width:0}.redwood-services__panel:hover .redwood-services__image img{transform:scale(1.025)}.redwood-services__image img{transition:transform .7s cubic-bezier(.22,1,.36,1)}.redwood-services__image{aspect-ratio:4/3;border-radius:var(--border-radius-sm);background:var(--secondary-color);width:92%;margin-left:auto;margin-right:auto;position:relative;overflow:hidden}.redwood-services__image img{object-fit:cover;object-position:center 40%}.redwood-services__panel-bottom{gap:var(--spacing-md);padding:var(--spacing-lg);flex-direction:column;align-items:flex-start;display:flex}.redwood-services__panel-bottom h3{min-height:2.3em;font-family:var(--font-heading);font-size:var(--font-h3);color:var(--primary-color);margin:0}.redwood-services__pagination{align-items:center;gap:var(--spacing-md);color:var(--primary-color);display:flex}.redwood-services__pagination button{min-width:var(--spacing-3xl);min-height:var(--spacing-3xl);border:1px solid var(--primary-color);border-radius:var(--border-radius-sm);color:inherit;cursor:pointer;background:0 0}@media (min-width:1280px){.redwood-services__scroll-hint{display:none}.redwood-services__inner{padding:var(--spacing-4xl) var(--spacing-xl)}.redwood-services__heading{flex-direction:row;justify-content:space-between;align-items:end}.redwood-services__feature{gap:var(--spacing-xl);flex-direction:row}.redwood-services__tabs{flex-direction:column;flex:0 0 36%;overflow:visible}.redwood-services__tab{width:100%;font-size:var(--font-p);border:0;border-left:var(--spacing-xs) solid transparent;border-bottom:1px solid var(--on-dark-border);flex:auto;justify-content:space-between}.redwood-services__tab--active{border-left-color:var(--tertiary-color)}.redwood-services__panel{flex:1}.redwood-services__panel-bottom{justify-content:space-between;align-items:center;gap:var(--spacing-lg);flex-flow:wrap}.redwood-services__panel-bottom h3{flex:auto;min-width:0;min-height:0}.redwood-services__panel-bottom>.btn{white-space:normal;text-align:center;flex:0 auto;max-width:min(100%,18rem)}.redwood-services__pagination{flex:none;margin-left:auto}.redwood-services__image{aspect-ratio:3/2;width:100%;margin-left:0;margin-right:0}}@media (forced-colors:active){.redwood-services__tab--active{outline:2px solid highlight}}
.redwood-invisalign{padding:var(--spacing-3xl) var(--spacing-md);background:var(--white)}.redwood-invisalign__inner{max-width:var(--container-desktop);align-items:center;gap:var(--spacing-2xl);flex-direction:column;margin:auto;display:flex}.redwood-invisalign__image{width:100%;max-width:var(--container-mobile);aspect-ratio:4/3;border-radius:var(--border-radius-lg);background:var(--background-muted);position:relative;overflow:hidden}.redwood-invisalign__image img{object-fit:cover;object-position:center 58%}.redwood-invisalign__content{flex:1}.redwood-invisalign__eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--tertiary-color);font-size:var(--font-small);font-weight:var(--font-weight-semibold)}.redwood-invisalign__logo{width:max(9rem,min(35vw,12rem));height:auto;margin-bottom:var(--spacing-md);display:block}.redwood-invisalign h2{font-size:var(--font-h2);max-width:17ch}.redwood-invisalign p{max-width:62ch}@media (min-width:768px){.redwood-invisalign{padding:var(--spacing-4xl) var(--spacing-xl)}.redwood-invisalign__inner{gap:var(--spacing-4xl);flex-direction:row}.redwood-invisalign__image{aspect-ratio:3/4;width:38%}}
.redwood-office{background:var(--background-muted);padding:var(--spacing-3xl) var(--spacing-md)}.redwood-office__inner{max-width:var(--container-desktop);gap:var(--spacing-2xl);flex-direction:column;align-items:center;margin:auto;display:flex}.redwood-office__copy{flex:1}.redwood-office__eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--tertiary-color);font-size:var(--font-small)}.redwood-office h2{font-size:var(--font-h2)}.redwood-office__actions{align-items:center;gap:var(--spacing-lg);margin-top:var(--spacing-lg);flex-wrap:wrap;display:flex}.redwood-office__phone{color:var(--primary-color);text-underline-offset:var(--spacing-xs);text-decoration:underline}.redwood-office__photos{gap:var(--spacing-sm);flex-direction:column;width:100%;display:flex}.redwood-office__large,.redwood-office__thumb{border-radius:var(--border-radius-sm);background:var(--secondary-color);position:relative;overflow:hidden}.redwood-office__large{aspect-ratio:4/3}.redwood-office__small{gap:var(--spacing-sm);display:flex}.redwood-office__thumb{aspect-ratio:3/2;flex:1;min-width:0}.redwood-office__large img,.redwood-office__thumb img{object-fit:cover;object-position:center}@media (min-width:768px){.redwood-office{padding:var(--spacing-4xl) var(--spacing-xl)}.redwood-office__inner{gap:var(--spacing-3xl);flex-direction:row}.redwood-office__photos{flex-direction:row;width:58%}.redwood-office__large{flex:2 1 0;min-width:0}.redwood-office__small{flex-direction:column;flex:1 1 0;min-width:0}.redwood-office__thumb{aspect-ratio:auto;min-height:0}}
