
:root{--paper:#f4efe8;--paper2:#e8ddd0;--ink:#28171f;--aub:#42172d;--aub2:#613248;--apricot:#c66e50;--coral:#e78868;--cream:#fffaf2;--line:rgba(40,23,31,.22);--sans:"Avenir Next",Avenir,"Segoe UI",Helvetica,Arial,sans-serif;--display:"Iowan Old Style",Baskerville,"Times New Roman",serif;--max:1440px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:6rem}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:1rem;line-height:1.6;overflow-x:hidden}
img{display:block;width:100%;height:auto}a{color:inherit}:focus-visible{outline:3px solid var(--coral);outline-offset:4px}
.skip-link{position:fixed;z-index:100;top:1rem;left:1rem;padding:.7rem 1rem;color:var(--cream);background:var(--aub);transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}
.site-header{position:absolute;z-index:10;top:0;left:50%;width:min(100% - 4rem,var(--max));min-height:5.75rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,250,242,.45);transform:translateX(-50%);color:var(--cream)}
.brand{display:inline-flex;align-items:center;gap:.75rem;text-decoration:none}.brand-mark{width:2.7rem;aspect-ratio:1;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font-family:var(--display);font-size:1.45rem;font-style:italic}.brand-name{display:flex;flex-direction:column;font-size:.84rem;line-height:1.05;letter-spacing:.05em;text-transform:uppercase}.brand-name b{font-size:.68rem;letter-spacing:.19em}
.desktop-nav{display:flex;gap:clamp(1.5rem,4vw,4rem);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}.desktop-nav a,.nav-menu a{text-decoration:none}.desktop-nav a::after{content:"";display:block;width:0;height:1px;margin-top:.2rem;background:currentColor;transition:width 180ms ease}.desktop-nav a:hover::after,.desktop-nav a:focus-visible::after{width:100%}.nav-menu{display:none}
.hero{position:relative;min-height:min(900px,100svh);color:var(--cream);background:var(--aub);isolation:isolate}.hero::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(41,13,30,.93) 0%,rgba(45,15,32,.72) 35%,rgba(45,15,32,.08) 72%)}
.hero-photo{position:absolute;z-index:-2;inset:0;margin:0;overflow:hidden}.hero-photo img{height:100%;object-fit:cover;object-position:center}.hero-copy{width:min(100% - 4rem,var(--max));min-height:min(900px,100svh);margin:0 auto;padding:clamp(9rem,18vh,12rem) 0 6rem;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
figcaption{position:absolute;right:.6rem;bottom:.6rem;padding:.38rem .55rem;color:#fff;background:rgba(40,23,31,.76);font-size:.62rem;line-height:1.2;letter-spacing:.04em}
.eyebrow{margin:0 0 1.5rem;font-size:.72rem;font-weight:600;letter-spacing:.17em;text-transform:uppercase}.eyebrow span{display:inline-flex;align-items:center;gap:.65rem}.eyebrow span::after{content:"";width:2.5rem;height:1px;display:inline-block;margin-right:.65rem;background:currentColor}
h1,h2,p{margin-top:0}h1,h2{font-family:var(--sans);font-weight:500;letter-spacing:-.055em;line-height:.91}h1{max-width:12ch;margin-bottom:2rem;font-size:clamp(4rem,8.1vw,8rem);text-transform:uppercase}h1 em,h2 em{font-family:var(--display);font-weight:400;letter-spacing:-.035em;text-transform:none}h1 em{display:inline-block;color:var(--coral);font-size:.75em;line-height:1}
.hero-intro{max-width:35rem;margin-bottom:2.2rem;font-size:clamp(1rem,1.3vw,1.22rem)}
.button{min-height:3.5rem;display:inline-flex;align-items:center;justify-content:space-between;gap:1.75rem;padding:.85rem 1.1rem .85rem 1.35rem;border:1px solid currentColor;text-decoration:none;font-size:.76rem;font-weight:650;letter-spacing:.11em;text-transform:uppercase;transition:color 180ms ease,background 180ms ease}.button span{font-size:1.25rem}.button-primary{min-width:15rem;color:var(--ink);background:var(--coral);border-color:var(--coral)}.button-primary:hover{color:var(--cream);background:transparent}
.hero-note{position:absolute;right:max(2rem,calc((100vw - var(--max))/2));bottom:2rem;display:flex;align-items:flex-start;gap:.85rem;font-size:.72rem;line-height:1.45;letter-spacing:.08em;text-transform:uppercase}.hero-note span{display:grid;width:2.25rem;aspect-ratio:1;place-items:center;border:1px solid currentColor;border-radius:50%}.hero-note p{margin:0}
.ribbon{position:relative;z-index:2;overflow:hidden;color:var(--cream);background:var(--apricot);transform:rotate(-1.4deg) scale(1.02)}.ribbon div{width:max-content;padding:.95rem 0;font-size:clamp(.8rem,1.4vw,1.2rem);font-weight:600;letter-spacing:.18em;text-transform:uppercase}.ribbon i{margin:0 1.8rem;font-style:normal}
.section{width:min(100% - 4rem,var(--max));margin-inline:auto}.intro{min-height:44rem;padding-block:clamp(7rem,12vw,11rem);display:grid;grid-template-columns:.55fr 1.35fr .9fr;align-items:end;gap:clamp(2rem,5vw,6rem)}.section-index{font-size:.65rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase}.intro>.section-index{align-self:start;padding-top:.45rem;border-top:1px solid var(--ink)}
h2{margin-bottom:0;font-size:clamp(3.15rem,6vw,6.5rem);text-transform:uppercase}h2 em{color:var(--apricot)}.intro-copy{align-self:end;max-width:27rem;padding-bottom:.4rem}.intro-copy .lead{font-family:var(--display);font-size:clamp(1.45rem,2.2vw,2rem);line-height:1.2}.intro-copy>p:not(.lead){font-size:.96rem}.text-link{display:inline-flex;gap:2rem;margin-top:1.4rem;padding-bottom:.35rem;border-bottom:1px solid currentColor;text-decoration:none;font-size:.72rem;font-weight:650;letter-spacing:.12em;text-transform:uppercase}
.treatment{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(24rem,.85fr);background:var(--aub);color:var(--cream)}.treatment-photo-wrap{position:relative;min-height:57rem;overflow:hidden}.treatment-photo{position:absolute;inset:0;margin:0}.treatment-photo img{height:100%;object-fit:cover;object-position:center}.photo-stamp{position:absolute;z-index:2;top:2.25rem;right:2.25rem;width:7rem;aspect-ratio:1;display:grid;place-items:center;border:1px solid rgba(255,255,255,.8);border-radius:50%;font-size:.6rem;line-height:1.5;text-align:center;letter-spacing:.2em}
.treatment-copy{padding:clamp(4rem,8vw,8rem) clamp(2rem,6vw,7rem);display:flex;flex-direction:column;justify-content:center}.treatment-copy .section-index{margin-bottom:5rem;color:rgba(255,250,242,.62)}.treatment-copy h2{margin-bottom:2rem;font-size:clamp(3rem,5vw,5.6rem)}.treatment-copy>p:not(.section-index,.eyebrow,.scope-note){max-width:35rem;color:rgba(255,250,242,.8)}
.principles{margin:2rem 0 0;border-top:1px solid rgba(255,250,242,.3)}.principles div{padding:1rem 0;display:grid;grid-template-columns:.65fr 1.35fr;gap:1rem;border-bottom:1px solid rgba(255,250,242,.3)}.principles dt{font-family:var(--display);font-size:1.35rem;font-style:italic}.principles dd{margin:0;color:rgba(255,250,242,.75);font-size:.88rem}.scope-note{margin:1.4rem 0 0;color:rgba(255,250,242,.58);font-size:.68rem;line-height:1.45}
.material{position:relative;padding-block:clamp(7rem,11vw,10rem);display:grid;grid-template-columns:.85fr 1.15fr;grid-template-rows:auto auto;gap:4rem clamp(3rem,8vw,9rem)}.material::before{content:"";position:absolute;z-index:-1;top:6rem;left:-22vw;width:36vw;aspect-ratio:1;border:1px solid var(--line);border-radius:50%}.material-copy{padding-top:2rem}.material-copy .section-index{margin-bottom:clamp(4rem,8vw,8rem)}.material-copy h2{margin-bottom:2rem;font-size:clamp(3.4rem,5.6vw,6rem)}.material-copy>p:last-child{max-width:29rem}.detail-photo{position:relative;margin:0}.detail-photo img{aspect-ratio:1;object-fit:cover}
.material blockquote{grid-column:1/-1;max-width:62rem;margin:2rem auto 0;text-align:center}.material blockquote p{margin:0;font-family:var(--display);font-size:clamp(2.1rem,4vw,4.2rem);font-style:italic;line-height:1.05}.material blockquote p::before{content: "";color:var(--apricot)}.material blockquote p::after{content: "";color:var(--apricot)}
.visit{position:relative;min-height:48rem;padding:clamp(6rem,10vw,10rem) max(2rem,calc((100vw - var(--max))/2));display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:clamp(4rem,10vw,12rem);overflow:hidden;color:var(--cream);background:var(--apricot)}.visit h2{font-size:clamp(3.6rem,6.3vw,6.8rem)}.visit h2 em{color:var(--aub)}
.address-card{position:relative;z-index:2;max-width:31rem;padding:clamp(2rem,4vw,3.5rem);color:var(--cream);background:var(--aub)}.address-label{margin-bottom:4rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,250,242,.35);font-size:.65rem;letter-spacing:.15em;text-transform:uppercase}address{margin-bottom:2rem;font-family:var(--display);font-size:clamp(1.35rem,2.1vw,2rem);font-style:normal;line-height:1.35}address strong{display:block;margin-bottom:1rem;font-family:var(--sans);font-size:.75rem;letter-spacing:.15em;text-transform:uppercase}.visit-hint{color:rgba(255,250,242,.68);font-size:.77rem}.button-light{margin-top:1rem}.button-light:hover{color:var(--aub);background:var(--cream)}
.visit-orbit{position:absolute;right:-9rem;bottom:-15rem;width:32rem;aspect-ratio:1;display:grid;place-items:center;border:1px solid rgba(255,250,242,.4);border-radius:50%}.visit-orbit::before{content:"";position:absolute;inset:4rem;border:1px solid rgba(255,250,242,.25);border-radius:50%}.visit-orbit span{font-family:var(--display);font-size:6rem;font-style:italic}
.site-footer{min-height:8rem;padding:2rem max(2rem,calc((100vw - var(--max))/2));display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;color:var(--cream);background:var(--ink)}.site-footer p{margin:0;font-size:.68rem;letter-spacing:.11em;text-transform:uppercase}.footer-brand{justify-self:start}.demo-label{justify-self:end;max-width:24rem;color:rgba(255,250,242,.6);text-align:right}
@media(max-width:1020px){.intro{grid-template-columns:.35fr 1fr}.intro-copy{grid-column:2}.treatment{grid-template-columns:1fr}.treatment-photo-wrap{min-height:min(72vw,44rem)}.treatment-copy .section-index{margin-bottom:3.5rem}.site-footer{grid-template-columns:1fr 1fr}.site-footer>p:nth-child(2){text-align:right}.demo-label{grid-column:1/-1;justify-self:start;max-width:none;text-align:left}}
@media(max-width:720px){html{scroll-padding-top:4.5rem}.site-header{width:calc(100% - 2rem);min-height:4.5rem}.desktop-nav{display:none}.nav-menu{position:relative;display:block}.nav-menu summary{cursor:pointer;list-style:none;border-bottom:1px solid currentColor;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}.nav-menu summary::-webkit-details-marker{display:none}.nav-menu nav{position:absolute;top:2rem;right:0;width:12rem;padding:.75rem;display:grid;color:var(--cream);background:var(--aub);border:1px solid rgba(255,250,242,.28)}.nav-menu nav a{padding:.75rem;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.hero{min-height:47rem}.hero::after{background:linear-gradient(180deg,rgba(40,14,29,.35) 15%,rgba(40,14,29,.2) 42%,rgba(40,14,29,.95) 78%)}.hero-photo{bottom:11rem}.hero-photo img{object-position:63% center}.hero-copy{width:calc(100% - 2rem);min-height:47rem;padding:19rem 0 3rem;justify-content:flex-end}h1{margin-bottom:1.2rem;font-size:clamp(3rem,14.5vw,4.15rem)}.hero-copy .eyebrow{margin-bottom:.9rem}.hero-intro{max-width:29rem;margin-bottom:1.4rem;font-size:.93rem}.hero-note{display:none}figcaption{max-width:calc(100% - 1.2rem);font-size:.54rem}.ribbon div{padding:.7rem 0}
.section{width:calc(100% - 2rem)}.intro{min-height:0;padding-block:6rem;grid-template-columns:1fr;gap:2rem}.intro>.section-index{width:100%}.intro-copy{grid-column:1;margin-top:1rem}h2{font-size:clamp(3rem,14vw,4.4rem)}.treatment-photo-wrap{min-height:32rem}.treatment-photo img{object-position:48% center}.photo-stamp{top:1rem;right:1rem;width:5.5rem}.treatment-copy{padding:4.75rem 1rem}.treatment-copy h2{font-size:clamp(3rem,13vw,4.3rem)}.treatment-copy .section-index{margin-bottom:3rem}.principles div{grid-template-columns:1fr;gap:.2rem}
.material{padding-block:6rem;grid-template-columns:1fr;gap:3rem}.material-copy{padding-top:0}.material-copy .section-index{margin-bottom:3rem}.material blockquote{grid-column:1;margin-top:1rem}.visit{min-height:0;padding:6rem 1rem;grid-template-columns:1fr;gap:3.5rem}.visit h2{font-size:clamp(3.1rem,14vw,4.4rem)}.address-card{width:100%;padding:2rem}.address-label{margin-bottom:3rem}.visit-orbit{display:none}.site-footer{padding:2.5rem 1rem;grid-template-columns:1fr;gap:1.5rem}.site-footer>p:nth-child(2),.demo-label{text-align:left}.site-footer>p:nth-child(2){justify-self:start}}
@media(max-width:390px){.brand-name{font-size:.73rem}.brand-name b{font-size:.58rem}.brand-mark{width:2.35rem}.button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important}}


.ribbon{transform:none}
.ribbon div{width:100%;padding:1rem;text-align:center;overflow-wrap:break-word}
@media(max-width:720px){
  .nav-menu summary{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}
  .nav-menu nav{top:100%}
  .nav-menu:not([open]) nav{display:none}
  .nav-menu nav a{min-height:44px;display:flex;align-items:center}
  .hero-photo figcaption{top:5rem;bottom:auto}
  .treatment-copy h2{font-size:clamp(2rem,9vw,3.5rem);line-height:1.05}
}
