/* Visual refinement. All effects work without JavaScript or external assets. */
:root{--paper:#faf7f1;--ink:#2a4035;--green:#3c5948;--muted:#687064;--gold:#a18455;--line:#dedfd3;--cream:#edf0e5}
body{background-image:radial-gradient(ellipse at 95% 18%,#eee9d94d,transparent 40%);-webkit-font-smoothing:antialiased}
::selection{background:#d8dfc9;color:#243c30}
.header{position:relative;z-index:5;background:#faf7f1e8;border-color:#d9d8ca99}
.header-inner{padding-block:24px}
.brand-symbol{color:#7d865c;transition:transform .6s ease}
.brand:hover .brand-symbol{transform:rotate(25deg)}
.header nav a{position:relative;border:0!important}
.header nav a::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.header nav a:hover::after,.header nav a[aria-current]::after{transform:scaleX(1)}
.header-phone{border:1px solid #d7dacb;border-radius:50px;padding:10px 17px;transition:background .2s}
.header-phone:hover{background:var(--cream)}
.hero{min-height:720px;position:relative;isolation:isolate;grid-template-columns:1.02fr 1fr;padding-bottom:35px}
.hero::before{content:"";position:absolute;width:570px;height:570px;right:-60px;top:50px;border-radius:50%;background:radial-gradient(circle,#eee9d1 0%,#eee9d100 70%);z-index:-1;pointer-events:none}
.home main{overflow:clip}
.hero-copy{padding-top:108px;padding-bottom:50px;position:relative;z-index:2}
.hero .eyebrow{display:flex;align-items:center;gap:10px;letter-spacing:.14em;font-size:.65rem}
.hero .eyebrow::before{content:"";height:6px;width:6px;background:#829066;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 4px #82906612}
.hero h1{font-size:clamp(4rem,7.2vw,7rem);line-height:1.04;letter-spacing:-.06em;margin-bottom:32px}
.hero h1 em{color:#78845b;position:relative}
.hero h1 em::after{content:"";position:absolute;height:10px;left:3%;right:0;bottom:-12px;border-top:1px solid #a3a77f;border-radius:50%;transform:rotate(-3deg)}
.hero-description{font-size:1.12rem;line-height:1.8;margin-bottom:29px}
.hero-actions{display:flex;align-items:center;gap:23px;flex-wrap:wrap}
.button{border-radius:50px;padding:13px 24px 13px 27px;gap:24px;box-shadow:0 7px 18px #253d320c;transition:background .25s,transform .25s,box-shadow .25s}
.button>span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#ffffff14;transition:transform .25s}
.button:hover{transform:translateY(-3px);box-shadow:0 12px 25px #253d321a}
.button:hover>span{transform:translate(2px,-2px)}
.hero-discover{font-size:.74rem;text-decoration:none;display:flex;align-items:center;gap:13px;padding-block:10px}
.hero-discover span{color:var(--gold);font-size:1.1rem;transition:transform .2s}
.hero-discover:hover span{transform:translateY(4px)}
.hero-note{margin-top:35px;font-size:.72rem;color:#767967}
.hero-visual{margin:44px 45px 30px 10px;overflow:visible;min-width:0;min-height:540px;position:relative}
.hero-photo-frame{position:absolute;inset:0;border-radius:48% 48% 6px 6px;overflow:hidden;box-shadow:0 23px 50px #6d634f12;background:#e9e2c7}
.hero-photo-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#faf0d400 55%,#3b422734 100%);pointer-events:none}
.hero-image{object-position:51% center;transform:scale(1.015)}
.hero-visual::before{content:"";position:absolute;inset:-13px 13px 17px -13px;border:1px solid #c4bea0;border-radius:48% 48% 6px 6px;z-index:-1}
.image-caption{left:-27px;right:auto;bottom:30px;background:#fffdf6f5;backdrop-filter:blur(9px);padding:23px 30px;box-shadow:0 15px 40px #40452b12;font-size:1.28rem;line-height:1.5;border-left:2px solid #b8ad7b;max-width:calc(100% + 10px)}
.image-caption em{color:#7e845e}
.hero-seal{position:absolute;right:-27px;top:31%;width:112px;height:112px;border-radius:50%;background:#f4f0e4;color:#65734f;border:1px solid #c2c6ad;box-shadow:0 7px 22px #4e53331a;display:grid;place-items:center;transform:rotate(9deg)}
.hero-seal::after{content:"";position:absolute;inset:6px;border:1px dashed #c2c6ad;border-radius:50%}
.hero-seal>span{text-align:center;font-size:.56rem;line-height:1.5;letter-spacing:.14em}
.hero-seal i{font:italic 1.8rem/1.15 Georgia,serif;letter-spacing:0}
.intro{padding-block:65px 100px;position:relative}
.intro::before{content:"";display:block;height:1px;background:linear-gradient(90deg,#c8ccba,transparent);margin-bottom:52px}
.intro>.eyebrow{color:var(--gold)}
.intro-grid h2{font-size:clamp(2.3rem,3.45vw,3.45rem);max-width:none}
.intro-grid .large{font-family:Georgia,serif;font-size:1.58rem;line-height:1.55;letter-spacing:-.02em;margin-bottom:22px}
.section-top .eyebrow{color:var(--gold);margin-bottom:15px}
.service-pair{gap:32px;align-items:stretch}
.service-preview{padding:0!important;border-radius:6px 6px 24px 6px;overflow:hidden;box-shadow:0 10px 30px #334b3410;transition:transform .35s,box-shadow .35s}
.service-preview:nth-child(2){background:#f0e8dc;border-radius:6px 6px 6px 24px}
.service-preview:hover{transform:translateY(-5px);box-shadow:0 18px 35px #334b3419}
.service-photo{position:relative;width:100%;height:245px;overflow:hidden;background:#d8d8bf}
.service-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#2435283b,transparent 55%)}
.service-image{width:100%;height:100%;object-fit:cover;object-position:50% 42%;transition:transform .65s ease}
.service-preview:hover .service-image{transform:scale(1.045)}
.service-inner{padding:30px 38px 35px;display:flex;flex-direction:column;align-items:start;flex:1}
.service-preview-head{padding-bottom:15px;margin-bottom:24px}
.service-preview-head>span:last-child{color:var(--gold)}
.service-preview h3{font-size:2.5rem;margin-bottom:23px}
.service-preview ul{line-height:1.8}
.text-link{border-color:#adb59e;gap:30px;transition:gap .25s,color .25s}
.text-link:hover{gap:38px;color:#78845b}
.about-strip{padding-block:40px 120px;gap:100px}
.portrait-wrap{border-radius:28px 75px 28px 28px;padding:12px;background:#e6e6d8;box-shadow:0 18px 35px #3e4d2d0c;max-width:410px;justify-self:center;width:100%}
.portrait{border-radius:19px 65px 19px 19px;aspect-ratio:7/10;object-fit:cover;object-position:left top}
.portrait-wrap::after{content:"✳";position:absolute;left:-25px;bottom:40px;font-size:5rem;color:#a7af83;line-height:1}
.portrait-label{bottom:30px;padding:10px 28px;border:1px solid #dfdecd;box-shadow:0 8px 25px #3b4a3010;transform:rotate(-5deg);z-index:1}
.about-strip>div:last-child{position:relative}
.about-strip>div:last-child::before{content:"“";position:absolute;font:12rem/1 Georgia,serif;color:#e5e7d7;top:-60px;right:0;z-index:-1}
.about-strip .eyebrow{color:var(--gold)}
.about-strip h2{font-size:clamp(2.2rem,3vw,3rem);line-height:1.22}
.room-grid{grid-template-columns:1fr 1.15fr;gap:27px 30px;align-items:stretch}
.room-grid figure{margin:0;min-width:0}
.room-grid figure:first-child{grid-row:span 2;display:flex;flex-direction:column}
.room-grid figure:first-child img{height:0;min-height:0;flex:1;width:100%;aspect-ratio:auto;object-position:55% center}
.room-grid figure:nth-child(2){margin-top:0}
.room-grid figure:not(:first-child) img{aspect-ratio:1.8}
.room-grid img{border-radius:5px 5px 22px 5px;aspect-ratio:1.42;box-shadow:0 12px 25px #253d320d}
.room-grid figcaption{padding-top:17px;font:italic 1.1rem/1.6 Georgia,serif;color:#69715d}
.room-grid figcaption span{display:block;font:9px/1.9 "Segoe UI",Arial,sans-serif;letter-spacing:.16em;color:#888575;margin-bottom:3px}
.contact-band{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 90% 100%,#71805a66,transparent 60%),var(--green);padding-block:72px}
.contact-band::before,.contact-band::after{content:"";position:absolute;border:1px solid #faf7f11c;width:430px;height:430px;right:-120px;top:-165px;border-radius:50%;z-index:-1;pointer-events:none}
.contact-band::after{width:490px;height:490px;right:-150px;top:-195px}
.contact-band .eyebrow{color:#cdd7b6}
.contact-band h2{font-size:2.85rem}
.contact-band>.button{position:relative;flex-shrink:0}
.button.light>span{background:#3c59480c}
.footer-brand{color:#5d7055}
.footer-links a{font-size:.76rem;text-decoration:none}
.footer-links a:hover{text-decoration:underline}
.page-hero{position:relative;padding-top:85px}
.page-hero::after{content:"";display:block;margin-top:36px;width:80px;height:1px;background:#a8ad8c}
.page-hero>.eyebrow,.about-page .eyebrow,.journey>.eyebrow{color:var(--gold)}
.treatment{border:1px solid #e2e3d6;background:#f1f1e7;border-radius:7px 7px 20px 7px;overflow:hidden;box-shadow:0 7px 20px #2e423107;transition:box-shadow .25s,transform .25s}
.treatment:hover{box-shadow:0 12px 30px #2e423112;transform:translateY(-3px)}
.treatment>img{aspect-ratio:2.1;object-position:center 42%}
.treatment-copy{padding:34px}
.treatment summary{color:var(--green)}
.treatment details[open]{background:#ffffff45;margin-inline:-13px;padding:15px 13px;border-radius:6px}
.product-section>details{border:1px solid var(--line);padding:22px 26px;border-radius:8px;background:#eeeee34d}
.about-photo{border-radius:28px 75px 28px 28px;overflow:hidden;border:12px solid #edecdf;box-shadow:0 20px 35px #3b4a3010}
.about-portrait{aspect-ratio:4/5;object-fit:cover;object-position:50% 10%}
.product-section img.centropix-logo{width:260px;max-width:100%;height:auto;max-height:none;margin:28px 0}
.product-section img.centropix-product{width:100%;max-width:100%;height:320px;max-height:none;object-fit:contain;background:#fff;padding:22px;border:1px solid #e4e4d9;border-radius:14px;margin:25px 0 30px}
.centropix-gallery{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:25px 0 35px}
.centropix-gallery figure{margin:0;min-width:0;text-align:center}
.centropix-gallery figure img.centropix-product{height:330px;margin:0 0 12px}
.centropix-gallery figcaption{font-size:.82rem;color:var(--muted)}
@media(max-width:600px){.centropix-gallery{grid-template-columns:1fr}.product-section img.centropix-product{height:270px;padding:17px}.centropix-gallery figure img.centropix-product{height:310px}}
.journey>div{padding-top:30px}
.journey strong{font-style:italic}
.contact-photo{border-radius:45% 45% 8px 8px;overflow:hidden;box-shadow:0 17px 35px #3b4a3012}
.contact-details>div{padding-bottom:25px;margin-bottom:25px}
.contact-details>div>span{color:var(--gold)}
@media(min-width:701px) and (max-width:1100px){.hero{min-height:660px}.hero-copy{padding-top:85px;padding-left:35px;padding-right:20px}.hero h1{font-size:clamp(3.5rem,7.3vw,5rem)}.hero-visual{margin-right:35px;margin-top:50px;min-height:500px}.hero-seal{width:90px;height:90px;right:-17px}.hero-discover{font-size:.68rem}.hero-actions{gap:13px}.about-strip{gap:55px}.service-inner{padding:25px}.service-photo{height:205px}.service-preview h3{font-size:2rem}}
@media(max-width:700px){.header-inner{padding:19px 20px 16px}.header nav{gap:10px;margin-top:16px}.header nav a{font-size:.7rem}.hero{display:flex;min-height:0;padding-bottom:0}.hero::before{width:380px;height:380px;right:-90px;top:360px}.hero-copy{padding:43px 24px 32px}.hero .eyebrow{font-size:.57rem;letter-spacing:.1em;gap:9px;margin-bottom:25px}.hero h1{font-size:clamp(3.1rem,14.7vw,4.7rem);line-height:1.08;margin-bottom:30px}.hero h1 em::after{bottom:-8px}.hero-description{font-size:1rem;line-height:1.7}.hero-actions{gap:13px}.button{padding:11px 18px 11px 22px;font-size:.78rem;gap:17px}.hero-discover{font-size:.7rem}.hero-note{margin-top:24px;font-size:.68rem}.hero-visual{height:390px;min-height:0;margin:15px 33px 27px 33px}.hero-photo-frame{border-radius:47% 47% 5px 5px}.hero-visual::before{inset:-10px 10px 12px -10px}.hero-seal{width:87px;height:87px;right:-18px;top:35%}.hero-seal>span{font-size:.46rem}.hero-seal i{font-size:1.5rem}.image-caption{left:-12px;bottom:20px;padding:15px 22px;font-size:1.1rem}.intro{padding-block:35px 60px}.intro::before{margin-bottom:35px}.intro-grid h2{font-size:2.5rem}.intro-grid .large{font-size:1.35rem}.service-pair{gap:25px}.service-photo{height:190px}.service-inner{padding:26px}.service-preview h3{font-size:2.2rem}.service-photo>span{font-size:3rem;left:24px}.service-preview ul{font-size:.86rem}.about-strip{padding-block:15px 65px;gap:42px}.portrait-wrap{margin-inline:12px;max-width:340px}.portrait-wrap::after{font-size:4rem;left:-20px}.portrait-label{right:-15px}.about-strip h2{font-size:2.25rem}.about-strip>div:last-child::before{font-size:9rem;top:-40px}.room-grid{grid-template-columns:1fr;gap:28px}.room-grid figure:nth-child(2){margin-top:0}.room-grid img{aspect-ratio:1.45}.room-grid figcaption{padding-top:10px}.practice{padding-bottom:60px}.contact-band{padding-block:45px}.contact-band h2{font-size:2.15rem}.contact-band::before{right:-250px}.contact-band::after{right:-280px}.page-hero{padding-top:44px}.page-hero h1{font-size:clamp(2.6rem,10.4vw,3.3rem)}.page-hero::after{margin-top:25px}.treatment-copy{padding:27px}.treatment>img{aspect-ratio:1.95}.contact-photo{border-radius:40% 40% 8px 8px}.contact-photo img{min-height:360px}.product-section>details{padding:20px}.legal h1{font-size:2.3rem}}
@media(max-width:370px){.hero .eyebrow{font-size:.5rem}.hero-discover{padding-top:3px}.hero-visual{height:350px}.hero-seal{width:77px;height:77px}.header nav a{font-size:.64rem}.hero h1{font-size:14.7vw}.journey>div{gap:12px}.journey p{font-size:.7rem;min-width:0}}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:arrive .7s ease-out both}.hero-visual{animation:arrive .9s .08s ease-out both}@keyframes arrive{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:700px){.room-grid figure:first-child{grid-row:auto;display:block}.room-grid figure:first-child img{height:auto;aspect-ratio:3/4;flex:none;object-position:center}.room-grid figure:not(:first-child) img{aspect-ratio:1.45}}
.treatment-raindrop>img{aspect-ratio:4/3;object-fit:contain;background:#e7e9dd}
.centropix-kloud-human{margin:25px 0 35px;text-align:center}.centropix-kloud-human figcaption{font-size:.82rem;color:var(--muted)}
.creator-credit{margin:3rem 0 0;padding-top:1rem;border-top:1px solid var(--line);font-size:.68rem;line-height:1.6;color:#72776b}
.legal-date{font-size:.8rem;color:var(--muted)}
.legal-review{padding:20px 23px;background:#efe9d9;border-left:3px solid #aa8c52;border-radius:4px;margin:25px 0 35px;font-size:.86rem}
.legal-review p{margin:8px 0 0}.legal-open-item{background:#efe9d9;padding:14px 18px;border-radius:4px}
