/* Selected salon calling cards: coat macros beneath stationary glass panels. */
.fur-services{--fur-ink:#292a29;--fur-red:#7a3038;color:var(--fur-ink);font-family:Manrope,Arial,sans-serif;max-width:1440px;margin:0 auto;padding:88px 48px;scroll-margin-top:32px}
.fur-services *{box-sizing:border-box}
.fur-services .fs-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:end;margin:0 0 36px}
.fur-services .fs-label{display:block;font-size:12px;font-weight:500;letter-spacing:.05em;color:var(--fur-red);margin:0 0 14px}
.fur-services h2{font-size:clamp(36px,4.2vw,58px);line-height:1.12;font-weight:500;letter-spacing:-.045em;max-width:11ch;margin:0;text-wrap:balance}
.fur-services .fs-intro{font-size:16px;line-height:1.7;max-width:52ch;margin:0;color:#565953;text-wrap:pretty}
.fs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.fs-card{position:relative;isolation:isolate;overflow:hidden;min-width:0;border-radius:24px;background:#e6e4df;box-shadow:0 16px 40px -26px rgba(45,42,38,.25);border:1px solid rgba(255,255,255,.8)}
.fs-fur{position:absolute;inset:0;z-index:-2;overflow:hidden;background:#e6e4df;pointer-events:none}
.fs-fur>img,.fs-fur>canvas{position:absolute;display:block;inset:0;width:100%;height:100%;object-fit:cover}
.fs-fur>img,.fs-fur>canvas{filter:saturate(.72) brightness(1.07)}
.fs-fur>canvas{opacity:0}
.fs-fur[data-renderer=webgl]>canvas{opacity:1}
.fs-fur::after{content:"";position:absolute;inset:0;pointer-events:none;background:rgba(255,255,255,.12)}
.fs-glass{position:relative;display:flex;flex-direction:column;min-width:0;padding:24px;border-radius:18px;background:rgba(255,255,255,.3);border:1px solid rgba(255,255,255,.65);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 12px 36px -28px rgba(35,32,29,.4)}
.fs-glass h3{font-size:23px;font-weight:600;letter-spacing:-.027em;line-height:1.25;margin:0 0 14px;text-wrap:balance;color:#242624}
.fs-glass p{font-size:14px;line-height:1.65;margin:0 0 16px;color:#292a29;text-wrap:pretty}
.fs-glass a{display:inline-flex;align-self:flex-start;align-items:center;min-height:44px;font-size:12px;font-weight:600;color:#59232a;text-decoration:underline;text-underline-offset:5px;margin-top:auto}
.fur-services a:focus-visible,.fur-services button:focus-visible{outline:2px solid var(--fur-red);outline-offset:5px}
.fs-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:28px}
.fs-all{display:inline-flex;align-items:center;min-height:48px;color:var(--fur-red);font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:6px}
/* 1. Separate materials and glass plinths, equal six-card hierarchy. */
.fs-layout-1 .fs-card{min-height:326px;display:flex;align-items:flex-end;padding:14px}
.fs-layout-1 .fs-glass{width:100%;min-height:218px}
/* 2. One continuous material, six independent low-opacity reading surfaces. */
.fs-common{position:relative;isolation:isolate;padding:28px;overflow:hidden;border-radius:32px;border:1px solid #fff;box-shadow:0 18px 55px -35px rgba(51,45,38,.3)}
.fs-layout-2 .fs-grid{gap:18px}
.fs-layout-2 .fs-card{display:flex;border:0;border-radius:0;background:none;box-shadow:none;overflow:visible}
.fs-layout-2 .fs-glass{width:100%;min-height:235px;padding:26px;background:rgba(255,255,255,.36)}
.fs-layout-2 .fs-fur::after{background:rgba(255,255,255,.22)}
/* 3. Wide calling cards: quiet copy with an open window onto the fur. */
.fs-layout-3 .fs-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.fs-layout-3 .fs-card{min-height:216px;padding:14px;display:flex;align-items:stretch}
.fs-layout-3 .fs-glass{width:70%;padding:22px;background:rgba(255,255,255,.28)}
.fs-layout-3 .fs-glass h3{font-size:21px;margin-bottom:10px}
.fs-layout-3 .fs-glass p{font-size:13px;line-height:1.6;margin-bottom:10px}
/* 4. A small material window per service, alongside an unhurried reading panel. */
.fs-layout-4 .fs-composition{display:grid;grid-template-columns:.7fr 2fr;gap:48px;align-items:start}
.fs-layout-4 .fs-heading{display:block;margin:0}
.fs-layout-4 .fs-intro{margin-top:24px;font-size:15px}
.fs-layout-4 .fs-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.fs-layout-4 .fs-card{display:flex;min-height:192px;padding:10px;justify-content:flex-end}
.fs-layout-4 .fs-glass{width:76%;padding:20px;background:rgba(255,255,255,.32);border-radius:15px}
.fs-layout-4 .fs-glass h3{font-size:19px;line-height:1.3;margin-bottom:10px}
.fs-layout-4 .fs-glass p{font-size:12px;line-height:1.6;margin-bottom:8px}
.fs-layout-4 .fs-glass a{font-size:11px;min-height:36px}
@supports not (backdrop-filter:blur(1px)){.fs-glass{background:rgba(255,255,255,.78)!important}}
@media(max-width:1100px){.fur-services{padding-inline:32px}.fur-services .fs-heading{gap:32px}.fs-glass{padding:20px}.fs-glass h3{font-size:21px}.fs-layout-1 .fs-card{min-height:340px}.fs-layout-3 .fs-glass{width:76%}.fs-layout-4 .fs-composition{grid-template-columns:1fr;gap:30px}.fs-layout-4 .fs-heading{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:end}.fs-layout-4 .fs-intro{margin-top:0}.fs-layout-4 .fs-glass h3{font-size:21px}.fs-layout-4 .fs-glass p{font-size:14px}.fs-layout-4 .fs-glass a{font-size:12px;min-height:44px}}
@media(max-width:800px){.fur-services{padding:52px 24px}.fur-services .fs-heading,.fs-layout-4 .fs-heading{grid-template-columns:1fr;gap:20px}.fur-services h2{max-width:16ch;font-size:40px}.fur-services .fs-intro{font-size:15px}.fs-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.fs-layout-1 .fs-card{min-height:340px;padding:10px}.fs-glass{padding:20px}.fs-common{padding:18px;border-radius:24px}.fs-layout-2 .fs-glass{padding:22px;min-height:250px}.fs-layout-3 .fs-grid{grid-template-columns:1fr}.fs-layout-3 .fs-card{min-height:218px}.fs-layout-3 .fs-glass{width:72%}.fs-layout-4 .fs-glass{width:76%}.fs-layout-4 .fs-grid{gap:16px}}@media(max-width:560px){.fur-services h2{font-size:37px}.fs-grid,.fs-layout-4 .fs-grid{grid-template-columns:1fr}.fs-layout-1 .fs-card{min-height:324px;padding:14px}.fs-layout-1 .fs-glass{padding:24px;min-height:218px}.fs-layout-2 .fs-glass{min-height:0;padding:24px}.fs-layout-2 .fs-fur>img{object-position:center}.fs-layout-2 .fs-grid{gap:16px}.fs-layout-3 .fs-glass{width:82%;padding:21px}.fs-layout-3 .fs-card{min-height:246px;padding:12px}.fs-layout-4 .fs-card{min-height:225px}.fs-layout-4 .fs-glass{width:79%;padding:22px}.fs-glass h3,.fs-layout-3 .fs-glass h3,.fs-layout-4 .fs-glass h3{font-size:22px}.fs-glass p,.fs-layout-3 .fs-glass p,.fs-layout-4 .fs-glass p{font-size:14px}.fs-common{padding:16px}.fs-layout-4 .fs-composition{gap:28px}}
@media(prefers-reduced-motion:reduce){.fs-fur>canvas{display:none!important}.fs-fur>img{display:block!important}}

/* Adopted calling cards: all six boxes share a height, including the long title. */
.site-harmony .home-flow>.fur-services{padding-block:var(--site-space);padding-inline:var(--site-gutter);width:100%;background:transparent}
.fs-layout-3 .fs-grid{grid-auto-rows:1fr}
.fs-layout-3 .fs-card{height:100%}
.fs-layout-3 .fs-glass{height:100%}
/* Internal pages: approved Aristocani identity, Aesop editorial rhythm, Bevel light. */
.ip-shell{width:min(1200px,calc(100% - 96px));margin-inline:auto}
.ip-main{background:radial-gradient(ellipse 85% 24% at 86% 22%,rgba(207,211,202,.5),transparent),radial-gradient(ellipse 95% 28% at 12% 70%,rgba(202,208,198,.5),transparent),linear-gradient(#fff,#f3f4f1 42%,#eff0ec 78%,#fff);padding-bottom:88px}
.ip-main h1{font:500 clamp(44px,4.55vw,64px)/1.1 Manrope,Arial,sans-serif;letter-spacing:-.045em;text-wrap:balance}
.ip-main h2{font:500 clamp(30px,3vw,42px)/1.17 Manrope,Arial,sans-serif;letter-spacing:-.035em;text-wrap:balance}
.ip-main h3{font:500 27px/1.27 Manrope,Arial,sans-serif;letter-spacing:-.025em;text-wrap:balance}
.ip-main p{font-size:18px;line-height:1.7;color:var(--muted)}
.ip-main .ip-label{font-size:12px;font-weight:600;letter-spacing:.09em;line-height:1.5;text-transform:uppercase;color:var(--brand);margin-bottom:24px}
.ip-breadcrumb{display:flex;align-items:center;gap:12px;padding-block:26px 30px;font-size:12px;color:var(--muted)}
.ip-breadcrumb a:hover{text-decoration:underline;text-underline-offset:4px}
.ip-breadcrumb>span[aria-hidden]{color:#b1b5ad}
.ip-breadcrumb [aria-current]{color:var(--ink)}
.ip-hero{display:grid;grid-template-columns:1.12fr 1fr;gap:72px;align-items:center;padding-block:20px 84px}
.ip-hero-copy{padding-bottom:12px;min-width:0}
.ip-deck{max-width:59ch;margin-top:30px}
.ip-main .ip-deck,.ip-deck p{font-size:18px;line-height:1.65}
.ip-copy{max-width:64ch}
.ip-copy p+p{margin-top:20px}
.ip-main .ip-link{display:inline-flex;align-items:center;min-height:46px;padding-block:8px;color:var(--brand);font-size:15px;line-height:1.5;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;transition:text-decoration-color .2s,color .2s}
.ip-link:hover{color:var(--brand-dark);text-decoration-color:transparent}
.ip-hero-copy>.ip-link{margin-top:24px}
.ip-photo{margin:0;min-width:0}
.ip-photo img{width:100%;height:100%;object-fit:cover;border-radius:4px;background:#e4e6e1}
.ip-photo figcaption{font-size:12px;line-height:1.6;color:var(--muted);padding-top:12px}
.ip-hero-media{position:relative;padding:0 0 40px 22px}
.ip-welcome-photo{height:570px;overflow:hidden;border-radius:4px}
.ip-welcome-photo img{object-position:53% 50%;box-shadow:0 30px 60px -34px rgba(35,44,35,.3)}
.ip-photo-note{position:absolute;left:-24px;right:50px;bottom:4px;padding:25px 30px;background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(241,243,236,.6));border:1px solid rgba(255,255,255,.92);border-radius:20px;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 24px 50px -30px #35403340;font-size:23px;line-height:1.35;letter-spacing:-.03em}
.ip-photo-note span{display:block;color:var(--muted)}
.ip-manifesto{display:grid;grid-template-columns:.86fr 1.14fr;gap:100px;padding-block:76px 92px;align-items:start}
.ip-manifesto .ip-copy>p:first-child{font-size:23px;line-height:1.55;color:var(--ink);letter-spacing:-.015em}
.ip-manifesto .ip-copy>.ip-link{margin:20px 30px 0 0}
.ip-journey{display:grid;grid-template-columns:.7fr 1.3fr;gap:96px;align-items:start;padding-block:44px 88px}
.ip-sticky{position:sticky;top:40px;align-self:start}
.ip-chapter-nav{display:grid;gap:6px;margin-top:30px}
.ip-chapter-nav a{display:flex;gap:18px;padding-block:12px;font-size:15px;line-height:1.5;color:var(--muted)}
.ip-chapter-nav a span{font-size:11px;color:var(--brand);padding-top:3px}
.ip-chapter-nav a:hover{color:var(--brand)}
.ip-journey-sheet,.ip-conversation-sheet{padding:12px 44px;background:linear-gradient(130deg,rgba(255,255,255,.81),rgba(255,255,255,.36));border:1px solid #ffffffeb;border-radius:24px;box-shadow:inset 0 1px 0 #fff,0 25px 60px -36px #2f392d40;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.ip-chapter{padding-block:38px 42px;scroll-margin-top:40px}
.ip-chapter+.ip-chapter{border-top:1px solid rgba(98,100,95,.18)}
.ip-chapter-top{display:flex;align-items:start;gap:22px;margin-bottom:25px}
.ip-main .ip-chapter h2{font-size:29px;line-height:1.3}
.ip-number{font-size:12px;line-height:1.5;color:var(--brand);font-variant-numeric:tabular-nums;letter-spacing:.04em}
.ip-chapter-top .ip-number{padding-top:8px;flex:none}
.ip-attentions{padding-block:62px 72px}
.ip-section-heading{margin-bottom:44px}
.ip-open-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px}
.ip-open-grid h3{font-size:22px;line-height:1.35;margin-bottom:20px;max-width:25ch}
.ip-open-grid article{border-top:1px solid #bfc5ba;padding-top:26px}
.ip-open-grid p{font-size:16px;line-height:1.7}
.ip-ending{padding-top:54px}
.ip-ending-glass{padding:50px 52px;display:grid;grid-template-columns:1.35fr 1fr;gap:74px;align-items:center;border-radius:24px;background:linear-gradient(125deg,rgba(255,255,255,.86),rgba(255,255,255,.4));box-shadow:0 28px 56px -36px rgba(38,46,36,.27),inset 0 1px 0 white;border:1px solid #fff;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.ip-ending .ip-copy{margin-top:24px}
.ip-ending .ip-label{margin-bottom:18px}
.ip-ending-actions{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.ip-primary{display:inline-flex;justify-content:center;align-items:center;padding:14px 24px;min-height:52px;border:1px solid var(--brand);border-radius:4px;background:var(--brand);color:white;font-size:16px;font-weight:600;line-height:1.5;transition:background .18s}
.ip-primary:hover{background:var(--brand-dark)}
.ip-phone{font-size:14px;padding-block:8px;text-decoration:underline;text-underline-offset:5px;line-height:1.6}
.ip-ending-actions>p{font-size:12px;line-height:1.7;max-width:33ch}
.ip-related{display:flex;align-items:center;flex-wrap:wrap;gap:0 28px;margin-top:22px}
/* Service index and long-form, open chapters. */
.ip-services-hero{display:grid;grid-template-columns:1.45fr .7fr;gap:80px;align-items:center;padding-block:20px 54px}
.ip-services-hero .ip-deck{max-width:54ch}
.ip-service-portrait{padding:0 18px 16px;background:#fff;box-shadow:0 25px 54px -28px #333d3440;border:1px solid #fff;transform:rotate(3deg);margin-right:18px}
.ip-service-portrait img{height:380px;margin-top:18px;object-position:center 34%;border-radius:0}
.ip-service-portrait figcaption{padding-top:15px;color:var(--ink)}
.ip-service-index{display:grid;grid-template-columns:repeat(3,1fr);column-gap:34px;row-gap:0;padding:26px 34px;border-radius:24px;background:linear-gradient(125deg,#ffffffc9,#ffffff61);border:1px solid #fff;box-shadow:0 24px 48px -38px #29342640}
.ip-service-index a{display:flex;align-items:center;gap:14px;padding-block:18px;font-size:15px;line-height:1.5}
.ip-service-index a>span:first-child{font-size:11px;color:var(--brand)}
.ip-service-index a>span:last-child{margin-left:auto;color:var(--muted);transition:transform .18s}
.ip-service-index a:hover{color:var(--brand)}
.ip-service-index a:hover>span:last-child{transform:translateY(3px)}
.ip-service-story{display:grid;grid-template-columns:.85fr 1.15fr;gap:110px;padding-block:100px 88px}
.ip-service-story .ip-chapter:first-child{padding-top:0}
.ip-service-detail{margin-top:34px;max-width:330px}
.ip-service-detail img{height:300px;object-position:50% 28%}
.ip-pathways{padding-block:36px 70px}
.ip-pathway-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.ip-pathway{padding:38px 40px 42px;border:1px solid #fff;background:linear-gradient(125deg,#ffffffce,#ffffff66);border-radius:24px;box-shadow:0 22px 45px -34px #38463240;scroll-margin-top:40px}
.ip-pathway .ip-label{font-size:11px;letter-spacing:.06em}
.ip-pathway h3{font-size:30px;margin-bottom:24px}
.ip-pathway .ip-copy p{font-size:17px}
.ip-cat{padding-block:38px 76px;display:grid;grid-template-columns:.85fr 1.15fr;gap:110px;align-items:center}
.ip-cat-photo img{height:450px;object-position:50% 34%}
.ip-cat .ip-copy{margin-top:28px}
.ip-more{padding-block:55px;display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:start}
.ip-more .ip-copy{margin-top:20px}
.ip-small-faq details{border-bottom:1px solid #c6cbc2;padding:20px 0}
.ip-small-faq summary{display:flex;gap:20px;font-size:19px;line-height:1.4;min-height:40px;list-style:none}
.ip-small-faq summary>span{font-size:25px;color:var(--brand);font-weight:300;flex:none}
.ip-small-faq [open] summary>span{transform:rotate(45deg)}
.ip-small-faq details>p{font-size:16px;line-height:1.8;margin-top:20px;padding-right:24px}
/* Treatment collection: photography above two floating reading panels. */
.ip-treatment-intro{padding-block:22px 52px;text-align:center}
.ip-treatment-intro .ip-deck{margin:28px auto 0;max-width:62ch}
.ip-treatment-collection{display:grid;grid-template-columns:1fr 1fr;gap:38px;padding-bottom:20px}
.ip-treatment-card{display:block;min-width:0}
.ip-treatment-image{overflow:hidden;border-radius:5px;margin-inline:10px}
.ip-treatment-image .ip-photo{height:365px}
.ip-treatment-image img{transition:transform .6s ease;object-position:50% 36%}
.ip-treatment-card:first-child .ip-treatment-image img{object-position:60% 45%}
.ip-treatment-card:hover .ip-treatment-image img{transform:scale(1.025)}
.ip-treatment-card-copy{position:relative;margin:-45px 30px 0;padding:32px 34px;background:linear-gradient(135deg,#fffffff2,#f6f7f0b8);border:1px solid #fff;border-radius:22px;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 24px 45px -30px #3e493d40}
.ip-treatment-card-copy h2{font-size:36px;margin-block:18px}
.ip-treatment-card-copy p{font-size:16px;line-height:1.7}
.ip-treatment-card-copy .ip-link{margin-top:15px}
/* Washing: image is the setting, glass is the reading surface. */
.ip-bath-hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;padding-block:16px 62px}
.ip-bath-photo{height:570px}
.ip-bath-photo img{object-position:57% center}
.ip-bath-panel{position:relative;margin-left:-76px;padding:46px 44px;border:1px solid #fff;background:linear-gradient(135deg,#ffffffdf,#f0f2ec99);border-radius:24px;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 24px 55px -36px #30382d55}
.ip-bath-panel h1{font-size:52px}
.ip-bath-panel .ip-deck{margin-top:26px}
.ip-treatment-steps{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:26px;padding-top:22px;border-top:1px solid #c8cdc4;font-size:12px;color:var(--muted)}
.ip-wash-story{padding-block:60px 72px}
.ip-wash-columns{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.ip-wash-columns .ip-chapter{padding-top:0;border:0}
.ip-wash-columns .ip-chapter h2{font-size:25px}
.ip-first-visit{display:grid;grid-template-columns:1.1fr 1fr;gap:72px;align-items:center;padding-block:20px 74px}
.ip-brushing-photo img{height:470px;object-position:45% center}
.ip-first-copy .ip-copy{margin-top:24px}
/* Ozone: a salon portrait, not an invented image of the treatment. */
.ip-ozone-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:90px;align-items:center;padding-block:18px 64px}
.ip-ozone-photo img{height:580px;object-position:50% 32%}
.ip-ozone-note{margin-top:40px;padding:26px 30px;border-left:2px solid #a98789;background:linear-gradient(100deg,#ffffffb8,#ffffff00)}
.ip-ozone-note .ip-label{display:block;font-size:10px;margin-bottom:14px}
.ip-ozone-note p{font-size:23px;line-height:1.5;letter-spacing:-.02em;color:var(--ink)}
.ip-ozone-conversation{display:grid;grid-template-columns:.75fr 1.25fr;gap:85px;padding-block:72px}
.ip-conversation-sheet{padding:36px 40px}
.ip-conversation-list{margin-top:34px}
.ip-conversation-list>div{display:flex;gap:22px;align-items:start;padding:18px 0;border-top:1px solid #cdd1c8}
.ip-conversation-list span{font-size:11px;color:var(--brand);padding-top:6px}
.ip-conversation-list p{font-size:16px;line-height:1.6}
/* The address, the real door, then the exact business map. */
.ip-location-hero{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:90px;padding-block:16px 54px}
.ip-address{display:flex;flex-direction:column;gap:6px;font-size:24px;font-style:normal;line-height:1.5;margin-top:32px;color:var(--ink);letter-spacing:-.015em}
.ip-address span{font-size:17px;color:var(--muted);letter-spacing:0}
.ip-location-hero .ip-related{flex-direction:column;align-items:start;gap:4px}
.ip-door-photo img{height:460px;object-position:50% 28%}
.ip-location-map{padding:24px;border-radius:24px;background:linear-gradient(120deg,#ffffffd6,#ffffff70);border:1px solid #fff;box-shadow:0 28px 56px -35px #303c3040}
.ip-map-frame{height:480px;border-radius:12px;overflow:hidden;background:#dde1d9}
.ip-map-frame iframe{width:100%;height:100%;border:0;display:block}
.ip-map-caption{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-top:12px;font-size:13px;color:var(--muted)}
.ip-map-caption .ip-link{font-size:13px}
.ip-location-notes{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-block:94px 45px}
.ip-location-notes .ip-copy{margin-top:25px}
.ip-location-notes .ip-link{margin-top:18px}
/* Shared refinements: page links and a quiet route indicator. */
.site-harmony .treatment-nav[data-current="true"]>summary{color:var(--brand)}
.site-harmony .elegant-header .treatment-links>a.eh-treatment-overview{min-height:70px;border-bottom:1px solid #d7dbd2;border-radius:14px 14px 0;margin-bottom:4px}
.site-harmony .elegant-header .eh-treatment-overview .eh-treatment-title{font-size:14px}
@media(max-width:1100px){
 .ip-shell{width:calc(100% - 72px)}
 .ip-hero,.ip-services-hero,.ip-ozone-hero,.ip-location-hero{gap:40px}
 .ip-main h1{font-size:50px}
 .ip-hero-media{padding-left:12px}.ip-photo-note{left:-12px;right:24px;padding:22px}
 .ip-welcome-photo{height:520px}.ip-service-portrait img{height:350px}
 .ip-manifesto,.ip-journey,.ip-service-story,.ip-cat,.ip-more,.ip-ozone-conversation{gap:52px}
 .ip-journey-sheet{padding-inline:30px}
 .ip-ending-glass{padding:40px;gap:40px}
 .ip-bath-panel{margin-left:-45px;padding:36px}.ip-bath-panel h1{font-size:44px}
 .ip-open-grid{gap:28px}.ip-pathway{padding:30px}.ip-first-visit{gap:40px}
 .ip-service-index{column-gap:24px;padding-inline:26px}
 .ip-service-index a{font-size:14px;gap:10px}
}
@media(max-width:800px){
 .ip-shell{width:calc(100% - 48px)}
 .ip-main{padding-bottom:52px}
 .ip-breadcrumb{padding-block:20px 24px;font-size:11px;gap:9px}
 .ip-main h1{font-size:clamp(37px,7vw,52px);line-height:1.13}
 .ip-main h2{font-size:32px}
 .ip-main h3{font-size:25px}
 .ip-main p,.ip-main .ip-deck,.ip-deck p{font-size:17px;line-height:1.65}
 .ip-main .ip-label{font-size:11px;margin-bottom:20px}
 .ip-hero,.ip-services-hero,.ip-ozone-hero,.ip-location-hero{grid-template-columns:1fr;gap:35px;padding-block:12px 50px}
 .ip-hero-copy{padding:0}.ip-deck{margin-top:24px}
 .ip-hero-media{padding:0 0 34px 0;width:100%;max-width:550px;margin-inline:auto}
 .ip-welcome-photo{height:470px}.ip-photo-note{left:16px;right:16px;bottom:0;border-radius:20px;font-size:22px}
 .ip-manifesto{grid-template-columns:1fr;gap:28px;padding-block:36px 54px}
 .ip-manifesto .ip-copy>p:first-child{font-size:21px}
 .ip-journey{grid-template-columns:1fr;gap:30px;padding-block:28px 42px}
 .ip-sticky{position:static}.ip-chapter-nav{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}.ip-chapter-nav a{display:block;font-size:13px}.ip-chapter-nav a span{display:block;margin-bottom:6px}
 .ip-journey-sheet{padding:0 26px;border-radius:20px}
 .ip-chapter{padding-block:30px}.ip-chapter-top{gap:18px;margin-bottom:22px}.ip-main .ip-chapter h2{font-size:26px}
 .ip-attentions{padding-block:42px}.ip-section-heading{margin-bottom:30px}
 .ip-open-grid{grid-template-columns:1fr;gap:28px}.ip-open-grid h3{max-width:none;font-size:22px;margin-bottom:14px}.ip-open-grid article{padding-top:22px}
 .ip-ending{padding-top:34px}.ip-ending-glass{grid-template-columns:1fr;gap:30px;padding:30px 28px;border-radius:20px}.ip-ending .ip-copy{margin-top:20px}
 .ip-ending-actions{gap:13px}.ip-ending-actions>p{font-size:12px;max-width:43ch}.ip-related{gap:0 24px;margin-top:18px}
 .ip-service-portrait{transform:rotate(2deg);max-width:360px;margin:0 auto;padding:0 12px 12px}.ip-service-portrait img{height:330px;margin-top:12px}
 .ip-service-index{grid-template-columns:1fr 1fr;column-gap:20px;padding:18px 24px;border-radius:20px}.ip-service-index a{font-size:14px;align-items:start;padding-block:16px}
 .ip-service-story{grid-template-columns:1fr;gap:34px;padding-block:62px 42px}.ip-service-detail{display:none}
 .ip-pathways{padding-block:28px 42px}.ip-pathway-grid{grid-template-columns:1fr;gap:24px}.ip-pathway{padding:28px;border-radius:20px}.ip-pathway h3{font-size:27px}
 .ip-cat{grid-template-columns:.85fr 1.15fr;gap:28px;padding-block:28px 42px}.ip-cat-photo img{height:400px}
 .ip-more{grid-template-columns:1fr;gap:30px;padding-block:32px}
 .ip-treatment-intro{padding-block:12px 36px;text-align:left}.ip-treatment-intro .ip-deck{margin-top:24px}
 .ip-treatment-collection{gap:22px}.ip-treatment-image{margin-inline:0}.ip-treatment-image .ip-photo{height:275px}
 .ip-treatment-card-copy{margin:-30px 10px 0;padding:24px 22px;border-radius:20px}.ip-treatment-card-copy h2{font-size:28px}.ip-treatment-card-copy p{font-size:15px}.ip-treatment-card-copy .ip-link{font-size:14px}
 .ip-bath-hero{grid-template-columns:1fr;padding-block:8px 40px}.ip-bath-photo{height:390px}.ip-bath-photo img{object-position:50% 50%}
 .ip-bath-panel{margin:-34px 14px 0;padding:30px;border-radius:20px}.ip-bath-panel h1{font-size:38px}.ip-bath-panel .ip-deck{margin-top:24px}
 .ip-wash-story{padding-block:32px}.ip-wash-columns{grid-template-columns:1fr;gap:0}.ip-wash-columns .ip-chapter{padding-block:26px}.ip-wash-columns .ip-chapter+.ip-chapter{border-top:1px solid #c6ccc0}
 .ip-first-visit{grid-template-columns:1fr;gap:30px;padding-block:20px 42px}.ip-brushing-photo img{height:370px}
 .ip-ozone-photo{max-width:500px;width:100%;margin-inline:auto}.ip-ozone-photo img{height:480px}
 .ip-ozone-note{margin-top:28px;padding:20px 25px}.ip-ozone-note p{font-size:22px}
 .ip-ozone-conversation{grid-template-columns:1fr;gap:28px;padding-block:30px 42px}.ip-conversation-sheet{padding:28px;border-radius:20px}.ip-conversation-list p{font-size:16px}
 .ip-door-photo{max-width:500px;width:100%;margin-inline:auto}.ip-door-photo img{height:420px}
 .ip-location-map{padding:12px;border-radius:20px}.ip-map-frame{height:400px;border-radius:10px}.ip-map-caption{padding-inline:5px;font-size:11px}.ip-map-caption .ip-link{font-size:12px}
 .ip-location-notes{grid-template-columns:1fr;gap:40px;padding-block:54px 26px}
}
@media(max-width:520px){
 .ip-treatment-collection{grid-template-columns:1fr;gap:36px}
 .ip-treatment-image .ip-photo{height:330px}.ip-treatment-card-copy{margin:-36px 16px 0;padding:28px}.ip-treatment-card-copy h2{font-size:32px}
 .ip-welcome-photo{height:420px}.ip-main .ip-label{font-size:10px;letter-spacing:.08em}
 .ip-service-index{grid-template-columns:1fr;padding:15px 23px}.ip-service-index a{font-size:15px;padding-block:14px}.ip-service-index a+a{border-top:1px solid #d7dbd2}
 .ip-service-portrait{width:84%}.ip-service-portrait img{height:315px}
 .ip-cat{grid-template-columns:1fr;gap:30px}.ip-cat-photo{max-width:360px}.ip-cat-photo img{height:345px}
 .ip-ending-glass{padding:28px 24px}.ip-ending .ip-primary{width:100%}.ip-ending-actions{align-items:stretch}.ip-phone{font-size:12px}
 .ip-bath-photo{height:330px}.ip-bath-panel{margin:-28px 0 0;padding:28px 24px}.ip-bath-panel h1{font-size:36px}
 .ip-treatment-steps{gap:8px 12px;font-size:11px}.ip-brushing-photo img{height:320px}
 .ip-ozone-photo img{height:420px}.ip-conversation-sheet{padding:26px 24px}
 .ip-address{font-size:22px}.ip-address span{font-size:16px}.ip-door-photo img{height:370px}
 .ip-map-frame{height:360px}.ip-map-caption{align-items:start;flex-direction:column;gap:0;padding-top:14px}
 .ip-chapter-nav{gap:10px}.ip-chapter-nav a{font-size:12px}
}
@media(max-width:360px){.ip-main h1{font-size:34px}.ip-main h2{font-size:28px}.ip-welcome-photo{height:355px}.ip-photo-note{font-size:20px;padding:20px}.ip-main p{font-size:16px}.ip-journey-sheet{padding-inline:22px}.ip-pathway{padding:24px}.ip-treatment-card-copy{margin-inline:9px;padding:24px}.ip-primary{font-size:14px}.ip-bath-panel h1{font-size:33px}.ip-service-portrait img{height:260px}}
@media(prefers-reduced-motion:reduce){.ip-main *{animation:none!important;transition:none!important}.ip-treatment-card:hover img{transform:none}}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.ip-photo-note,.ip-journey-sheet,.ip-conversation-sheet,.ip-ending-glass,.ip-bath-panel,.ip-treatment-card-copy{background:#f7f8f4;backdrop-filter:none;-webkit-backdrop-filter:none}}
/* Same portrait framing as the approved real-photo album. */
.ip-cat-photo{overflow:hidden;border-radius:4px}
.ip-cat-photo img{object-position:50% 0;transform:scale(1.32);transform-origin:50% 0}
/* Shared internal hero and catalogue; revised page-specific images and split composition below. */
.ip-main .ip-unified-hero{background:transparent}
.ip-main .ip-unified-hero h1{font:500 48px/1.12 Manrope,Arial,sans-serif;letter-spacing:-.04em;margin:18px 0 22px;text-wrap:initial}
.ip-unified-hero .eh-panel{box-shadow:inset 0 1px 0 rgba(255,255,255,.95),inset 0 0 0 1px rgba(255,255,255,.7),0 24px 64px -26px rgba(35,39,35,.3)}
.ip-main .ip-unified-hero .eh-kicker{font-size:14px;line-height:1.5;font-weight:500;letter-spacing:.025em;color:var(--brand);margin:0}
.ip-main .ip-unified-hero .eh-description{font-size:18px;line-height:1.6;color:#454743;max-width:55ch;margin:0;letter-spacing:-.012em}
.ip-main .ip-breadcrumb{padding-block:28px 0}
.ip-main .ip-service-catalog{padding-block:64px 24px}
.ip-service-catalog .ip-section-heading{margin-bottom:28px}
.ip-service-catalog .ip-section-heading p:not(.ip-label){margin-top:16px}
.ip-main .ip-catalog-index{display:flex;gap:10px 24px;flex-wrap:wrap;border:0;padding:0 0 32px;margin:0;background:none}
.ip-main .ip-catalog-index a{padding:9px 0;min-height:44px;border:0;color:var(--brand);font-size:14px;text-decoration:underline;text-underline-offset:5px;gap:0}
.ip-main .ip-catalog-index a::before,.ip-main .ip-catalog-index a::after{display:none}
.ip-photo-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:start}
.ip-photo-service{min-width:0;overflow:hidden;border:1px solid rgba(255,255,255,.95);border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.86),rgba(255,255,255,.48));box-shadow:0 22px 60px -38px rgba(41,49,42,.24);scroll-margin-top:32px}
.ip-photo-service:target{outline:2px solid #7a303866;outline-offset:6px}
.ip-service-image{height:300px;overflow:hidden}
.ip-service-image img{display:block;border-radius:0;object-position:50% 30%}
.ip-photo-service:nth-child(2) .ip-service-image img{object-position:50% 35%}
.ip-photo-service:nth-child(3) .ip-service-image img{object-position:50% 42%}
.ip-photo-service:nth-child(4) .ip-service-image img{object-position:50% 45%}
.ip-photo-service:nth-child(5) .ip-service-image img{object-position:50% 40%}
.ip-photo-service:nth-child(6) .ip-service-image img{object-position:50% 14%}
.ip-service-content{padding:32px}
.ip-service-content .ip-label{margin:0 0 14px}
.ip-service-content h3{margin:0 0 18px;min-height:68px}
.ip-service-content>p:not(.ip-label){font-size:17px;line-height:1.65;min-height:84px}
.ip-service-details{margin-top:24px;border-top:1px solid #d3d4d0}
.ip-service-details summary{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;color:var(--brand);font-size:15px;font-weight:500;list-style:none}
.ip-service-details summary::-webkit-details-marker{display:none}
.ip-service-details summary span{font-size:24px;line-height:1;transition:transform .2s}
.ip-service-details[open] summary span{transform:rotate(45deg)}
.ip-service-details .ip-copy{padding-top:8px}
.ip-service-details .ip-copy p{font-size:16px;line-height:1.7}
.ip-service-details summary:focus-visible{outline:2px solid var(--brand);outline-offset:4px}
.ip-main .ip-treatment-collection{padding-top:64px;gap:32px}
.ip-main .ip-treatment-card{border:1px solid #fff;border-radius:24px;background:var(--site-glass);box-shadow:0 22px 60px -38px rgba(41,49,42,.24);overflow:hidden}
.ip-main .ip-treatment-image{margin:0;border-radius:0}
.ip-main .ip-treatment-card-copy{margin:0;padding:32px;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.ip-main .ip-treatment-card-copy h2{font-size:32px}
.ip-main .ip-door-photo img{height:auto;aspect-ratio:1122/1402;object-fit:contain;border-radius:20px}
@media(max-width:1100px){.ip-main .ip-unified-hero h1{font-size:44px}.ip-service-content{padding:26px}}
@media(max-width:800px){
 .ip-main .ip-unified-hero h1{font-size:clamp(34px,5.5vw,38px);line-height:1.14;letter-spacing:-.035em}
 .ip-main .ip-service-catalog,.ip-main .ip-treatment-collection{padding-top:44px}
 .ip-main .ip-breadcrumb{padding-top:24px}
 .ip-photo-services{gap:22px}
 .ip-photo-service,.ip-main .ip-treatment-card{border-radius:20px}
 .ip-service-image{height:260px}
 .ip-service-content{padding:24px}
 .ip-service-content h3{font-size:25px;min-height:64px}
 .ip-service-content>p:not(.ip-label){min-height:112px}
}
@media(max-width:600px){.ip-photo-services{grid-template-columns:1fr;gap:28px}.ip-service-image{height:290px}.ip-service-content h3,.ip-service-content>p:not(.ip-label){min-height:0}.ip-catalog-index{column-gap:18px}.ip-main .ip-treatment-card-copy{padding:26px}}
@media(max-width:360px){.ip-service-image{height:250px}}
@media(prefers-reduced-motion:reduce){.ip-service-details summary span{transition:none}}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.ip-photo-service,.ip-main .ip-treatment-card{background:#f4f4f2}.ip-unified-hero .eh-panel{box-shadow:none}}
/* Revised internal opening: two adjacent fields, distinct from the homepage overlay. */
.ip-main .ip-unified-hero .eh-immersive{padding:20px 48px 0}
.ip-main .ip-unified-hero .eh-stage{display:grid;grid-template-columns:1fr 1.2fr;align-items:stretch;max-width:1200px;min-height:0;overflow:hidden;border:1px solid #fff;border-radius:24px;background:linear-gradient(125deg,#ffffffb8,#edf0e8a6);box-shadow:0 24px 64px -38px #292a293d}
.ip-main .ip-unified-hero .eh-stage>.eh-photo{position:relative;inset:auto;order:2;height:560px;background:#e5e7e1}
.ip-main .ip-unified-hero .eh-photo img{object-position:50% 50%}
.ip-main .ip-unified-hero .eh-panel{order:1;display:flex;align-items:center;width:auto;margin:0;padding:44px 40px;background:transparent;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.ip-main .ip-unified-hero .eh-copy{max-width:none;margin:0}
.ip-main .ip-unified-hero h1{font-size:44px}
.ip-main .ip-unified-hero .eh-stage{background-image:none}
@media(max-width:1100px){.ip-main .ip-unified-hero .eh-panel{padding:32px}.ip-main .ip-unified-hero h1{font-size:38px}.ip-main .ip-unified-hero .eh-stage>.eh-photo{height:540px}}
@media(max-width:800px){
 .ip-main .ip-unified-hero .eh-immersive{padding:16px 24px 0}
 .ip-main .ip-unified-hero .eh-stage{grid-template-columns:1fr;border-radius:20px}
 .ip-main .ip-unified-hero .eh-panel{padding:32px 24px}
 .ip-main .ip-unified-hero h1{font-size:clamp(32px,5.5vw,38px)}
 .ip-main .ip-unified-hero .eh-stage>.eh-photo{height:auto;aspect-ratio:3/2;min-height:0}
 .ip-main .ip-unified-hero .eh-photo picture{height:100%}
}
@media(max-width:360px){.ip-main .ip-unified-hero .eh-panel{padding:28px 20px}.ip-main .ip-unified-hero h1{font-size:30px}.ip-main .ip-unified-hero .eh-primary{font-size:14px;padding-inline:14px}}
