.price{font:500 36px/44px Manrope,sans-serif;letter-spacing:-.02em;color:var(--ink)}
.quote{border-left:2px solid #B5A18A;padding-left:24px;font-size:22px;line-height:1.5;color:var(--ink)}
.address{font-size:22px;color:var(--ink);font-style:normal;line-height:1.5}
.contact{border-top:1px solid var(--line)}
.contact-links{display:flex;gap:32px;flex-wrap:wrap}
@media(max-width:760px){
.contact-links{flex-direction:column;gap:12px}
.quote{font-size:20px}
}
.movement-break{height:110px;display:flex;align-items:center;justify-content:center;overflow:hidden;pointer-events:none}
.movement-break svg{width:min(560px,100%);height:110px}
.movement-break path+path{opacity:.4}
@media(max-width:760px){
.movement-break{height:96px}
}
@media(min-width:761px){
.movement-break{height:120px}
}
@media(max-width:760px){
:where(.section) p:where(:not(.price,.quote,.caption,.eyebrow,.terms,.time,.lead)){line-height:1.55}
.movement-break{height:72px}
.contact .btn{width:100%}
}
.method .photo{aspect-ratio:1;object-fit:cover}
.offers{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.offer{display:flex;flex-direction:column;gap:16px;padding:32px;border:1px solid var(--line);border-radius:16px;background:#fff}
.offer:first-child{border:2px solid var(--plum);padding:31px}
.offer .desc{min-height:90px}
.offer .time{font-size:16px;font-weight:600;color:var(--ink)}
.offer .terms{min-height:63px;font-size:14px;line-height:21px}
.offer .btn{margin-top:auto}
.packages{display:grid;gap:16px;margin-top:32px}
.package{padding:24px 32px;background:#fff;border:1px solid var(--line);border-radius:16px;display:grid;grid-template-columns:1fr 140px auto;gap:24px;align-items:center}
.package h3{font-size:22px}
.package .price{font-size:24px;line-height:32px}
.package-note{margin-top:16px}
.about .photo{max-width:500px;justify-self:end}
.first{padding:64px;border-radius:16px;display:grid;grid-template-columns:1fr 1.2fr;gap:64px;background:var(--stone);align-items:start}
.first-steps{display:grid;gap:24px}
.step{display:grid;grid-template-columns:32px 1fr;gap:16px}
.step-number{font:500 24px/32px Manrope,sans-serif;color:var(--plum)}
.step h3{font-size:20px;margin-bottom:8px}
.studio .photo{aspect-ratio:563/500;object-fit:cover}
.studio figcaption{margin-top:12px}
@media(max-width:1100px){
.offer{padding:24px}
.offer:first-child{padding:23px}
.first{padding:48px;gap:40px}
}
@media(max-width:760px){
.row,.first{grid-template-columns:1fr;gap:32px}
.method .photo{order:2}
.method .stack{order:1}
.offers{grid-template-columns:1fr}
.offer,.offer:first-child{padding:24px}
.offer .desc,.offer .terms{min-height:0}
.offer{gap:16px}
.offer .btn{margin-top:8px}
.package{grid-template-columns:1fr;padding:24px;gap:16px}
.package .btn{width:100%}
.about .photo{justify-self:auto}
.first{padding:24px}
.first-section{padding-top:0}
.studio figure{order:2}
.studio .stack{order:1}
}
.heritage-hero{background:#F2F2F2;padding:80px 0 48px;position:relative;isolation:isolate;overflow:hidden}
.heritage-hero .orb-layout{width:100%;display:flex;flex-direction:column;align-items:center;gap:30px;position:relative}
.brand-orb{width:min(90vw,400px);height:min(90vw,400px);border-radius:50%;padding:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#fff;position:relative;z-index:2;box-shadow:0 12px 32px color-mix(in srgb,var(--ink) 3%,transparent)}
.brand-logo{display:block;width:240px;max-width:100%;height:140px;flex-shrink:0;overflow:visible}
.brand-logo path{fill:var(--ink);fill-opacity:1;stroke:var(--ink);stroke-width:12;stroke-linecap:round;stroke-linejoin:round}
.brand-rule{display:block;width:48px;height:2px;flex-shrink:0;background:var(--ink)}
.brand-quote{font-size:20px;line-height:1.2;font-style:italic;text-align:center;max-width:280px;color:var(--ink)}
.brand-author{font-size:14px;line-height:21px;font-weight:600;text-align:center;color:var(--ink)}
.practice-orb{width:min(90vw,400px);height:min(90vw,400px);border-radius:50%;overflow:hidden;position:relative;z-index:1}
.practice-orb img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.hero-trace{position:absolute;width:155%;height:auto;top:-85px;left:-55%;z-index:0;pointer-events:none}
.offer-heading{display:flex;align-items:center;gap:16px}
.offer-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--stone);color:var(--plum);flex-shrink:0}
.offer-icon svg{width:44px;height:44px;fill:currentColor;overflow:visible}
.offer-heading h3{flex:1}
.offer .desc{min-height:0}
.package>div{display:grid;gap:12px}
.package .details-link{grid-column:1/-1;justify-self:start;padding-top:0}
.package .offer-icon{width:56px;height:56px}
.package .offer-icon svg{width:40px;height:40px}
.offer .btn:active,.package .btn:active{transform:scale(.98)}
.offer:focus-within{border-color:var(--plum)}
.hero-trace{stroke:#BCC3CA;stroke-width:2.4;opacity:.6}
.method .photo{border-radius:50% 50% 16px 50%}
.about .photo{border-radius:100px 20px 100px 20px}
.studio-heading{display:grid;gap:16px;margin-bottom:32px}
.studio-film-layout{display:grid;gap:32px}
.studio-film video{display:block;width:100%;aspect-ratio:16/9;max-height:560px;object-fit:contain;background:#e5e1db;border-radius:16px}
.studio-film .caption{margin-top:12px}
.studio-copy{gap:20px}
.studio-spring{width:230px;height:90px;align-self:center;margin-top:12px}
.directions-grid{display:grid;gap:32px}
.directions-info{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.map-frame{border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#e9e6e0;height:360px}
.map-frame iframe{width:100%;height:100%;border:0;display:block}
.dialog-body .offer-icon{width:80px;height:80px}
.dialog-body .offer-icon svg{width:56px;height:56px}
@media(max-width:760px){
.section.method{padding-top:24px}
.offers{gap:20px}
.offer{padding:24px}
.offer .terms{min-height:0}
.offer .details-link{align-self:center}
.package{gap:16px}
.directions-info .btn{width:100%}
.map-frame{height:380px}
.about .photo{border-radius:72px 16px 72px 16px}
.first{padding:24px}
.studio-spring{align-self:flex-start}
}
@media(min-width:761px){
.heritage-hero{padding:64px 0}
.heritage-hero .orb-layout{width:min(1200px,calc(100% - 48px));display:grid;grid-template-columns:1fr 1fr;gap:64px}
.brand-orb{width:min(36vw,500px);height:min(36vw,500px);justify-self:center;padding:48px;gap:24px}
.brand-logo{width:300px;height:170px}
.brand-quote{max-width:390px;font-size:22px}
.brand-author{font-size:16px}
.practice-orb{width:100%;height:auto;aspect-ratio:1;border-radius:20px}
.hero-trace{width:600px;left:-140px;top:-30px}
.offer-heading{flex-direction:column;align-items:flex-start}
.offer .desc{min-height:90px}
.offer .details-link{align-self:center}
.package .offer-heading{flex-direction:row;align-items:center}
.package{grid-template-columns:1fr 140px auto}
.package .details-link{grid-column:3;justify-self:center}
.package>div{grid-row:span 2}
.package>.price{grid-row:span 2}
.package>.btn{align-self:end}
.package .details-link{padding:0;min-height:32px}
.studio-film-layout{grid-template-columns:1.35fr 1fr;gap:64px;align-items:center}
.studio-film video{aspect-ratio:16/10}
.directions-grid{grid-template-columns:360px 1fr;gap:64px;align-items:center}
.map-frame{height:460px}
.studio-spring{align-self:flex-start}
}
@media(prefers-reduced-motion:reduce){
.brand-logo path{fill-opacity:1!important;stroke-dashoffset:0!important}
}
@media(min-width:761px) and (max-width:1023px){
.heritage-hero .orb-layout{display:flex;flex-direction:column;gap:30px}
.brand-orb{width:400px;height:400px;padding:28px;gap:16px}
.brand-logo{width:240px;height:140px}
.brand-quote{max-width:280px;font-size:20px}
.practice-orb{width:400px;height:400px;border-radius:50%}
.hero-trace{width:650px;left:0;top:-70px}
.offers{grid-template-columns:1fr}
.offer-heading{flex-direction:row;align-items:center}
.offer .desc,.offer .terms{min-height:0}
.offer .details-link{align-self:flex-start}
.studio-film-layout,.directions-grid{grid-template-columns:1fr;gap:32px}
.brand-author{font-size:14px}
}
.offers-title{font-size:36px;line-height:1.22}
.dialog-heading .offer-icon{width:64px;height:64px}
.dialog-heading .offer-icon svg{width:44px;height:44px}
.about .photo-stage{width:100%;max-width:500px;justify-self:end}
.about .photo-stage::before{background:var(--photo-about);border-radius:100px 20px 100px 20px;transform:translate(-14px,14px)}
.section.method{padding-top:64px}
@media(max-width:760px){
.offers-title{font-size:28px;line-height:34px}
.dialog-heading .offer-icon{width:56px;height:56px}
.dialog-heading .offer-icon svg{width:40px;height:40px}
.method .photo-stage{order:2}
.about .photo-stage{justify-self:stretch;margin:0 0 14px 14px;width:calc(100% - 14px)}
.about .photo-stage::before{border-radius:72px 16px 72px 16px}
.section.method{padding-top:48px}
}
@media(max-width:760px){
.offers{gap:16px}
.offer,.offer:first-child{display:grid;grid-template-columns:1fr auto;grid-template-areas:"heading heading" "desc desc" "time price" "terms terms" "details details";gap:12px 16px;padding:20px}
.offer-heading{grid-area:heading;gap:12px}
.offer-heading h3{font-size:20px;line-height:1.3}
.offer .offer-icon{width:48px;height:48px}
.offer .offer-icon svg{width:34px;height:34px}
.offer .desc{grid-area:desc;font-size:17px}
.offer .time{grid-area:time;align-self:center}
.offer .price{grid-area:price;font-size:30px;line-height:40px;text-align:right;white-space:nowrap}
.offer .terms{grid-area:terms;font-size:14px;line-height:21px}
.offer>.btn,.package>.btn{display:none}
.offer .details-link,.package .details-link{grid-area:details;justify-self:stretch;align-self:stretch;display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:10px 0 0;border-top:1px solid var(--line);text-decoration:none}
.offer .details-link::after,.package .details-link::after{content:'+';font-size:24px;font-weight:400}
.offer:first-child .details-link{color:var(--plum)}
.packages{gap:0;margin-top:28px;border-top:1px solid var(--line)}
.package{grid-template-columns:1fr auto;grid-template-areas:"heading price" "details details";gap:12px;padding:20px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
.package>div{grid-area:heading;gap:8px;min-width:0}
.package .offer-heading{grid-area:auto;gap:8px}
.package .offer-icon{width:36px;height:36px}
.package .offer-icon svg{width:28px;height:28px}
.package h3{font-size:18px}
.package>div>p{font-size:15px;line-height:22px}
.package>.price{grid-area:price;font-size:23px;align-self:start;padding-top:3px;white-space:nowrap}
.package .details-link{min-height:44px;padding:4px 0 0;border:0}
.about .row{gap:18px}
.about .stack{display:contents}
.about .stack>*{order:5}
.about .stack>.eyebrow{order:1}
.about .stack>h2{order:2}
.about .stack>.lead{order:3}
.about .stack>.quote{order:6}
.about .stack>.btn{order:7;justify-self:start}
.about .photo-stage{order:4;width:calc(100% - 28px);max-width:360px;justify-self:center;margin:6px auto 22px}
.about .photo{margin-inline:auto}
.about .quote{padding-left:18px}
.first-section{background:var(--stone);padding-block:40px}
.first{padding:0;border-radius:0;gap:28px}
.first h2 br{display:none}
.first .stack>.btn{max-width:100%;padding-inline:16px}
.first-steps{gap:0}
.step{gap:12px;padding:20px 0;border-top:1px solid var(--line)}
.step:last-child{padding-bottom:0}
.step h3{font-size:19px;line-height:1.4;margin-bottom:6px}
.studio-heading{gap:14px;margin-bottom:24px}
.studio-film-layout{gap:24px}
.contact-links a,.directions-info>a:not(.btn){min-height:44px;display:inline-flex;align-items:center}
}
.about .photo-mask{border-radius:100px 20px 100px 20px}
@media(min-width:1024px){
.method.section,.about.section{padding-block:120px}
.method .stack h2,.about .stack h2{font-size:44px;line-height:1.22}
}
@media(max-width:760px){
.about .photo-mask{border-radius:72px 16px 72px 16px}
}
@media(prefers-reduced-motion:reduce){
.photo-mask,.studio-film{clip-path:none!important}
}
@media print{
.photo-mask,.studio-film{clip-path:none!important}
}
.heritage-hero{padding-top:124px}
@media(max-width:760px){
.heritage-hero{padding-top:96px}
}
.offer-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;width:100%}
.offer-actions .details-link{align-self:center;flex-shrink:0}
.offer-actions .btn{margin-top:0}
.package>.offer-actions{grid-column:3;grid-row:1;display:flex;gap:20px}
.package{grid-template-columns:1fr 140px auto}
.package .offer-actions .details-link{padding:8px 0}
@media(max-width:760px){
.offer,.offer:first-child{grid-template-areas:"heading heading" "desc desc" "time price" "terms terms" "actions actions"}
.package{grid-template-areas:"heading price" "actions actions";grid-template-columns:1fr auto}
.offer>.offer-actions,.package>.offer-actions{grid-area:actions;display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding-top:12px;border-top:1px solid var(--line)}
.package>.offer-actions{border-top:0;padding-top:0}
.offer-actions .btn{display:inline-flex;width:auto;min-width:128px;min-height:48px;padding-inline:20px;margin:0}
.offer .offer-actions .details-link,.package .offer-actions .details-link{display:inline-flex;min-height:48px;padding:8px 0;border:0;text-decoration:underline;align-self:center;justify-content:flex-start;grid-area:auto}
.offer-actions .details-link::after{content:none}
}
.audience-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:32px 64px;align-items:center}
.audience-layout h2{grid-column:1/-1;text-transform:none}
.audience-list{padding-left:24px;color:var(--muted);display:grid;gap:18px}
.audience-photo{grid-column:2;grid-row:2/4}
.audience-photo img{display:block;width:100%;object-fit:cover;border-radius:50% 50% 16px 16px}
.audience-conclusion{font-weight:600;color:var(--ink)}
.local-studio h2{margin-bottom:32px;max-width:800px}
.local-photo img{width:100%;display:block;border-radius:16px}
@media(max-width:760px){.audience-layout{grid-template-columns:1fr;gap:24px}.audience-photo{grid-column:1;grid-row:auto}.audience-conclusion{grid-row:3}}
