@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Italiana&family=Manrope:wght@400;500;600;700&display=swap');
.roots-footer .footer-brand img{display:block;width:165px;max-width:100%;height:auto;object-fit:contain}
.roots-footer .footer-top-link{align-self:start;background:none;color:inherit;border:0;border-bottom:1px solid #d4c2ad;padding:0 0 6px;font-size:10px;display:flex;gap:10px;align-items:center}
.roots-footer .roots-social-links{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:8px 32px;padding-top:12px;border-top:1px solid rgba(212,192,170,.24)}
.roots-footer a.roots-social-link{display:flex;align-items:center;gap:12px;min-height:44px;margin:0;color:var(--sand);font:10px/1.6 "DM Mono",monospace;letter-spacing:.1em;text-transform:uppercase;transition:color .2s}
.roots-footer a.roots-social-link:hover{color:var(--paper)}
.roots-footer a.roots-social-link:focus-visible{outline:1px solid var(--sand);outline-offset:5px}
.roots-footer a.roots-social-link svg{flex:none}
@media(max-width:760px){.roots-footer .footer-top-link,.roots-footer .smp-top-link{grid-column:1/-1;justify-self:start}.roots-footer .roots-social-links{column-gap:24px}.roots-footer a.roots-social-link{font-size:9px;letter-spacing:.07em;gap:10px}}
.roots-shell{--ink:#29231f;--clay:#8b6654;--sand:#d4c0aa;--paper:#f5f0e7;--milk:#e9dfd1;--line:#b8a999;--roots-scroll:0px;background:var(--paper);color:var(--ink);font-family:Manrope,sans-serif;overflow:hidden}.roots-shell *{box-sizing:border-box}.roots-shell button{font:inherit;color:inherit;cursor:pointer}.roots-nav{height:86px;padding:0 5.5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--paper) 91%,transparent);backdrop-filter:blur(14px);transition:background .35s,box-shadow .35s}.roots-nav:not(:first-child){box-shadow:0 12px 30px rgba(41,35,31,.06)}.roots-nav.menu-active{background:var(--paper)}.roots-wordmark,.footer-brand{border:0;background:none;text-align:left;padding:0}.roots-wordmark img{width:154px;height:auto;display:block}.roots-links{display:flex;gap:26px;align-items:center}.roots-links :is(button,a){background:none;border:0;font:10px "DM Mono";letter-spacing:.06em;position:relative;padding:35px 0 31px;text-transform:uppercase}.roots-links :is(button,a) span{color:var(--clay);font-size:8px;margin-right:6px;opacity:0;transition:opacity .25s}.roots-links :is(button,a):after{content:"";position:absolute;left:0;right:100%;bottom:23px;height:1px;background:var(--clay);transition:right .3s}.roots-links :is(button,a):hover span,.roots-links :is(button,a).is-active span{opacity:1}.roots-links :is(button,a):hover:after,.roots-links :is(button,a).is-active:after{right:0}.roots-nav-cta,.roots-button{display:flex;gap:12px;align-items:center;border:1px solid var(--ink);background:var(--ink);color:var(--paper)!important;padding:14px 18px;font-size:10px;letter-spacing:.04em;transition:transform .25s,background .25s}.roots-nav-cta:hover,.roots-button:hover{transform:translateY(-3px);background:var(--clay)}.roots-menu{display:none;background:none;border:0}.roots-hero{min-height:680px;position:relative;display:grid;grid-template-columns:51% 49%;padding-left:9.6vw}.hero-copy{padding-top:11.5vw;z-index:2}.eyebrow{font:10px "DM Mono";letter-spacing:.13em;text-transform:uppercase;margin:0 0 23px;color:#735947}.hero-copy h1,.roots-shell h2,.roots-shell h3{font:400 clamp(53px,6.4vw,96px)/.92 Italiana,serif;letter-spacing:-.035em;margin:0}.hero-intro{max-width:385px;font-size:13px;line-height:1.8;margin:30px 0}.hero-image{height:680px;overflow:hidden}.hero-image img{width:100%;height:calc(100% + 70px);object-fit:cover;filter:saturate(.72) sepia(.08);transform:translateY(calc(var(--roots-scroll) * -.045));will-change:transform}.hero-note{position:absolute;right:6vw;bottom:39px;background:#dac8b2;padding:19px 21px;font:10px/1.55 "DM Mono";letter-spacing:.08em}.hero-note em{font:21px Italiana}.hero-side{position:absolute;left:2.3vw;bottom:38px;writing-mode:vertical-rl;font:9px "DM Mono";letter-spacing:.16em}.roots-intro{padding:158px 14vw 122px;background:var(--milk)}.roots-intro h2{font-size:clamp(66px,9.5vw,140px);margin-left:8vw}.intro-bottom{margin:53px 1vw 0 35%;display:flex;gap:11vw;align-items:end}.intro-bottom p{max-width:410px;font-size:14px;line-height:1.95}.leaf-mark{font:82px Italiana;border:1px solid var(--ink);border-radius:50%;width:100px;height:100px;display:grid;place-items:center}.roots-services{padding:108px 7vw}.section-head{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:15px;font:10px "DM Mono"}.section-head .eyebrow{margin:0}.service-card{display:grid;grid-template-columns:1fr 1fr;min-height:535px}.service-card+.service-card{border-top:1px solid var(--line)}.service-image{overflow:hidden;background:var(--sand)}.service-image img{width:100%;height:calc(100% + 45px);object-fit:cover;filter:saturate(.72) sepia(.08);transform:translateY(calc(var(--roots-scroll) * -.018));will-change:transform}.service-content{padding:7.3vw 8%;display:flex;align-items:flex-start;flex-direction:column}.service-number{font:10px "DM Mono";color:#735947;margin:0 0 44px}.service-content h3{font-size:clamp(43px,5vw,72px)}.service-content>p:not(.service-number){font-size:13px;line-height:1.8;max-width:345px;margin:30px 0}.text-link{background:none;border:0;border-bottom:1px solid var(--ink);padding:0 0 8px;display:flex;gap:18px;align-items:center;font-size:11px;transition:gap .25s}.text-link:hover{gap:25px}.roots-proof{background:var(--ink);color:var(--paper);padding:125px 7vw}.proof-copy h2{font-size:clamp(53px,6.7vw,96px)}.proof-copy .eyebrow{color:#d5bea4}.proof-grid{margin-top:75px;display:grid;grid-template-columns:1.1fr .8fr 1fr;gap:15px;align-items:end}.proof-grid figure{margin:0}.proof-grid figure:nth-child(2){transform:translateY(-52px)}.proof-grid img{height:330px;width:100%;object-fit:cover;filter:saturate(.65)}.proof-grid figcaption{font:9px "DM Mono";margin-top:11px;color:#dac8b2}.roots-process{display:grid;grid-template-columns:42% 58%;background:#cfbba2}.process-photo{overflow:hidden}.process-photo img{width:100%;height:calc(100% + 45px);min-height:680px;object-fit:cover;filter:saturate(.68);transform:translateY(calc(var(--roots-scroll) * -.022));will-change:transform}.process-main{padding:115px 9vw 70px}.process-main h2,.roots-credentials h2,.roots-faq h2{font-size:clamp(49px,6vw,86px)}.process-list{margin-top:60px}.process-list>div{display:flex;gap:21px;border-top:1px solid #998573;padding:17px 0}.process-list b{font:10px "DM Mono"}.process-list span{font-size:12px;line-height:1.65;max-width:365px}.process-list strong{display:block;margin-bottom:4px}.roots-credentials{padding:130px 10vw;display:grid;grid-template-columns:42% 58%;gap:60px}.credentials-list{padding-top:28px}.credentials-list>div{border-top:1px solid var(--line);padding:22px 0;display:grid;grid-template-columns:45px 27px 1fr;align-items:center;font-size:13px}.credentials-list span{font:10px "DM Mono";color:#735947}.roots-owner{display:grid;grid-template-columns:1fr 1fr;background:#e4d7c6}.owner-image{min-height:640px;overflow:hidden;background:#6d5142}.owner-image img{width:100%;height:100%;object-fit:cover;mix-blend-mode:screen;opacity:.9}.owner-copy{padding:120px 10%}.owner-copy h2{font-size:clamp(42px,5.1vw,73px)}.owner-copy>p{font-size:13px;line-height:1.85;max-width:420px;margin:27px 0 0}.signature{display:block;font:27px Italiana;margin-top:42px}.roots-voices{padding:120px 10vw}.voices-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-top:45px}.voices-grid blockquote{font:400 clamp(26px,3vw,42px)/1.18 Italiana;margin:0;border-top:1px solid var(--line);padding-top:25px}.voices-grid footer{font:10px "DM Mono";margin-top:25px;color:#735947}.roots-faq{padding:125px 10vw;display:grid;grid-template-columns:39% 1fr;gap:10vw;background:var(--milk)}.faq-side-copy{font-size:12px;line-height:1.8;max-width:270px;margin-top:28px}.faq-list{padding-top:3px}.faq-item{border-top:1px solid var(--line)}.faq-item button{border:0;background:none;width:100%;padding:20px 0;display:flex;justify-content:space-between;text-align:left;font-size:13px}.faq-item.open button svg{transform:rotate(180deg)}.faq-item p{font-size:12px;line-height:1.85;margin:0 38px 21px 0}.roots-booking{padding:130px 20px;text-align:center;background:#765949;color:var(--paper);position:relative;overflow:hidden}.roots-booking h2{font-size:clamp(60px,8vw,117px)}.roots-booking .eyebrow{color:#e6d9c8}.roots-booking>p:not(.eyebrow){font-size:13px;line-height:1.8;max-width:390px;margin:28px auto}.roots-button.light{margin:auto;background:var(--paper);color:var(--ink)!important}.booking-orbit{position:absolute;border:1px solid #a98b78;border-radius:50%;z-index:0}.orbit-a{width:600px;height:600px;left:-280px;top:-150px}.orbit-b{width:800px;height:800px;right:-460px;bottom:-500px}.roots-booking>*:not(.booking-orbit){position:relative;z-index:1}.roots-footer{background:var(--ink);color:var(--paper);padding:53px 6vw;display:grid;grid-template-columns:2fr 1fr 1.2fr auto;gap:30px}.footer-brand img{width:165px;filter:brightness(0) invert(1);opacity:.9}.roots-footer p,.roots-footer a{font-size:11px;line-height:1.8;margin:0;display:block;color:inherit;text-decoration:none}.roots-footer button:last-child{background:none;color:inherit;border:0;border-bottom:1px solid #d4c2ad;padding:0 0 6px;font-size:10px;display:flex;gap:10px;align-items:center}.roots-footer a:hover{color:var(--sand)}@media(prefers-reduced-motion:reduce){.roots-shell *,.roots-shell *:before,.roots-shell *:after{scroll-behavior:auto!important;transition-duration:.01ms!important}.hero-image img,.service-image img,.process-photo img{transform:none!important}}@media(max-width:760px){.roots-nav{height:68px;padding:0 20px}.roots-wordmark img{width:126px}.roots-links{display:none}.roots-links.is-open{display:flex;position:absolute;top:68px;left:0;right:0;background:var(--paper);padding:28px 25px 32px;gap:0;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line);box-shadow:0 20px 30px rgba(41,35,31,.1)}.roots-links :is(button,a){padding:13px 0;text-align:left;font-size:12px}.roots-links :is(button,a) span{opacity:1}.roots-links :is(button,a):after{bottom:7px}.roots-nav-cta{display:none}.roots-menu{display:block}.roots-hero{display:block;padding:0;min-height:0}.hero-copy{padding:80px 28px 54px}.hero-copy h1{font-size:67px}.hero-image{height:480px}.hero-note{right:20px;bottom:20px}.hero-side{display:none}.roots-intro{padding:90px 28px}.roots-intro h2{margin-left:0;font-size:74px}.intro-bottom{margin:35px 0 0;gap:20px}.leaf-mark{width:65px;height:65px;font-size:50px;flex:none}.roots-services{padding:70px 20px}.service-card{display:flex;flex-direction:column;min-height:0}.service-card.service-pmu .service-image{order:-1}.service-image{height:365px}.service-content{padding:52px 8px 65px}.service-number{margin-bottom:28px}.roots-proof{padding:85px 20px}.proof-grid{margin-top:45px;gap:8px}.proof-grid img{height:220px}.proof-grid figure:nth-child(2){transform:translateY(-25px)}.roots-process,.roots-credentials,.roots-owner,.roots-faq{grid-template-columns:1fr}.process-photo img{min-height:450px}.process-main,.owner-copy{padding:75px 28px}.roots-credentials{padding:80px 28px;gap:22px}.roots-owner .owner-image{min-height:340px}.roots-voices{padding:80px 28px}.voices-grid{grid-template-columns:1fr;gap:45px}.roots-faq{padding:80px 28px;gap:45px}.roots-footer{grid-template-columns:1fr 1fr;padding:45px 25px;gap:32px}.roots-footer button:last-child,.roots-footer .footer-brand{grid-column:1/3}.roots-booking{padding:100px 25px}.roots-booking h2{font-size:65px}}
.roots-shell{padding-left:0;padding-top:78px}
.roots-nav{left:50%;top:14px;width:min(1220px,calc(100% - 64px));height:58px;margin:0;padding:8px 15px 8px 20px;position:fixed;transform:translateX(-50%);z-index:50;display:flex;flex-direction:row;justify-content:space-between;gap:clamp(9px,1.15vw,17px);align-items:center;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:999px;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(16px);box-shadow:0 10px 26px rgba(41,35,31,.07)}
.roots-nav.menu-active{border-radius:24px 24px 18px 18px}
.roots-nav:not(:first-child){box-shadow:0 10px 26px rgba(41,35,31,.07)}
.roots-wordmark{flex:0 0 auto;display:flex;align-items:center;overflow:hidden}
.roots-nav .roots-nav-logo-full{display:block;width:106px;height:auto;opacity:0;visibility:hidden;transition:opacity .45s ease}
.roots-nav-wordmark{display:none;width:106px;height:22px;overflow:hidden;flex:none;opacity:0;transition:opacity .45s ease}
.roots-nav-wordmark img{display:block;width:106px;height:auto;max-width:none}
.roots-nav.is-scrolled .roots-nav-logo-full{display:none}
.roots-nav.is-scrolled .roots-nav-wordmark{display:block;opacity:1}
.hero-brand{width:clamp(180px,18vw,260px);margin:0 0 clamp(28px,4vw,48px);opacity:1;transform:translateY(0) scale(1);transition:opacity .55s ease,transform .65s cubic-bezier(.2,.7,.2,1)}
.hero-brand img{display:block;width:100%;height:auto}
.hero-brand.is-hidden{opacity:0;transform:translateY(-18px) scale(.96);pointer-events:none}
.roots-shell .hero-copy{min-width:0;padding-right:clamp(28px,3vw,52px);container-type:inline-size}
.roots-shell .hero-copy h1{max-width:100%;font-size:clamp(42px,5vw,80px);font-size:clamp(42px,11.3cqi,80px)}
@media(max-width:760px){.roots-shell .hero-copy h1{font-size:clamp(40px,12.5cqi,67px)}}
.nav-location{display:flex;align-items:center;gap:7px;flex:0 0 auto;margin-right:12px;padding:8px 12px 8px 13px;border-left:1px solid color-mix(in srgb,var(--line) 62%,transparent);color:var(--muted);text-align:left;font-family:"DM Mono",monospace;font-size:6px;font-weight:400;line-height:1.35;letter-spacing:.08em;text-transform:none!important;white-space:nowrap;opacity:.66;transition:color .25s ease,opacity .25s ease}
.nav-location svg{color:var(--clay);flex:none;width:16px;height:16px;padding:3px;border:1px solid color-mix(in srgb,var(--clay) 62%,transparent);border-radius:50%;stroke-width:1.8}
.nav-location-mobile{display:none}
.nav-location:hover{color:var(--ink)}
.roots-links{display:flex;flex:1;flex-direction:row;justify-content:center;gap:clamp(8px,1.35vw,21px);align-items:center}
.roots-links :is(button,a){position:relative;padding:8px 0;font-size:8px;letter-spacing:.105em;white-space:nowrap}
.roots-links :is(button,a) span{margin-right:5px;opacity:.42;font:8px "DM Mono"}
.roots-links :is(button,a):after{content:"";position:absolute;left:0;right:0;bottom:3px;width:auto;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:right;transition:transform .3s ease}
.roots-links :is(button,a):hover:after,.roots-links :is(button,a).is-active:after{transform:scaleX(1);transform-origin:left}
.roots-nav-cta{flex:0 0 auto;padding:10px 13px;font-size:8px;gap:7px}
.roots-nav-cta:hover{transform:translateY(-3px)}
.roots-menu{display:none}
.booking-location{position:relative;z-index:1;margin-top:28px;font:10px/1.8 "DM Mono";letter-spacing:.05em;text-transform:uppercase;color:#e6d9c8}
.booking-location span{opacity:.7}
.roots-floating-cta{display:none}
.intro-image{width:min(78vw,1080px);height:clamp(380px,46vw,610px);margin:68px auto 0;overflow:hidden;background:#c7b8a3}
.intro-image img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.intro-image:hover img{transform:scale(1.018)}
.roots-faq .faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:18px;cursor:pointer;list-style:none;font:14px/1.6 Manrope,sans-serif;padding:20px 0}
.roots-faq .faq-item summary::-webkit-details-marker{display:none}
.roots-faq .faq-item summary svg{flex:none;width:18px}
.roots-faq .faq-item[open] summary svg{transform:rotate(180deg)}
 .service-card{align-items:start;min-height:0}
 .service-card .service-image{height:330px;min-height:0}
 .service-card .service-image img{height:100%;object-fit:cover;object-position:center;transform:none}
  .service-card.service-smp .service-image{position:relative;width:100%;height:auto;aspect-ratio:4/5;overflow:hidden;background:var(--milk);border:1px solid color-mix(in srgb,var(--line) 72%,transparent)}
  .service-card.service-smp .service-image:after{content:"SMP · IM STUDIO";position:absolute;left:16px;bottom:16px;padding:10px 13px;background:color-mix(in srgb,var(--paper) 92%,transparent);color:var(--ink);font:8px/1 "DM Mono",monospace;letter-spacing:.15em}
  .service-card.service-smp .service-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:none}
 .service-card.service-pmu .service-image,.service-card.service-lips .service-image{width:100%;height:auto;aspect-ratio:16/9}
 .service-card.service-pmu .service-image img,.service-card.service-lips .service-image img{display:block;width:100%;height:100%;object-fit:contain;filter:none}
  .service-card.service-pmu .brows-treatment-image{position:relative;aspect-ratio:2/3;overflow:hidden;background:var(--ink)}
  .service-card.service-pmu .brows-treatment-image:after{content:"MICROBLADING · POWDER BROWS";position:absolute;left:16px;bottom:16px;padding:11px 14px;background:color-mix(in srgb,var(--paper) 94%,transparent);color:var(--ink);font:8px/1 "DM Mono",monospace;letter-spacing:.13em}
  .service-card.service-pmu .brows-treatment-image img{object-fit:cover;object-position:center;filter:none}
 .service-card.service-lips .service-image{aspect-ratio:1}
  .service-card.service-lips .service-image{position:relative;overflow:hidden;background:var(--milk);border:1px solid color-mix(in srgb,var(--line) 72%,transparent)}
  .service-card.service-lips .service-image img{object-fit:contain}
  .service-card.service-lips .service-image:after{content:"LIP BLUSH · VORHER / NACHHER";position:absolute;left:16px;bottom:16px;padding:11px 14px;background:color-mix(in srgb,var(--paper) 94%,transparent);color:var(--ink);font:8px/1 "DM Mono",monospace;letter-spacing:.13em}
 .service-card .service-content{min-height:330px}
  .roots-shell .roots-owner .owner-story-image{position:relative;display:grid;place-items:center;min-height:clamp(590px,52vw,760px);padding:34px 42px 68px;background:#ded0c0;overflow:hidden}
  .roots-shell .roots-owner .owner-copy{order:-1}
  .roots-shell .roots-owner .owner-story-image:before{position:absolute;z-index:2;inset:20px;content:"";border:1px solid rgba(73,55,43,.2);pointer-events:none}
   .roots-shell .roots-owner .owner-story-image img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain;object-position:center;mix-blend-mode:normal;opacity:1;filter:none}
  .owner-image-caption{position:absolute;z-index:3;left:30px;bottom:25px;padding:11px 14px;background:color-mix(in srgb,var(--paper) 94%,transparent);color:var(--ink);font:8px/1 "DM Mono",monospace;letter-spacing:.13em;text-transform:uppercase}
  @media(max-width:760px){.roots-shell .roots-owner .owner-copy{order:initial}.roots-shell .roots-owner .owner-story-image{min-height:0;aspect-ratio:4/5;padding:20px 18px 60px}.roots-shell .roots-owner .owner-story-image:before{inset:10px}.owner-image-caption{left:14px;bottom:15px;font-size:7px}}
 .roots-location{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(38px,7vw,110px);padding:clamp(90px,11vw,160px) clamp(28px,9vw,150px);background:var(--paper);overflow:hidden}
 .location-photo{position:relative;align-self:center;width:100%;height:auto;aspect-ratio:3/2;min-height:0;overflow:hidden;background:var(--ink)}
 .location-photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;filter:none;opacity:1}
 .proof-grid figure:nth-child(3) img{height:auto;aspect-ratio:1/1;object-fit:contain;background:var(--milk)}

/* An editorial before/after folio: two featured case studies, then the wider archive. */
.roots-shell .roots-proof{position:relative;isolation:isolate;overflow:hidden;padding:clamp(92px,10vw,150px) clamp(24px,7.5vw,120px) clamp(76px,8vw,112px);background:radial-gradient(ellipse at 92% 4%,rgba(139,102,84,.2),transparent 38%),#29231f}
.roots-shell .roots-proof:before{position:absolute;z-index:-1;content:"";width:clamp(380px,58vw,760px);aspect-ratio:1;border:1px solid rgba(218,200,178,.09);border-radius:50%;top:-23%;right:-24%}
.proof-heading{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(240px,.55fr);gap:clamp(36px,8vw,130px);align-items:end}
.proof-copy .eyebrow{color:#d5bea4;margin-bottom:28px}
.proof-copy .eyebrow span{color:#a98b78}
.proof-copy h2{font-size:clamp(52px,7vw,104px);line-height:.9;letter-spacing:-.045em}
.proof-intro{max-width:350px;margin:0 0 7px;padding:0 0 0 22px;border-left:1px solid rgba(218,200,178,.38);color:#ded1c1;font:13px/1.9 Manrope,sans-serif}
.proof-featured-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,28px);margin-top:clamp(52px,6vw,88px)}
.proof-featured{min-width:0;margin:0;background:#342d28;border:1px solid rgba(218,200,178,.15);transition:transform .35s ease,border-color .35s ease}
.proof-featured:hover{transform:translateY(-5px);border-color:rgba(218,200,178,.35)}
.proof-featured-image{display:grid;place-items:center;aspect-ratio:1.13;background:#eee7de;padding:clamp(8px,1.5vw,20px)}
.proof-featured-image img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;filter:none}
.proof-featured figcaption{display:flex;align-items:center;gap:17px;padding:20px clamp(16px,2vw,28px) 23px;color:var(--paper)}
.proof-index{align-self:flex-start;color:#cbb59e;font:11px "DM Mono",monospace;letter-spacing:.06em}
.proof-caption-copy{display:grid;gap:5px}
.proof-caption-copy strong{font:24px/1.1 Italiana,serif;font-weight:400;letter-spacing:.015em}
.proof-caption-copy small,.proof-caption-mark{color:#c6b5a4;font:8px/1.5 "DM Mono",monospace;letter-spacing:.11em;text-transform:uppercase}
.proof-caption-mark{margin-left:auto;text-align:right}
.proof-gallery-label{display:flex;justify-content:space-between;align-items:center;margin-top:clamp(64px,8vw,105px);padding-bottom:14px;border-bottom:1px solid rgba(218,200,178,.28);color:#e7d9ca;font:9px "DM Mono",monospace;letter-spacing:.16em;text-transform:uppercase}
.roots-shell .proof-grid{grid-template-columns:1.12fr .82fr 1fr;gap:clamp(12px,2vw,26px);align-items:start;margin-top:24px}
.roots-shell .proof-grid figure{min-width:0;padding:10px;background:#342d28;border:1px solid rgba(218,200,178,.12)}
.roots-shell .proof-grid figure:nth-child(2){transform:translateY(35px)}
.proof-gallery-image{display:grid;place-items:center;aspect-ratio:1.08;background:#eee7de;padding:8px}
.roots-shell .proof-grid img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:transparent;filter:none}
.roots-shell .proof-grid figcaption{display:flex;align-items:baseline;gap:12px;padding:13px 3px 4px;color:#dac8b2;font:8px/1.5 "DM Mono",monospace;letter-spacing:.06em}
.proof-grid figcaption span{color:#a98b78}
.roots-shell .proof-note{margin-top:76px;padding-top:19px;border-top:1px solid rgba(218,200,178,.17);color:#b8a999;font:9px/1.7 "DM Mono",monospace}

@media(max-width:760px){
 .roots-shell .roots-proof{padding:82px 20px 68px}
 .roots-shell .roots-proof:before{top:-9%;right:-54%;width:410px}
 .proof-heading{grid-template-columns:1fr;gap:24px}
 .proof-copy .eyebrow{margin-bottom:22px;font-size:8px}
 .proof-copy h2{font-size:clamp(50px,13vw,72px);line-height:.94}
 .proof-intro{max-width:420px;margin:0;padding-left:15px;font-size:12px}
 .proof-featured-grid{grid-template-columns:1fr;gap:16px;margin-top:38px}
 .proof-featured-image{aspect-ratio:1.08;padding:8px}
 .proof-featured figcaption{gap:13px;padding:16px}
 .proof-caption-copy strong{font-size:22px}
 .proof-caption-copy small{font-size:7px}
 .proof-caption-mark{font-size:6px}
 .proof-gallery-label{margin-top:52px;font-size:8px}
 .roots-shell .proof-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
 .roots-shell .proof-grid figure:nth-child(2){transform:translateY(19px)}
 .roots-shell .proof-grid figure:nth-child(3){grid-column:1 / -1;width:78%;justify-self:center;transform:none}
 .proof-gallery-image{aspect-ratio:1.12;padding:6px}
 .roots-shell .proof-grid figure{padding:7px}
 .roots-shell .proof-grid figcaption{gap:8px;font-size:7px}
 .roots-shell .proof-note{margin-top:42px;font-size:8px}
}
/* Tactile, high-resolution proof viewing */
.proof-zoom-trigger{position:relative;display:grid;width:100%;height:100%;min-height:0;padding:0;overflow:hidden;border:0;background:transparent;cursor:zoom-in}
.proof-zoom-trigger img{transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.proof-zoom-trigger:hover img,.proof-zoom-trigger:focus-visible img{transform:scale(1.025)}
.proof-zoom-trigger:focus-visible{outline:1px solid #d5bea4;outline-offset:-3px}
.proof-zoom-cue{position:absolute;right:12px;bottom:12px;display:flex;align-items:center;gap:7px;padding:9px 11px;background:rgba(41,35,31,.86);color:#f2ece2;font:8px "DM Mono",monospace;letter-spacing:.12em;text-transform:uppercase;opacity:.92;transform:translateY(0);transition:transform .22s ease,opacity .22s ease}
.proof-zoom-trigger:hover .proof-zoom-cue,.proof-zoom-trigger:focus-visible .proof-zoom-cue{opacity:1;transform:translateY(0)}
.proof-lightbox{position:fixed;z-index:100;inset:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;box-sizing:border-box;border:0;display:grid;place-items:center;padding:clamp(12px,3vw,38px);background:rgba(24,21,19,.84);backdrop-filter:blur(12px);animation:proof-fade-in .22s ease both}
.proof-lightbox::backdrop{background:transparent}
.proof-lightbox *{box-sizing:border-box}
.proof-lightbox-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(1100px,100%);height:min(860px,calc(100dvh - 48px));padding:clamp(14px,2.1vw,26px);background:#eee8df;border:1px solid rgba(237,225,210,.54);box-shadow:0 28px 90px rgba(0,0,0,.32);animation:proof-panel-in .3s cubic-bezier(.2,.7,.2,1) both}
.proof-lightbox-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:0 0 18px;color:#302821}
.proof-lightbox-kicker{font:8px "DM Mono",monospace;letter-spacing:.16em;color:#896f5c}
.proof-lightbox-header h2{margin:8px 0 3px;font:clamp(25px,4vw,39px)/1 Italiana,serif;font-weight:400}
.proof-lightbox-header p{margin:0;color:#756658;font:9px "DM Mono",monospace;letter-spacing:.08em}
.proof-lightbox-close{display:grid;place-items:center;width:40px;height:40px;flex:none;border:1px solid rgba(75,59,47,.2);color:#302821;background:transparent;cursor:pointer}
.proof-lightbox-close:hover{transform:rotate(4deg)}
.proof-lightbox-stage{position:relative;display:grid;place-items:center;min-height:0;overflow:hidden;background:#e1d8ce;border:1px solid rgba(75,59,47,.14);touch-action:none}
.proof-lightbox-stage:before{position:absolute;inset:0;content:"";pointer-events:none;background:radial-gradient(ellipse at center,rgba(255,255,255,.24),transparent 70%)}
.proof-lightbox-stage img{position:relative;display:block;max-width:none;max-height:none;object-fit:contain;user-select:none;pointer-events:none;transform-origin:center;transition:transform .25s cubic-bezier(.2,.7,.2,1)}
.proof-lightbox-stage.is-zoomed{cursor:grab}
.proof-lightbox-stage.is-zoomed:active{cursor:grabbing}
.proof-lightbox-stage.is-zoomed img{transition:none}
.proof-drag-hint{position:absolute;right:12px;bottom:12px;display:flex;align-items:center;gap:7px;padding:9px 11px;background:rgba(41,35,31,.82);color:#f2ece2;font:8px "DM Mono",monospace;letter-spacing:.1em}
.proof-lightbox-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:15px;color:#55483c}
.proof-zoom-level{min-width:58px;font:19px/1 "DM Mono",monospace;font-variant-numeric:tabular-nums}
.proof-zoom-level small{font-size:10px}
.proof-zoom-actions{display:flex;align-items:center;gap:8px}
.proof-zoom-actions button{display:flex;align-items:center;justify-content:center;gap:8px;min-width:40px;height:40px;padding:0 11px;border:1px solid rgba(75,59,47,.2);background:transparent;color:#302821;cursor:pointer;transition:transform .2s ease,opacity .2s ease}
.proof-zoom-actions button:hover:not(:disabled){transform:translateY(-2px)}
.proof-zoom-actions button:disabled{opacity:.36;cursor:not-allowed}
.proof-zoom-actions button span{font:8px "DM Mono",monospace;letter-spacing:.08em;text-transform:uppercase}
.proof-zoom-help{color:#897f74;font:8px "DM Mono",monospace;letter-spacing:.07em}
.proof-interaction-note{display:flex;align-items:center;gap:8px;margin-top:20px;color:#d5bea4;font:8px/1.5 "DM Mono",monospace;letter-spacing:.09em;text-transform:uppercase}
.proof-interaction-note svg{flex:none}
@keyframes proof-fade-in{from{opacity:0}to{opacity:1}}
@keyframes proof-panel-in{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:760px){
 .proof-zoom-cue{right:7px;bottom:7px;padding:7px;font-size:7px;opacity:1;transform:none}
 .proof-lightbox{padding:9px}
 .proof-lightbox-panel{width:100%;height:min(760px,calc(100dvh - 18px));padding:13px}
 .proof-lightbox-header{padding-bottom:13px}
 .proof-lightbox-close{width:36px;height:36px}
 .proof-lightbox-controls{gap:7px;padding-top:11px}
 .proof-zoom-level{min-width:44px;font-size:15px}
 .proof-zoom-actions{gap:5px}
 .proof-zoom-actions button{min-width:36px;height:36px;padding:0 8px}
 .proof-zoom-actions button span{font-size:7px}
 .proof-zoom-help{display:none}
 .proof-drag-hint{font-size:7px}
}
@media(prefers-reduced-motion:reduce){.proof-lightbox,.proof-lightbox-panel,.proof-zoom-trigger img,.proof-zoom-cue,.proof-lightbox-stage img,.proof-zoom-actions button{animation:none!important;transition:none!important}}
.location-photo span{position:absolute;right:18px;bottom:18px;padding:11px 14px;background:var(--paper);font:9px "DM Mono";letter-spacing:.14em;text-transform:uppercase}
.location-copy{align-self:center;max-width:470px;position:relative;z-index:1}
.location-copy h2{font-size:clamp(58px,7vw,104px);line-height:.94;margin:20px 0 30px}
.location-copy>p:not(.eyebrow){font-size:15px;line-height:1.8;max-width:385px}
.location-details{margin:42px 0 36px;padding-top:20px;border-top:1px solid var(--line);display:grid;gap:20px;font:11px/1.7 "DM Mono";letter-spacing:.04em}
.location-details>div{display:flex;align-items:flex-start;gap:13px}.location-details svg{color:var(--clay);flex:none;margin-top:2px}.location-details span:last-child{display:block}.detail-label{display:block;min-width:78px;opacity:.48;font-size:9px;letter-spacing:.15em}
.location-actions{display:flex;align-items:center;gap:23px}.location-actions .roots-button{display:flex;align-items:center;gap:14px;text-decoration:none}.location-actions .text-link{display:flex;align-items:center;gap:10px}
.location-map{position:absolute;right:-4%;bottom:-12%;width:47%;height:72%;background:#e4d8c8;overflow:hidden;transform:rotate(-4deg);pointer-events:none;border:1px solid rgba(92,72,58,.16);box-shadow:0 18px 38px rgba(41,35,31,.07)}
.location-map:after{content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(111,87,68,.035));box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.location-road{position:absolute;z-index:1;height:1px;background:rgba(99,76,59,.25);transform-origin:left center}
.location-road-bautzner{width:112%;left:-5%;top:25%;transform:rotate(5deg)}
.location-road-tiek{width:74%;left:33%;top:61%;transform:rotate(-15deg);background:rgba(74,55,43,.38)}
.location-road-hoyerswerdaer{width:83%;left:55%;top:16%;transform:rotate(79deg)}
.location-road-rothenburger{width:75%;left:48%;top:28%;transform:rotate(61deg)}
.location-road-glacis{width:70%;left:13%;top:42%;transform:rotate(69deg)}
.location-road-albert{width:58%;left:-3%;top:42%;transform:rotate(-34deg)}
.location-road-side-a{width:42%;left:27%;top:75%;transform:rotate(-27deg);opacity:.65}
.location-road-side-b{width:40%;left:67%;top:76%;transform:rotate(18deg);opacity:.65}
.location-street{position:absolute;z-index:2;font:7px "DM Mono";letter-spacing:.13em;color:rgba(57,43,34,.61)}
.street-bautzner{left:31%;top:20%;transform:rotate(5deg)}.street-tiek{left:62%;top:66%;transform:rotate(-15deg)}.street-albert{left:6%;top:29%}
.map-studio-pin{position:absolute;z-index:3;left:64%;top:56%;display:flex;align-items:center;gap:7px;padding:8px 11px 8px 8px;background:var(--ink);color:var(--paper);box-shadow:0 8px 22px rgba(41,35,31,.18);transform:translate(-50%,-50%) rotate(4deg)}
.map-studio-pin b{font:8px "DM Mono";letter-spacing:.15em}.map-studio-pin svg{color:#d9b39a}
.location-map small{position:absolute;z-index:2;right:8%;bottom:7%;font:7px "DM Mono";letter-spacing:.13em;color:rgba(57,43,34,.58)}
.map-road{position:absolute;display:block;height:1px;background:#b9a997;transform-origin:left center}.road-one{width:115%;left:-5%;top:30%;transform:rotate(17deg)}.road-two{width:100%;left:12%;top:56%;transform:rotate(-28deg)}.road-three{width:85%;left:16%;top:78%;transform:rotate(12deg)}.road-four{width:100%;left:3%;top:14%;transform:rotate(55deg)}.map-water{position:absolute;width:130%;height:30%;top:42%;left:-10%;border-top:2px solid #c1b8ad;border-bottom:1px solid #c1b8ad;transform:rotate(-21deg);opacity:.65}.map-label{position:absolute;font:8px "DM Mono";letter-spacing:.18em;color:#927e6e}.label-one{top:20%;left:16%}.label-two{top:61%;left:50%;transform:rotate(-28deg)}.map-pin{position:absolute;top:45%;left:53%;display:grid;place-items:center;color:var(--ink);background:var(--paper);width:42px;height:42px;border-radius:50%;box-shadow:0 8px 20px rgba(41,35,31,.12)}.location-map small{position:absolute;bottom:16%;right:13%;font:8px "DM Mono";letter-spacing:.15em;color:#927e6e}
.hero-actions,.booking-actions{display:flex;align-items:center;gap:22px}.hero-actions .text-link{margin-top:0}.hero-note{display:flex;justify-content:center;text-align:center}.hero-note small{font:8px "DM Mono";letter-spacing:.2em}.roots-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.proof-note{font:10px/1.7 "DM Mono";letter-spacing:.04em;margin:32px 0 0;color:#dac8b2}.booking-actions{justify-content:center}.booking-actions a{color:var(--paper);font:11px "DM Mono";text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:8px}
.roots-review{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,6vw,100px);align-items:center;padding:100px 8%;background:#e9dfd1;border-top:1px solid #d6c8b7;border-bottom:1px solid #d6c8b7;scroll-margin-top:100px}
.review-heading h2{font:clamp(40px,4.4vw,68px)/1.07 Italiana,serif;letter-spacing:-.035em;margin:24px 0}
.review-treatment{font:10px/1.8 "DM Mono",monospace;color:#655146}
.review-heading .text-link{margin-top:24px}
.review-card{margin:0;padding:38px;background:var(--paper);border:1px solid #d6c8b7}
.review-stars{display:flex;gap:5px;color:#8a5836;margin-bottom:24px}
.review-rating-summary{font:10px/1.7 "DM Mono",monospace;color:#655146;margin:-12px 0 24px}
.review-card blockquote{margin:0}
.review-card blockquote p{font:18px/1.75 Manrope,sans-serif;margin:0;color:var(--ink)}
.review-card figcaption{display:flex;align-items:center;gap:14px;margin-top:30px;padding-top:24px;border-top:1px solid #d6c8b7}
.review-avatar{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:50%;background:#ded0be;color:var(--ink);font:26px Italiana,serif}
.review-card figcaption strong{display:block;font:15px/1.5 Manrope,sans-serif}
.review-card figcaption small{display:block;margin-top:4px;font:9px/1.6 "DM Mono",monospace;color:#655146}
@media(max-width:760px){.roots-review{grid-template-columns:1fr;gap:28px;padding:64px 24px}.review-heading h2{font-size:46px}.review-card{padding:24px}.review-card blockquote p{font-size:16px;line-height:1.75}.review-card figcaption small{font-size:9px}}
@media(max-width:760px){
  .roots-shell{padding-left:0;padding-top:76px;padding-bottom:70px}
  .roots-nav{left:12px;top:8px;width:calc(100% - 24px);height:64px;margin:0;padding:8px 9px 8px 14px;gap:6px;border-radius:20px;transform:none}
  .roots-nav.menu-active{border-radius:22px}
  .roots-nav .roots-nav-logo-full{width:84px;opacity:.3}
  .roots-nav-wordmark{width:84px;height:18px}
  .roots-nav-wordmark img{width:84px}
  .hero-brand{width:168px;margin-bottom:30px}
  .nav-location{min-width:0;width:84px;margin-right:7px;padding:7px 5px 7px 8px;font-size:4.8px;line-height:1.45;letter-spacing:.02em;gap:5px;flex:0 0 84px}
  .nav-location svg{width:14px;height:14px;padding:2px}
  .nav-location span{overflow:hidden}
  .nav-location-desktop{display:none}
  .nav-location-mobile{display:inline}
  .roots-links{display:none}
  .roots-nav-cta{display:flex;align-items:center;justify-content:center;gap:3px;width:66px;flex:0 0 66px;overflow:hidden;padding:9px 3px;font-size:8px;letter-spacing:.03em;white-space:nowrap}
  .roots-nav-cta span{font-size:0}
  .roots-nav-cta:before{content:"Termin";font:7px "DM Mono";letter-spacing:.02em}
  .roots-nav-cta svg{width:13px;height:13px}
  .roots-menu{display:block;flex:0 0 auto}
  .roots-shell .roots-floating-cta{position:fixed;display:flex;align-items:center;justify-content:center;gap:12px;left:18px;right:18px;bottom:16px;z-index:20;border:1px solid var(--paper);background:var(--ink);color:var(--paper)!important;padding:16px 20px;box-shadow:0 12px 25px rgba(41,35,31,.2);font-size:12px;letter-spacing:.03em;transition:transform .25s,background .25s}
  .roots-floating-cta:hover{background:var(--clay);transform:translateY(-2px)}
  .booking-location{margin-top:24px;font-size:9px}
  .intro-image{width:100%;height:360px;margin-top:40px}
   .roots-location{display:flex;flex-direction:column;gap:44px;padding:82px 28px}.location-photo{width:100%;height:auto;aspect-ratio:3/2;min-height:0}.location-photo img{object-position:center}.location-copy h2{font-size:72px}.location-details{margin:32px 0}.location-actions{align-items:flex-start;flex-direction:column;gap:20px}.location-map{position:relative;right:auto;bottom:auto;width:115%;height:250px;margin:0 -8%;transform:rotate(-3deg)}.location-street{font-size:6px}.map-studio-pin{left:64%;top:56%;padding:7px 9px 7px 7px}.location-map small{right:5%;bottom:5%;font-size:6px}
  .hero-actions{align-items:flex-start;flex-direction:column;gap:24px}.booking-actions{flex-direction:column;gap:20px}
}
.smp-page .roots-nav .roots-wordmark{display:flex;align-items:center;overflow:hidden}
.smp-page .roots-nav-wordmark{display:block;opacity:1;flex:none;width:106px;height:22px;overflow:hidden}
.smp-page .roots-nav-wordmark img{display:block;width:106px;max-width:none;height:auto}
@media(max-width:760px){.smp-page .roots-nav-wordmark{width:84px;height:18px}.smp-page .roots-nav-wordmark img{width:84px}}
 
.smp-studio{padding:120px 10vw;display:grid;grid-template-columns:48% 1fr;gap:9vw;background:var(--milk);overflow:hidden}.smp-studio-image{min-height:620px;position:relative;overflow:hidden;background:var(--sand)}.smp-studio-image img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.7) sepia(.08)}.smp-studio-image span{position:absolute;bottom:22px;left:22px;background:var(--paper);padding:10px 12px;font:8px "DM Mono";letter-spacing:.16em}.smp-studio-copy{padding:28px 0;max-width:430px}.smp-studio-copy h2{font:400 clamp(50px,5vw,76px)/.94 Italiana,serif;letter-spacing:-.035em;margin:20px 0 28px}.smp-studio-copy>p:not(.eyebrow){font-size:14px;line-height:1.9;max-width:350px}.smp-map{height:235px;position:relative;margin:55px 0 28px;background:#e4d8c8;border:1px solid rgba(80,61,47,.16);overflow:hidden;transform:rotate(-2deg)}.smp-map:before,.smp-map:after{content:"";position:absolute;background:rgba(115,88,68,.24);height:1px;transform-origin:left center}.smp-map:before{width:120%;left:-5%;top:38%;transform:rotate(17deg)}.smp-map:after{width:100%;left:17%;top:68%;transform:rotate(-32deg)}.smp-road{position:absolute;height:1px;background:rgba(115,88,68,.2);transform-origin:left center}.road-a{width:80%;left:10%;top:17%;transform:rotate(57deg)}.road-b{width:100%;left:-5%;top:83%;transform:rotate(-13deg)}.road-c{width:64%;left:35%;top:50%;transform:rotate(34deg)}.road-d{width:66%;left:0;top:58%;transform:rotate(-44deg)}.smp-street{position:absolute;font:7px "DM Mono";letter-spacing:.13em;color:rgba(57,43,34,.65)}.street-albert{left:8%;top:13%}.street-bautzner{right:7%;top:28%;transform:rotate(17deg)}.street-tiek{left:42%;bottom:16%;transform:rotate(-31deg)}.smp-map-pin{position:absolute;left:52%;top:52%;display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:var(--ink);color:var(--paper);transform:translate(-50%,-50%);box-shadow:0 7px 16px rgba(41,35,31,.18)}.smp-map small{position:absolute;right:12px;bottom:10px;font:7px "DM Mono";letter-spacing:.15em;color:rgba(57,43,34,.7)}.smp-route{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font:10px "DM Mono";letter-spacing:.08em;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:9px}@media(max-width:760px){.smp-studio{display:block;padding:82px 28px}.smp-studio-image{min-height:420px}.smp-studio-copy{padding:48px 0 0}.smp-studio-copy h2{font-size:54px}.smp-map{margin-top:42px}}
.smp-hero{display:grid;grid-template-columns:53% 47%;min-height:650px;background:var(--milk)}.smp-hero-copy{padding:11vw 9vw 8vw}.smp-hero h1{font:400 clamp(42px,4.5vw,66px)/.9 Italiana,serif;letter-spacing:-.04em;margin:0}.smp-hero-copy>p:not(.eyebrow){max-width:430px;margin:30px 0;font-size:14px;line-height:1.9}.smp-hero-image{min-height:650px;position:relative;overflow:hidden;background:var(--sand)}.smp-hero-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) sepia(.08)}.smp-hero-image span{position:absolute;right:28px;bottom:27px;background:#dac8b2;padding:14px 16px;font:9px/1.6 "DM Mono";letter-spacing:.08em}.smp-hero-image i{font:16px Italiana}.smp-definition{padding:135px 12vw;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.smp-definition h2,.smp-steps h2,.smp-faq h2{font:400 clamp(50px,6vw,88px)/.93 Italiana,serif;letter-spacing:-.035em;margin:0}.smp-definition>div{padding-top:42px}.smp-definition>div p{font-size:14px;line-height:1.95;margin:0 0 23px}.smp-steps{padding:120px 11vw;background:#cfbba2;display:grid;grid-template-columns:40% 60%;gap:50px}.smp-step-list{border-top:1px solid #998573}.smp-step-list article{display:grid;grid-template-columns:50px 1fr;border-bottom:1px solid #998573;padding:23px 0}.smp-step-list b{font:10px "DM Mono"}.smp-step-list h3{font:400 32px Italiana;margin:0}.smp-step-list p{grid-column:2;font-size:12px;line-height:1.8;max-width:380px;margin:9px 0 0}.smp-faq{padding:125px 10vw;display:grid;grid-template-columns:39% 1fr;gap:10vw;background:var(--paper)}.smp-faq>div>p:not(.eyebrow){font-size:12px;line-height:1.8;max-width:270px;margin-top:28px}@media(max-width:760px){.smp-hero{display:block}.smp-hero-copy{padding:82px 28px 60px}.smp-hero h1{font-size:42px}.smp-hero-image{min-height:440px;height:440px}.smp-definition,.smp-steps,.smp-faq{grid-template-columns:1fr;padding:82px 28px;gap:38px}.smp-definition>div{padding-top:0}.smp-steps{gap:40px}.smp-step-list h3{font-size:29px}}
.smp-page .roots-links a{color:inherit;text-decoration:none;background:none;border:0;font:10px "DM Mono";letter-spacing:.06em;position:relative;padding:35px 0 31px;text-transform:uppercase}
.smp-page .roots-links a span{color:var(--clay);font-size:8px;margin-right:6px;opacity:0;transition:opacity .25s}
.smp-page .roots-links a:after{content:"";position:absolute;left:0;right:100%;bottom:23px;height:1px;background:var(--clay);transition:right .3s}
.smp-page .roots-links a:hover span,.smp-page .roots-links a.is-active span{opacity:1}
.smp-page .roots-links a:hover:after,.smp-page .roots-links a.is-active:after{right:0}
.smp-page .roots-wordmark{display:block;flex:none}
.smp-page .roots-nav-cta{color:var(--paper);text-decoration:none}
.smp-page .roots-button{text-decoration:none;width:max-content}
.smp-page .roots-links{gap:22px}
.smp-definition>div:first-child{padding-top:0}
.smp-definition h2{font-size:clamp(50px,5.6vw,80px)}
.smp-expertise{padding:120px 12vw;display:grid;grid-template-columns:1fr .8fr;gap:10vw;align-items:center;background:#e4d7c6}
.smp-expertise-copy{max-width:465px}
.smp-expertise h2{font:400 clamp(50px,5.6vw,80px)/.95 Italiana,serif;letter-spacing:-.035em;margin:0 0 28px}
.smp-expertise-copy>p:not(.eyebrow){font-size:14px;line-height:1.95;max-width:410px}
.smp-certificate{margin:0;padding:13px;background:var(--paper);box-shadow:0 20px 55px rgba(41,35,31,.09);transform:rotate(1.2deg)}
.smp-certificate img{display:block;width:100%;height:auto;max-height:430px;object-fit:contain;background:#ede6da}
.smp-certificate figcaption{font:9px "DM Mono";letter-spacing:.08em;color:#735947;padding:13px 5px 3px;text-transform:uppercase}
.smp-faq{background:var(--milk)}
.faq-list{padding-top:3px}
.faq-item{border-top:1px solid var(--line)}
.faq-item summary{list-style:none;cursor:pointer;padding:21px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px;line-height:1.5}
.faq-item summary::-webkit-details-marker{display:none}
.faq-chevron{width:9px;height:9px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);transform:rotate(45deg) translateY(-3px);transition:transform .25s;flex:none}
.faq-item[open] .faq-chevron{transform:rotate(225deg) translate(-2px,-1px)}
.faq-item p{font-size:12px;line-height:1.85;margin:0 38px 22px 0;max-width:650px}
.booking-actions{display:flex;justify-content:center;align-items:center;gap:28px;margin-top:32px}
.booking-actions .roots-button.light{margin:0}
.booking-actions>a:not(.roots-button){font:10px "DM Mono";letter-spacing:.04em;color:var(--paper);text-decoration:none;border-bottom:1px solid rgba(245,240,231,.55);padding-bottom:5px}
.roots-footer .footer-brand{display:block}
.smp-page .smp-top-link{border:0;border-bottom:1px solid #d4c2ad;padding:0 0 6px;display:flex;gap:10px;align-items:center;font:10px "DM Mono"}
.roots-floating-cta{text-decoration:none}
.smp-page .roots-floating-cta{color:var(--paper)}
.smp-hero-image img,.smp-studio-image img{filter:none}
@media(max-width:760px){
  .smp-page .roots-links a{padding:13px 0;text-align:left;font-size:12px}
  .smp-page .roots-links a span{opacity:1}
  .smp-page .roots-links a:after{bottom:7px}
  .smp-hero-copy .roots-button{width:100%;justify-content:center}
  .smp-definition,.smp-steps,.smp-faq{grid-template-columns:1fr}
  .smp-definition>div:first-child{padding:0}
  .smp-expertise{grid-template-columns:1fr;padding:82px 28px;gap:38px}
  .smp-certificate{max-width:470px}
  .smp-certificate img{max-height:380px}
  .booking-actions{flex-direction:column;gap:18px}
  .booking-actions .roots-button.light{width:100%;justify-content:center}
}
.roots-instagram-popup {
  --roots-popup-ink: var(--ink, #29231f);
  --roots-popup-paper: var(--paper, #f5f0e7);
  --roots-popup-milk: var(--milk, #e9dfd1);
  --roots-popup-clay: var(--clay, #8b6654);
  --roots-popup-line: var(--line, #b8a999);
  box-sizing: border-box;
  position: fixed;
  inset: 0;
  width: min(920px, calc(100vw - 48px));
  max-width: none;
  max-height: min(740px, calc(100dvh - 48px));
  margin: auto;
  padding: 0;
  overflow: auto;
  border: 1px solid color-mix(in srgb, var(--roots-popup-paper) 78%, #806c5b);
  background: var(--roots-popup-paper);
  color: var(--roots-popup-ink);
  box-shadow: 0 30px 100px rgba(27, 22, 18, .32);
  font-family: Manrope, sans-serif;
  overscroll-behavior: contain;
}

.roots-instagram-popup *,
.roots-instagram-popup *::before,
.roots-instagram-popup *::after {
  box-sizing: border-box;
}

.roots-instagram-popup::backdrop {
  background: rgba(32, 27, 23, .69);
  backdrop-filter: blur(7px);
}

.roots-instagram-popup__frame {
  display: grid;
  grid-template-columns: minmax(0, .91fr) minmax(0, 1.09fr);
  min-height: 570px;
}

.roots-instagram-popup__image {
  position: relative;
  min-height: 100%;
  overflow: hidden;
  background: #d8c7b5;
}

.roots-instagram-popup__image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 570px;
  object-fit: cover;
  object-position: center;
  filter: saturate(.76) sepia(.06);
}

.roots-instagram-popup__image-note {
  position: absolute;
  left: 23px;
  bottom: 23px;
  padding: 11px 14px;
  background: color-mix(in srgb, var(--roots-popup-paper) 94%, transparent);
  color: var(--roots-popup-ink);
  font: 8px/1 "DM Mono", monospace;
  letter-spacing: .16em;
}

.roots-instagram-popup__content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 48px clamp(32px, 5.4vw, 72px) 28px;
}

.roots-instagram-popup__close {
  position: absolute;
  top: 19px;
  right: 20px;
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--roots-popup-line) 75%, transparent);
  border-radius: 50%;
  background: transparent;
  color: var(--roots-popup-ink);
  cursor: pointer;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}

.roots-instagram-popup__close span,
.roots-instagram-popup__close span::after {
  display: block;
  width: 15px;
  height: 1px;
  background: currentColor;
}

.roots-instagram-popup__close span {
  transform: rotate(45deg);
}

.roots-instagram-popup__close span::after {
  content: "";
  transform: rotate(90deg);
}

.roots-instagram-popup__close:hover {
  border-color: var(--roots-popup-clay);
  background: var(--roots-popup-milk);
  transform: rotate(4deg);
}

.roots-instagram-popup__eyebrow {
  margin: 0 0 22px;
  color: var(--roots-popup-clay);
  font: 9px/1.5 "DM Mono", monospace;
  letter-spacing: .16em;
}

.roots-instagram-popup .roots-instagram-popup__eyebrow::before {
  content: "";
  display: block;
  width: 64px;
  height: 64px;
  margin: 0 0 14px;
  background: url("../images/instagram-mark.png") center / contain no-repeat;
  filter: drop-shadow(0 4px 7px rgb(115 71 98 / 15%));
}

.roots-instagram-popup .roots-instagram-popup__image-note {
  padding: 12px 15px 11px;
  font-size: 7px;
  letter-spacing: .14em;
}

.roots-instagram-popup .roots-instagram-popup__image-note::before {
  content: "";
  display: block;
  width: 148px;
  height: 56px;
  margin-bottom: 7px;
  background: url("../images/roots-logo-transparent.webp") left center / contain no-repeat;
}

.roots-instagram-popup .roots-instagram-popup__content h2 {
  margin: 0;
  color: var(--roots-popup-ink);
  font: 400 clamp(42px, 4.2vw, 54px)/1.02 Italiana, Georgia, serif;
  letter-spacing: -.035em;
}

.roots-instagram-popup__description {
  max-width: 390px;
  margin: 22px 0 24px;
  color: color-mix(in srgb, var(--roots-popup-ink) 80%, #8c7b6d);
  font: 13px/1.85 Manrope, sans-serif;
}

.roots-instagram-popup__follow {
  position: relative;
  display: grid;
  width: 100%;
  min-height: 67px;
  align-content: center;
  gap: 5px;
  padding: 12px 62px 12px 18px;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid #806751;
  border-radius: 3px;
  background: linear-gradient(115deg, #49372c, #29231f 68%, #514031);
  box-shadow: 0 5px 0 #1c1713, 0 10px 22px rgb(41 35 31 / 20%), inset 0 1px 0 rgb(255 239 216 / 20%);
  color: var(--roots-popup-paper);
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.roots-instagram-popup__follow::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(105deg, transparent 25%, rgb(255 229 193 / 22%) 48%, transparent 70%);
  transform: translateX(-145%) skewX(-16deg);
}

.roots-instagram-popup[open] .roots-instagram-popup__follow::before {
  animation: roots-instagram-button-shine 6.5s ease-in-out 2;
}

@keyframes roots-instagram-button-shine {
  0%, 20% { transform: translateX(-145%) skewX(-16deg); }
  42%, 100% { transform: translateX(145%) skewX(-16deg); }
}

@media (hover: hover) and (pointer: fine) {
  .roots-instagram-popup__follow:hover {
    border-color: #c3a07d;
    transform: translateY(-3px);
    box-shadow: 0 8px 0 #1c1713, 0 16px 28px rgb(41 35 31 / 25%), inset 0 1px 0 rgb(255 239 216 / 28%);
  }

  .roots-instagram-popup__follow:hover .roots-instagram-popup__arrow {
    transform: translate(2px, calc(-50% - 2px));
  }
}

.roots-instagram-popup__follow:active {
  transform: translateY(3px);
  box-shadow: 0 1px 0 #1c1713, 0 3px 8px rgb(41 35 31 / 16%), inset 0 2px 5px rgb(0 0 0 / 18%);
  transition-duration: .08s;
}

.roots-instagram-popup__follow > span:first-child {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .035em;
}

.roots-instagram-popup__handle {
  color: #ddcbb8;
  font: 9px/1.4 "DM Mono", monospace;
  letter-spacing: .06em;
}

.roots-instagram-popup__arrow {
  position: absolute;
  top: 50%;
  right: 16px;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 1px solid rgb(244 232 214 / 20%);
  border-radius: 50%;
  background: rgb(244 232 214 / 8%);
  font: 20px/1 Italiana, serif;
  transform: translateY(-50%);
  transition: transform .18s ease;
}

.roots-instagram-popup__qr-block {
  display: flex;
  align-items: center;
  gap: 17px;
  width: 100%;
  margin-top: 21px;
}

.roots-instagram-popup__qr {
  display: block;
  flex: 0 0 156px;
  width: 156px;
  height: 156px;
  padding: 8px;
  background: #fff;
  object-fit: contain;
  image-rendering: pixelated;
}

.roots-instagram-popup__qr-block p {
  max-width: 155px;
  margin: 0;
  color: color-mix(in srgb, var(--roots-popup-ink) 68%, #998775);
  font: 9px/1.7 "DM Mono", monospace;
  letter-spacing: .025em;
}

.roots-instagram-popup .roots-instagram-popup__dismiss {
  align-self: flex-start;
  margin: 20px 0 0;
  padding: 0 0 5px;
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--roots-popup-ink) 45%, transparent);
  background: transparent;
  color: color-mix(in srgb, var(--roots-popup-ink) 76%, #88796c);
  font: 10px/1.4 "DM Mono", monospace;
  letter-spacing: .04em;
  cursor: pointer;
  transition: color .2s ease, border-color .2s ease;
}

.roots-instagram-popup__dismiss:hover {
  color: var(--roots-popup-clay);
  border-color: var(--roots-popup-clay);
}

.roots-instagram-popup button:focus-visible,
.roots-instagram-popup a:focus-visible {
  outline: 2px solid var(--roots-popup-clay);
  outline-offset: 4px;
}

@media (max-width: 680px) {
  .roots-instagram-popup {
    width: min(460px, calc(100vw - 24px));
    max-height: calc(100dvh - 24px);
  }

  .roots-instagram-popup__frame {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .roots-instagram-popup__image {
    display: none;
  }

  .roots-instagram-popup__content {
    padding: 49px 25px 26px;
  }

  .roots-instagram-popup__close {
    top: 12px;
    right: 13px;
    width: 38px;
    height: 38px;
  }

  .roots-instagram-popup__eyebrow {
    margin-bottom: 17px;
    font-size: 8px;
  }

  .roots-instagram-popup .roots-instagram-popup__eyebrow::before {
    width: 54px;
    height: 54px;
    margin-bottom: 12px;
  }

  .roots-instagram-popup .roots-instagram-popup__content h2::before {
    content: "";
    display: block;
    width: 142px;
    height: 54px;
    margin-bottom: 10px;
    background: url("../images/roots-logo-transparent.webp") left center / contain no-repeat;
  }

  .roots-instagram-popup .roots-instagram-popup__content h2 {
    font-size: clamp(34px, 10.5vw, 42px);
  }

  .roots-instagram-popup__description {
    margin: 16px 0 19px;
    font-size: 12px;
    line-height: 1.75;
  }

  .roots-instagram-popup__qr-block {
    display: none;
  }

  .roots-instagram-popup__qr {
    flex-basis: 94px;
    width: 94px;
    height: 94px;
    padding: 11px;
  }

  .roots-instagram-popup__qr-block p {
    max-width: 175px;
    font-size: 8px;
  }

  .roots-instagram-popup__dismiss {
    margin-top: 16px;
  }
}

@media (max-width: 360px) {
  .roots-instagram-popup__content {
    padding-right: 19px;
    padding-left: 19px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .roots-instagram-popup *,
  .roots-instagram-popup *::before,
  .roots-instagram-popup *::after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }

  .roots-instagram-popup__follow:hover,
  .roots-instagram-popup__follow:active {
    transform: none;
  }

  .roots-instagram-popup__follow:hover .roots-instagram-popup__arrow {
    transform: translateY(-50%);
  }
}
