@import url('https://fonts.googleapis.com/css2?family=Italiana&family=Montserrat:wght@400;500;600;700&family=Noto+Sans+Arabic:wght@400;500;600;700&display=swap');

:root { --plum:#95586c; --plum-2:#bd788b; --pink:#c86f8a; --blush:#f1dde2; --ivory:#fcf9f6; --paper:#ffffff; --ink:#2b2527; --muted:#746a66; --line:#ded4cd; --sage:#aab8ad; --slate:#34444a; --gold:#c6a873; --soft:#f8efed; --shadow:0 24px 70px rgba(83,61,67,.09); --space-1:8px; --space-2:16px; --space-3:24px; --space-4:32px; --space-5:48px; --space-6:64px; --space-7:96px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--ivory); font-family:"Montserrat",sans-serif; line-height:1.6; overflow-x:hidden; }
.locale-ar { font-family:"Noto Sans Arabic",sans-serif; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
.shell { width:min(1280px,calc(100% - 64px)); margin-inline:auto; }
.section { padding:130px 0; }
h1,h2,h3 { margin:0; font-family:"Italiana",serif; line-height:1.08; font-weight:400; letter-spacing:0; }
.locale-ar h1,.locale-ar h2,.locale-ar h3 { font-family:"Noto Sans Arabic",sans-serif; letter-spacing:0; }
.site-header { position:absolute; z-index:20; inset:0 0 auto; padding:24px 0; }
.nav { display:flex; align-items:center; gap:30px; min-height:68px; }
.brand { display:flex; align-items:center; gap:10px; margin-inline-end:auto; font-size:1.18rem; }
.brand-logo { width:58px; height:58px; object-fit:contain; border-radius:18px; }
.brand strong { color:var(--pink); }
.nav-links { display:flex; gap:29px; font-size:.85rem; font-weight:600; }
.nav-links a { position:relative; }
.nav-links a::after { content:""; position:absolute; inset:auto 0 -7px; height:1px; background:var(--pink); transform:scaleX(0); transition:.25s; }
.nav-links a:hover::after { transform:scaleX(1); }
.nav-links a.active::after { transform:scaleX(1); }
.languages { display:flex; padding:4px; border:1px solid var(--line); border-radius:99px; background:rgba(255,255,255,.7); backdrop-filter:blur(10px); }
.languages a { display:grid; place-items:center; min-width:33px; height:32px; border-radius:99px; font-size:.68rem; font-weight:700; }
.languages .active { color:white; background:var(--plum); }
.nav-cta { display:flex; gap:15px; align-items:center; padding:14px 19px; border-bottom:1px solid var(--plum); font-size:.82rem; font-weight:700; }
.nav-cta span { color:var(--pink); font-size:1.1rem; }

.hero { position:relative; min-height:940px; padding-top:150px; overflow:hidden; background:linear-gradient(115deg,#fcfaf7 0%,#f7f4ed 52%,#e5eee9 100%); }
.hero::before { content:"FYRACARE"; position:absolute; inset:auto auto 105px -25px; color:rgba(106,41,70,.035); font:600 clamp(7rem,18vw,18rem)/1 "Montserrat"; letter-spacing:-.08em; }
.hero-layout { position:relative; z-index:2; display:grid; grid-template-columns:.88fr 1.12fr; align-items:center; gap:50px; min-height:690px; }
.kicker { display:inline-flex; align-items:center; gap:12px; color:var(--pink); font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.kicker i { width:38px; height:1px; background:currentColor; }
.hero-copy { position:relative; z-index:4; padding-inline-start:26px; }
.hero-copy h1 { max-width:650px; margin:24px 0 28px; font-size:clamp(4.1rem,6.8vw,7.5rem); }
.hero-copy h1 em,.services-title-row h2 em,.founder-copy h2 em { color:var(--pink); font-weight:400; }
.hero-copy>p { max-width:560px; color:var(--muted); font-size:1.06rem; }
.hero-actions { display:flex; align-items:center; gap:28px; margin-top:34px; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:30px; min-height:58px; padding:0 25px; color:white; background:var(--plum); border-radius:999px; font-size:.86rem; font-weight:700; box-shadow:0 16px 34px rgba(106,41,70,.16); transition:.25s; }
.button:hover { transform:translateY(-4px); }
.text-action { display:flex; align-items:center; gap:11px; font-size:.84rem; font-weight:700; }
.play { display:grid; place-items:center; width:42px; height:42px; border:1px solid var(--line); border-radius:50%; color:var(--pink); }
.hero-signature { display:flex; align-items:center; gap:13px; margin-top:54px; }
.signature-monogram { display:grid; place-items:center; width:48px; height:48px; color:white; background:var(--plum); border-radius:50%; font:italic 500 1rem Italiana,serif; }
.hero-signature p { margin:0; line-height:1.2; }
.hero-signature strong,.hero-signature small { display:block; }
.hero-signature strong { font:500 1rem Italiana,serif; }
.hero-signature small { margin-top:5px; color:var(--muted); font-size:.68rem; }
.hero-art { position:relative; min-height:650px; }
.hero-photo-main { position:absolute; inset:15px 10px 25px 100px; overflow:hidden; border-radius:0; box-shadow:var(--shadow); }
.hero-photo-main img { width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-photo-main::after { content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(106,41,70,.22),transparent 50%); }
.hero-photo-detail { position:absolute; z-index:3; width:230px; height:285px; inset:auto auto 0 0; padding:9px; background:white; box-shadow:var(--shadow); transform:rotate(-4deg); }
.hero-photo-detail img { width:100%; height:100%; object-fit:cover; }
.hero-note { position:absolute; z-index:4; inset:auto -25px 58px auto; width:275px; padding:26px 28px; color:white; background:rgba(106,41,70,.94); backdrop-filter:blur(12px); border-radius:20px; }
.hero-note span { color:var(--pink); font:4rem/.5 Italiana,serif; }
.hero-note p { margin:12px 0 0; font:400 1.05rem/1.4 Italiana,serif; }
.hero-badge { position:absolute; z-index:4; inset:5px auto auto 45px; display:grid; place-items:center; width:112px; height:112px; text-align:center; color:var(--plum); background:var(--blush); border:1px solid rgba(183,150,91,.35); border-radius:50%; transform:rotate(-8deg); }
.hero-badge strong,.hero-badge small { display:block; }
.hero-badge strong { font:600 1.5rem Italiana,serif; }
.hero-badge small { max-width:75px; font-size:.62rem; line-height:1.2; text-transform:uppercase; }
.hero-orbit { position:absolute; border:1px solid rgba(106,41,70,.14); border-radius:50%; }
.orbit-one { width:650px; height:650px; right:-210px; top:25px; }
.orbit-two { width:410px; height:410px; left:-270px; bottom:90px; }
.hero-strip { position:absolute; z-index:3; inset:auto 0 0; color:white; background:var(--plum); }
.strip-content { display:flex; align-items:center; gap:32px; min-height:90px; }
.strip-content>span { margin-inline-end:auto; color:#d5bbd5; font-size:.69rem; letter-spacing:.13em; text-transform:uppercase; }
.strip-content div { display:flex; align-items:center; gap:10px; font:400 1rem Italiana,serif; }
.strip-content b { color:var(--pink); font:700 .65rem Montserrat,sans-serif; }
.strip-content i { width:45px; height:1px; background:rgba(255,255,255,.25); }

.section-index { color:var(--muted); font-size:.68rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.manifesto { background:var(--paper); }
.manifesto-grid { display:grid; grid-template-columns:180px 1fr 240px; gap:40px; align-items:center; }
.manifesto-copy h2 { max-width:850px; margin:20px 0 26px; font-size:clamp(3rem,5.5vw,6rem); }
.manifesto-copy p { max-width:720px; color:var(--muted); font-size:1.05rem; }
.manifesto-mark { position:relative; color:rgba(106,41,70,.08); font:500 15rem/.8 Italiana,serif; }
.manifesto-mark span { position:absolute; color:var(--pink); font:2rem Montserrat,sans-serif; right:33px; top:27px; }

.services-section { color:white; background:linear-gradient(145deg,#562035 0%,#7a304b 58%,#a45168 100%); }
.services-section .section-index { color:#e2bbd9; }
.section-topline { display:flex; justify-content:space-between; gap:60px; }
.section-topline p { max-width:530px; margin:0; color:#d8c6d7; font-size:.92rem; }
.services-title-row { display:flex; align-items:end; justify-content:space-between; margin:50px 0; }
.services-title-row h2 { max-width:850px; font-size:clamp(3.4rem,6vw,6.8rem); }
.round-link { display:grid; place-items:center; width:76px; height:76px; border:1px solid rgba(255,255,255,.3); border-radius:50%; color:var(--pink); font-size:1.7rem; }
.service-editorial { display:grid; grid-template-columns:1.18fr .82fr .82fr; gap:18px; min-height:580px; }
.service-panel { position:relative; overflow:hidden; min-height:480px; border-radius:0; }
.service-panel img { width:100%; height:100%; object-fit:cover; image-rendering:auto; transition:transform .7s; }
.service-panel:hover img { transform:scale(1.05); }
.service-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(73,28,45,.94),rgba(73,28,45,.04) 65%); }
.service-count { position:absolute; top:24px; left:24px; font-size:.68rem; letter-spacing:.1em; }
[dir="rtl"] .service-count { left:auto; right:24px; }
.service-content { position:absolute; inset:auto 28px 28px; }
.service-content>span { color:#df9ace; font-size:.65rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.service-content h3 { margin:9px 0 12px; font-size:clamp(1.8rem,2.5vw,3rem); letter-spacing:-.025em; }
.service-content p { margin:0; color:#dbcbd9; font-size:.82rem; }
.service-panel>a { position:absolute; top:20px; right:20px; display:grid; place-items:center; width:44px; height:44px; color:var(--plum); background:white; border-radius:50%; }
[dir="rtl"] .service-panel>a { right:auto; left:20px; }
.service-catalog-heading { display:grid; grid-template-columns:180px 1fr .7fr; align-items:end; gap:38px; margin:100px 0 42px; padding-top:52px; border-top:1px solid rgba(255,255,255,.2); }
.service-catalog-heading>span { color:#e8bfdd; font-size:.68rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.service-catalog-heading h3 { font-size:clamp(2.7rem,4.5vw,5rem); }
.service-catalog-heading p { margin:0; color:#eadcea; font-size:.9rem; }
.service-catalog { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.service-card { position:relative; min-height:330px; padding:30px 26px; color:var(--ink); background:rgba(255,254,255,.96); border:1px solid rgba(255,255,255,.38); border-radius:24px; transition:transform .3s,background .3s; }
.service-card:hover { transform:translateY(-8px); background:white; }
.service-card-number { color:#ad94b1; font-size:.65rem; font-weight:700; letter-spacing:.12em; }
.service-card-icon { display:grid; place-items:center; width:50px; height:50px; margin:30px 0 24px; color:var(--pink); background:var(--blush); border-radius:50%; font-size:1.25rem; }
.service-card h3 { min-height:58px; font-size:1.45rem; line-height:1.1; letter-spacing:-.02em; }
.service-card p { margin:16px 0 20px; color:var(--muted); font-size:.77rem; }
.service-price { margin:0; color:var(--plum); font-size:.72rem; }
.service-price strong { font:600 1.45rem Italiana,serif; }
.service-price span { color:var(--muted); font-weight:600; }
.service-card-actions { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:24px; padding-top:15px; border-top:1px solid var(--line); }
.service-card-actions a { display:flex; align-items:center; gap:8px; color:var(--plum); font-size:.72rem; font-weight:700; }
.service-card-actions a:first-child { color:var(--pink); }
.service-detail-hero { padding:180px 0 105px; color:white; background:linear-gradient(125deg,#512337,#8e4e61); }
.service-detail-heading { display:grid; grid-template-columns:1fr auto; align-items:end; gap:28px; }
.detail-back { grid-column:1/-1; width:max-content; color:rgba(255,255,255,.75); font-size:.78rem; font-weight:700; }
.service-detail-heading .hero-pill { grid-column:1/-1; }
.service-detail-heading h1 { max-width:900px; font-size:clamp(3.4rem,6.5vw,7rem); }
.detail-price { padding-bottom:10px; color:#ead7aa; white-space:nowrap; }
.detail-price strong { font:500 2.5rem Italiana,serif; }
.detail-layout { display:grid; grid-template-columns:.9fr 1.1fr; align-items:start; gap:90px; }
.detail-copy { position:sticky; top:35px; }
.detail-copy>p { margin:35px 0; color:var(--muted); font-size:1.05rem; line-height:1.9; }
.detail-gallery { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.detail-gallery figure { display:grid; place-items:center; aspect-ratio:4/3; margin:0; overflow:hidden; background:var(--blush); }
.detail-gallery figure:nth-child(2) { margin-top:90px; }
.detail-gallery img { width:100%; height:100%; object-fit:contain; }
.detail-gallery-open { position:relative; width:100%; height:100%; padding:0; overflow:hidden; border:0; color:white; background:transparent; cursor:zoom-in; }
.detail-gallery-open span { position:absolute; right:18px; bottom:18px; display:grid; place-items:center; width:44px; height:44px; background:rgba(81,35,55,.82); border:1px solid rgba(255,255,255,.4); border-radius:50%; font-size:1.3rem; backdrop-filter:blur(8px); }
.lightbox { width:min(94vw,1400px); height:min(92vh,950px); padding:52px; border:0; background:rgba(30,18,23,.96); }
.lightbox::backdrop { background:rgba(30,18,23,.82); backdrop-filter:blur(12px); }
.lightbox img { width:100%; height:100%; object-fit:contain; }
.lightbox-close { position:absolute; top:12px; right:18px; width:40px; height:40px; border:0; color:white; background:transparent; font-size:2rem; cursor:pointer; }
body.lightbox-open { overflow:hidden; }
.services-more { display:flex; align-items:center; justify-content:space-between; gap:40px; margin-top:42px; padding-top:32px; border-top:1px solid rgba(255,255,255,.2); }
.services-more p { max-width:600px; margin:0; color:#eadcea; font-size:.9rem; }

/* Dedicated, evolutive services catalogue */
.services-page-hero { display:grid; grid-template-columns:1fr 1fr; min-height:720px; color:white; background:linear-gradient(135deg,#552035,#8a3c57); }
.services-page-intro { align-self:center; width:min(640px,calc(100% - 80px)); margin-inline:auto; padding:145px 20px 90px; }
.services-page-intro h1 { max-width:700px; margin:28px 0; font-size:clamp(4.3rem,7vw,7.8rem); }
.services-page-intro h1 em { color:#f1b4ca; font-weight:400; }
.services-page-intro p { max-width:570px; color:rgba(255,255,255,.78); }
.services-page-image { min-height:720px; }
.services-page-image img { width:100%; height:100%; object-fit:cover; }
.services-catalog-section { background:var(--ivory); }
.services-catalog-section .service-catalog-heading { margin-top:0; border-color:var(--line); }
.services-catalog-section .service-catalog-heading>span { color:var(--pink); }
.services-catalog-section .service-catalog-heading h2 { color:var(--ink); font-size:clamp(2.7rem,4.5vw,5rem); }
.services-catalog-section .service-catalog-heading p { color:var(--muted); }
.services-catalog-section .service-card { background:var(--paper); border-color:var(--line); box-shadow:0 18px 55px rgba(106,41,70,.06); }

.login-page { min-height:100vh; display:grid; place-items:center; padding:40px 20px; background:linear-gradient(135deg,#fff9f7,#f8e8ee); }
.login-card { width:min(460px,100%); padding:48px; background:var(--paper); border:1px solid var(--line); box-shadow:var(--shadow); }
.login-card>img { width:72px; height:72px; object-fit:contain; margin-bottom:25px; }
.login-card>span { color:var(--pink); font-size:.68rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.login-card h1 { margin:12px 0 32px; font-size:3.5rem; }
.login-card label { display:block; margin-top:17px; color:var(--muted); font-size:.75rem; font-weight:600; }
.login-card input { width:100%; margin-top:8px; padding:15px; background:white; border:1px solid var(--line); font:inherit; outline:none; }
.login-card input:focus { border-color:var(--pink); }
.login-card button { display:flex; justify-content:space-between; width:100%; margin-top:26px; padding:16px 20px; color:white; background:var(--plum); border:0; font-weight:700; cursor:pointer; }
.login-card>a { display:inline-block; margin-top:23px; color:var(--muted); font-size:.75rem; }
.login-error { margin:0 0 20px; padding:12px; color:#8d253f; background:#fbe8ed; font-size:.78rem; }

.founder-section { background:#f8e8ee; }
.founder-layout { display:grid; grid-template-columns:1.08fr .92fr; align-items:center; gap:110px; }
.founder-visual { position:relative; min-height:650px; }
.founder-photo { position:absolute; z-index:2; inset:35px 0 20px 20px; overflow:hidden; background:#b67484; border-radius:0; box-shadow:var(--shadow); }
.founder-photo img { width:100%; height:100%; object-fit:cover; object-position:center; }
.founder-stamp { position:absolute; z-index:4; right:-45px; bottom:5px; display:grid; place-items:center; width:145px; height:145px; text-align:center; color:white; background:var(--plum); border:8px solid #f8e8ee; border-radius:50%; }
.founder-stamp strong,.founder-stamp span { display:block; }
.founder-stamp strong { font:600 2.1rem Italiana,serif; }
.founder-stamp span { max-width:80px; font-size:.63rem; line-height:1.2; text-transform:uppercase; }
.founder-outline { position:absolute; z-index:1; left:-58px; top:260px; color:transparent; font-size:6rem; font-weight:700; letter-spacing:.08em; -webkit-text-stroke:1px rgba(106,41,70,.18); transform:rotate(-90deg); }
.founder-copy .kicker { margin-top:55px; }
.founder-copy h2 { margin:20px 0 26px; font-size:clamp(3.2rem,5vw,5.8rem); }
.founder-copy>p { color:var(--muted); font-size:1rem; }
.founder-journey { scroll-margin-top:30px; background:var(--paper); border-top:1px solid var(--line); }
.founder-journey-layout { display:grid; grid-template-columns:.72fr 1.28fr; gap:100px; }
.founder-journey h2 { max-width:520px; margin-top:30px; font-size:clamp(2.8rem,4.7vw,5.2rem); }
.founder-journey-story>p { max-width:720px; margin:0 0 55px; color:var(--muted); font-size:1.05rem; }
.journey-points { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }
.journey-points article { padding:28px 28px 0 0; border-right:1px solid var(--line); }
.journey-points article+article { padding-left:28px; }
.journey-points article:last-child { border-right:0; }
.journey-points span { display:block; margin-bottom:24px; color:var(--pink); font-size:.68rem; font-weight:700; }
.journey-points strong { display:block; font:500 1.35rem Italiana,serif; }
.journey-points p { margin:14px 0 0; color:var(--muted); font-size:.78rem; }
.credentials { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:32px 0; padding:25px 0; border-block:1px solid rgba(106,41,70,.12); }
.credentials div { padding-inline-end:15px; }
.credentials strong,.credentials small { display:block; }
.credentials strong { color:var(--plum); font:500 1.05rem Italiana,serif; }
.credentials small { margin-top:7px; color:var(--muted); font-size:.7rem; line-height:1.4; }
.button-dark { background:var(--plum); box-shadow:none; }

.gallery-section { background:var(--paper); overflow:hidden; }
.gallery-heading { display:grid; grid-template-columns:180px 1fr .65fr; align-items:end; gap:35px; margin-bottom:60px; }
.gallery-heading h2 { font-size:clamp(3rem,5.2vw,5.7rem); }
.gallery-heading p { margin:0; color:var(--muted); font-size:.9rem; }
.gallery-track { display:grid; grid-template-columns:.8fr 1.2fr .8fr; gap:20px; width:min(1500px,calc(100% - 40px)); margin:auto; align-items:center; }
.gallery-track figure { margin:0; }
.gallery-track img { width:100%; height:430px; object-fit:cover; }
.gallery-wide img { height:550px; }
.gallery-track figcaption { margin-top:12px; color:var(--muted); font-size:.69rem; letter-spacing:.08em; text-transform:uppercase; }

.testimonials { background:var(--paper); }
.testimonials-layout { display:grid; grid-template-columns:.85fr 1.15fr; align-items:center; gap:100px; }
.testimonials-layout .kicker { margin-top:48px; }
.testimonials-layout h2 { max-width:530px; margin-top:18px; font-size:clamp(3rem,5vw,5.5rem); }
.testimonials blockquote { position:relative; margin:0; padding:50px 55px; background:var(--ivory); border:1px solid var(--line); border-radius:28px; box-shadow:0 24px 70px rgba(106,41,70,.06); }
.testimonials blockquote>span { color:var(--pink); font:5rem/.6 Italiana,serif; }
.testimonials blockquote p { margin:25px 0 35px; color:var(--ink); font:400 clamp(1.5rem,2.4vw,2.2rem)/1.35 Italiana,serif; }
.testimonials blockquote footer { display:flex; flex-direction:column; }
.testimonials blockquote strong { font-size:.8rem; }
.testimonials blockquote small { margin-top:4px; color:var(--muted); }
.testimonial-intro { max-width:470px; margin-top:28px; color:var(--muted); }
.testimonial-slider { min-width:0; }
.testimonial-slider blockquote[hidden] { display:none; }
.testimonial-stars { margin-bottom:20px; color:#b78c45; font-size:.9rem; letter-spacing:.12em; }
.testimonial-controls { display:flex; align-items:center; justify-content:space-between; margin-top:22px; }
.testimonial-controls>button { width:44px; height:44px; border:1px solid var(--line); border-radius:50%; color:var(--plum); background:transparent; cursor:pointer; }
.testimonial-controls>div { display:flex; gap:8px; }
.testimonial-controls>div button { width:7px; height:7px; padding:0; border:0; border-radius:50%; background:#d9cbd0; cursor:pointer; }
.testimonial-controls>div button.active { width:24px; border-radius:10px; background:var(--pink); }
.testimonial-submit { display:grid; grid-template-columns:.7fr 1.3fr; gap:100px; margin-top:100px; padding-top:80px; border-top:1px solid var(--line); }
.testimonial-submit h3 { max-width:480px; margin-top:20px; font-size:clamp(2.2rem,3.5vw,3.8rem); }
.testimonial-submit>div>p { max-width:480px; color:var(--muted); }
.testimonial-form-panel { padding:38px; background:var(--ivory); border:1px solid var(--line); box-shadow:0 24px 70px rgba(106,41,70,.06); }
.testimonial-fields { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.testimonial-fields>div:last-child { grid-column:1/-1; }
.testimonial-fields label { display:block; margin-bottom:7px; color:var(--muted); font-size:.7rem; font-weight:700; }
.testimonial-fields input,.testimonial-fields select,.testimonial-fields textarea { width:100%; padding:13px 14px; border:1px solid var(--line); border-radius:0; color:var(--ink); background:white; font:inherit; }
.testimonial-fields ul { margin:5px 0; padding:0; color:#a63d55; list-style:none; font-size:.7rem; }
.testimonial-form-panel .booking-next { margin-top:22px; }
.form-notice { padding:12px 15px; border-left:3px solid var(--pink); background:white; font-size:.8rem; }
.form-notice.success { border-color:#648b76; }

.booking-section { background:#f8eef5; }
.booking-layout { display:grid; grid-template-columns:.78fr 1.22fr; gap:90px; align-items:start; }
.booking-intro .kicker { margin-top:48px; }
.booking-intro h2 { margin:20px 0 25px; font-size:clamp(3rem,5vw,5.4rem); }
.booking-intro>p { color:var(--muted); }
.booking-intro ul { margin:35px 0 0; padding:0; list-style:none; }
.booking-intro li { position:relative; padding:12px 0 12px 28px; border-bottom:1px solid var(--line); font-size:.82rem; }
.booking-intro li::before { content:"✓"; position:absolute; left:0; color:var(--pink); font-weight:700; }
[dir="rtl"] .booking-intro li { padding:12px 28px 12px 0; }
[dir="rtl"] .booking-intro li::before { left:auto; right:0; }
.booking-panel { padding:42px; background:var(--paper); border:1px solid rgba(106,41,70,.1); border-radius:26px; box-shadow:0 28px 80px rgba(106,41,70,.08); }
.booking-progress { display:flex; align-items:center; margin-bottom:38px; }
.booking-progress span { display:grid; place-items:center; width:34px; height:34px; color:var(--muted); background:#edf0ed; border-radius:50%; font-size:.72rem; font-weight:700; transition:.25s; }
.booking-progress span.active { color:white; background:var(--plum); }
.booking-progress i { flex:1; height:1px; background:#dce3df; }
.booking-step { margin:0; padding:0; border:0; }
.booking-step legend { display:flex; align-items:center; gap:12px; width:100%; margin-bottom:26px; color:var(--ink); font:500 1.7rem Italiana,serif; }
.booking-step legend small { color:var(--pink); font:700 .65rem Montserrat,sans-serif; }
.care-options { display:grid; gap:11px; }
.care-options-all { grid-template-columns:1fr 1fr; max-height:430px; overflow:auto; padding-inline-end:5px; }
.care-options label { cursor:pointer; }
.care-options input { position:absolute; opacity:0; pointer-events:none; }
.care-options span { display:block; padding:18px 20px; border:1px solid var(--line); border-radius:15px; transition:.2s; }
.care-options input:checked+span { border-color:var(--plum); background:#edf3ef; box-shadow:inset 4px 0 0 var(--plum); }
[dir="rtl"] .care-options input:checked+span { box-shadow:inset -4px 0 0 var(--plum); }
.care-options b,.care-options small { display:block; }
.care-options b { font:500 1rem Italiana,serif; }
.care-options small { margin-top:4px; color:var(--muted); font-size:.7rem; }
.booking-fields { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.booking-fields label { color:var(--muted); font-size:.72rem; font-weight:600; }
.booking-fields input,.booking-fields select,.booking-fields textarea { display:block; width:100%; margin-top:8px; padding:14px 15px; color:var(--ink); background:#fbfaf7; border:1px solid var(--line); border-radius:12px; font:inherit; outline:none; }
.booking-fields input:focus,.booking-fields select:focus,.booking-fields textarea:focus { border-color:var(--plum); box-shadow:0 0 0 3px rgba(106,41,70,.08); }
.field-wide { grid-column:1/-1; }
.booking-actions { display:flex; justify-content:flex-end; gap:12px; margin-top:30px; }
.booking-actions button { min-height:48px; padding:0 20px; border-radius:999px; font:700 .76rem Montserrat,sans-serif; cursor:pointer; }
.booking-back { color:var(--plum); background:transparent; border:1px solid var(--line); }
.booking-next { display:flex; align-items:center; gap:20px; color:white; background:var(--plum); border:1px solid var(--plum); }
.booking-next span { color:#d9c18f; }

.appointment { position:relative; overflow:hidden; padding:100px 0; color:white; background:var(--plum); }
.appointment::before { content:""; position:absolute; width:600px; height:600px; border:1px solid rgba(255,255,255,.2); border-radius:50%; right:-180px; top:-250px; }
.appointment-inner { position:relative; z-index:2; display:grid; grid-template-columns:80px 1.2fr .7fr 260px; align-items:center; gap:45px; }
.appointment-flower { color:#f8cae8; font-size:4rem; }
.kicker-light { color:#fbd9f1; }
.appointment h2 { margin-top:16px; font-size:clamp(3rem,5vw,5.8rem); }
.appointment-inner>p { color:#ffeafa; font-size:.9rem; }
.appointment-link { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:20px 0; border-bottom:1px solid rgba(255,255,255,.55); font-weight:700; }
.appointment-link b { display:grid; place-items:center; width:48px; height:48px; color:var(--plum); background:white; border-radius:50%; }

.footer { padding:65px 0 25px; color:#ead9de; background:#3b1d27; }
.footer-main { display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; gap:40px; padding-bottom:50px; }
.footer-brand { color:white; }
.footer-main>p { max-width:380px; margin:0; font-size:.85rem; }
.footer-links { display:flex; justify-content:flex-end; gap:25px; font-size:.78rem; }
.footer-bottom { display:flex; justify-content:space-between; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); font-size:.66rem; text-transform:uppercase; letter-spacing:.1em; }

/* Immersive direction inspired by premium wellness hospitality */
.hero-luxe { position:relative; min-height:900px; display:flex; align-items:end; overflow:hidden; color:white; background-image:var(--hero-photo); background-size:cover; background-position:center 35%; }
.hero-luxe::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(58,26,35,.86) 0%,rgba(91,39,57,.43) 48%,rgba(106,41,70,.1) 75%); }
.hero-luxe-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(57,24,34,.76) 0%,transparent 42%); }
.hero-luxe-content { position:relative; z-index:2; display:flex; align-items:end; justify-content:space-between; gap:80px; padding-bottom:150px; }
.hero-luxe-copy { max-width:790px; }
.hero-pill { display:inline-flex; align-items:center; gap:9px; padding:9px 15px; border:1px solid rgba(255,255,255,.35); border-radius:999px; background:rgba(255,255,255,.11); backdrop-filter:blur(12px); font-size:.68rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.hero-luxe-copy h1 { margin:25px 0 25px; color:white; font-size:clamp(4.6rem,7.5vw,8.6rem); }
.hero-luxe-copy h1 em { color:#dec897; font-weight:400; }
.hero-luxe-copy>p { max-width:620px; color:rgba(255,255,255,.82); font-size:1.05rem; }
.button-light { color:var(--plum); background:white; box-shadow:none; }
.hero-link { display:flex; align-items:center; gap:18px; padding-bottom:9px; border-bottom:1px solid rgba(255,255,255,.55); font-size:.84rem; font-weight:700; }
.hero-link span { color:#dec897; }
.hero-proof { width:285px; flex:0 0 285px; padding:28px; background:rgba(244,239,230,.18); border:1px solid rgba(255,255,255,.28); border-radius:24px; backdrop-filter:blur(18px); box-shadow:0 22px 70px rgba(0,0,0,.16); }
.proof-label { color:#ead7aa; font-size:.62rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.hero-proof>strong { display:block; margin:10px 0 0; font:500 3.4rem/1 Italiana,serif; }
.hero-proof>p { margin:10px 0 22px; color:rgba(255,255,255,.76); font-size:.75rem; }
.proof-people { display:flex; align-items:center; }
.proof-people>span,.proof-people>i { display:grid; place-items:center; width:39px; height:39px; margin-right:-7px; color:white; background:#a65d72; border:2px solid rgba(255,255,255,.65); border-radius:50%; font-size:.62rem; font-style:normal; }
.proof-people>span:nth-child(2) { background:#d45aa6; }
.proof-people>i { background:rgba(255,255,255,.2); }
.proof-people small { margin-left:16px; color:rgba(255,255,255,.75); font-size:.62rem; }
[dir="rtl"] .proof-people small { margin-left:0; margin-right:16px; }
.hero-luxe-bottom { position:absolute; z-index:3; inset:auto 0 0; border-top:1px solid rgba(255,255,255,.25); background:rgba(63,25,37,.42); backdrop-filter:blur(12px); }
.hero-luxe-metrics { display:flex; align-items:center; min-height:95px; gap:45px; }
.hero-luxe-metrics>span { margin-inline-end:auto; color:#d8c89e; font-size:.64rem; letter-spacing:.13em; text-transform:uppercase; }
.hero-luxe-metrics div { display:flex; align-items:center; gap:10px; font:400 1rem Italiana,serif; }
.hero-luxe-metrics b { color:#d8c89e; font:700 .6rem Montserrat,sans-serif; }
.hero-luxe-metrics>a { display:grid; place-items:center; width:45px; height:45px; margin-inline-start:auto; border:1px solid rgba(255,255,255,.4); border-radius:50%; }
.site-header { position:absolute; padding:20px 0; }
.site-header .nav { padding:10px 14px 10px 20px; color:white; background:rgba(63,25,37,.52); border:1px solid rgba(255,255,255,.2); border-radius:999px; backdrop-filter:blur(17px); }
.site-header .brand strong { color:#e1cc9f; }
.site-header .brand-logo { width:49px; height:49px; background:rgba(255,255,255,.88); }
.site-header .languages { border-color:rgba(255,255,255,.25); background:rgba(255,255,255,.1); }
.site-header .languages .active { color:var(--plum); background:white; }
.site-header .nav-cta { border-color:rgba(255,255,255,.55); }
.site-header .nav-cta span { color:#e1cc9f; }

.experience-section { background:var(--ivory); }
.experience-layout { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:100px; }
.experience-image { position:relative; min-height:680px; overflow:hidden; border-radius:0; box-shadow:var(--shadow); }
.experience-image img { width:100%; height:100%; min-height:680px; object-fit:cover; }
.experience-image>a { position:absolute; right:25px; bottom:25px; display:flex; align-items:center; gap:13px; padding:12px 18px 12px 12px; color:white; background:rgba(106,41,70,.9); border:1px solid rgba(255,255,255,.25); border-radius:999px; backdrop-filter:blur(10px); font-size:.72rem; font-weight:700; }
.experience-image>a span { display:grid; place-items:center; width:38px; height:38px; color:var(--plum); background:white; border-radius:50%; }
.experience-copy .kicker { margin-top:45px; }
.experience-copy h2 { margin:20px 0 24px; font-size:clamp(3.2rem,5vw,5.8rem); }
.experience-copy>p { color:var(--muted); }
.experience-list { margin-top:35px; border-top:1px solid var(--line); }
.experience-list details { border-bottom:1px solid var(--line); }
.experience-list summary { display:grid; grid-template-columns:38px 1fr 28px; align-items:center; gap:12px; padding:20px 0; cursor:pointer; list-style:none; font:500 1.15rem Italiana,serif; }
.experience-list summary::-webkit-details-marker { display:none; }
.experience-list summary b { color:var(--pink); font:700 .62rem Montserrat,sans-serif; }
.experience-list summary span { color:var(--plum); font:400 1.3rem Montserrat,sans-serif; transition:.2s; }
.experience-list details[open] summary span { transform:rotate(45deg); }
.experience-list details p { margin:-5px 0 20px 50px; color:var(--muted); font-size:.8rem; }
[dir="rtl"] .experience-list details p { margin:-5px 50px 20px 0; }

@media (max-width:1050px) {
  .shell { width:min(100% - 40px,1280px); }
  .nav-links { display:none; }
  .hero { min-height:auto; padding-bottom:90px; }
  .hero-layout,.founder-layout { grid-template-columns:1fr; }
  .founder-journey-layout { grid-template-columns:1fr; gap:45px; }
  .hero-copy { padding:35px 0; }
  .hero-art { min-height:600px; max-width:700px; width:100%; margin:auto; }
  .hero-strip { position:relative; }
  .manifesto-grid { grid-template-columns:120px 1fr; }
  .manifesto-mark { display:none; }
  .service-editorial { grid-template-columns:1fr 1fr; }
  .service-catalog { grid-template-columns:repeat(2,1fr); }
  .service-catalog-heading { grid-template-columns:140px 1fr; }
  .service-catalog-heading p { grid-column:2; }
  .service-1 { grid-row:span 2; }
  .founder-layout { gap:50px; }
  .founder-visual { max-width:700px; width:100%; margin:auto; }
  .gallery-heading { grid-template-columns:120px 1fr; }
  .gallery-heading p { grid-column:2; }
  .testimonials-layout,.booking-layout { grid-template-columns:1fr; gap:55px; }
  .testimonial-submit { grid-template-columns:1fr; gap:45px; }
  .appointment-inner { grid-template-columns:60px 1fr .8fr; }
  .appointment-link { grid-column:2/4; }
  .hero-luxe-content { gap:35px; }
  .hero-proof { width:250px; flex-basis:250px; }
  .experience-layout { grid-template-columns:1fr; gap:55px; }
  .experience-image { max-width:720px; width:100%; margin:auto; }
  .services-page-hero { grid-template-columns:1fr; }
  .detail-layout { grid-template-columns:1fr; gap:55px; }
  .detail-copy { position:static; }
  .services-page-image { min-height:520px; }
}

.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.inner-page{padding-top:98px;background:#fbf8f4;min-height:70vh}.page-hero{padding:100px 0 72px;background:#eee3d9}.page-hero h1{font:clamp(3rem,7vw,6.5rem)/.95 var(--font-display);max-width:900px;margin:18px 0}.page-hero p{max-width:700px;font-size:1.1rem;line-height:1.8}.contact-layout{display:grid;grid-template-columns:.72fr 1.28fr;align-items:start;gap:clamp(55px,8vw,120px)}.contact-panel-index{display:inline-flex;align-items:center;gap:10px;margin-bottom:16px;color:var(--pink);font-size:.68rem;font-weight:700;letter-spacing:.14em}.contact-panel-index::after{content:"";width:38px;height:1px;background:currentColor}.contact-details{padding-top:38px;border-top:1px solid #d8cbc0}.contact-details h2,.contact-form-panel h2,.legal-copy h2{font:2rem/1.1 var(--font-display);margin:0 0 32px}.contact-details address{font-style:normal;display:grid;gap:30px;margin-bottom:40px}.contact-details address div{display:grid;gap:7px;border-bottom:1px solid #d8cbc0;padding-bottom:22px}.contact-details small{color:#796d65;text-transform:uppercase;letter-spacing:.12em}.contact-details a,.contact-details strong{color:#28231f;font-weight:500;text-decoration:none}.contact-form-panel{position:relative;background:#fff;padding:52px;box-shadow:0 24px 70px rgba(57,42,32,.09);border-top:3px solid var(--pink)}.contact-form-panel h2{font-size:clamp(2.15rem,3vw,3rem);margin-bottom:38px}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:26px 24px}.contact-fields>div{margin:0}.contact-fields .field-wide{grid-column:1/-1}.contact-fields label,.booking-step>div>label,.booking-step>label{display:grid;gap:9px;color:#675b54;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.contact-fields input,.contact-fields textarea,.booking-step select,.booking-step input,.booking-step textarea{width:100%;border:1px solid #d8cbc0;background:#fdfbf9;padding:15px 16px;font:inherit;border-radius:0;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}.contact-fields input:focus,.contact-fields textarea:focus{border-color:var(--pink);background:#fff;box-shadow:0 0 0 3px rgba(169,104,87,.1)}.contact-fields textarea{min-height:190px;resize:vertical}.contact-submit{justify-content:space-between;min-width:245px;min-height:54px;margin-top:32px;padding:0 23px;cursor:pointer}.legal-copy{max-width:850px;font-size:1.05rem;line-height:1.85}.legal-copy h2{margin-top:44px;margin-bottom:14px}.booking-step>div{margin-bottom:20px}
@media(max-width:800px){.contact-layout{grid-template-columns:1fr;gap:60px}.contact-details{padding-top:28px}.contact-form-panel{padding:34px 22px}.contact-fields{grid-template-columns:1fr;gap:20px}.contact-fields .field-wide{grid-column:auto}.contact-submit{width:100%;min-width:0}.inner-page{padding-top:76px}.page-hero{padding:70px 0 50px}}
@media (max-width:700px) {
  .shell { width:min(100% - 28px,1280px); }
  .section { padding:90px 0; }
  .site-header { padding:12px 0; }
  .brand span,.nav-cta { display:none; }
  .brand-logo { width:48px; height:48px; }
  .nav { gap:12px; }
  .hero { padding-top:105px; }
  .hero-copy h1 { font-size:3.55rem; }
  .hero-actions { align-items:flex-start; flex-direction:column; }
  .hero-art { min-height:500px; }
  .hero-photo-main { inset:0 0 40px 40px; }
  .hero-photo-detail { width:150px; height:190px; }
  .hero-note { width:215px; right:-5px; bottom:35px; padding:18px; }
  .hero-note p { font-size:.85rem; }
  .hero-badge { width:90px; height:90px; left:10px; }
  .strip-content { flex-wrap:wrap; padding:24px 0; gap:15px; }
  .strip-content>span { width:100%; }
  .strip-content i { width:18px; }
  .manifesto-grid,.gallery-heading { grid-template-columns:1fr; }
  .manifesto-copy h2,.services-title-row h2,.founder-copy h2,.gallery-heading h2 { font-size:3.2rem; }
  .section-topline { flex-direction:column; gap:25px; }
  .round-link { display:none; }
  .service-editorial { display:block; }
  .service-panel { min-height:500px; margin-bottom:18px; }
  .service-catalog-heading { display:block; margin-top:70px; }
  .service-catalog-heading h3 { margin:16px 0; }
  .service-catalog { grid-template-columns:1fr; }
  .service-card { min-height:300px; }
  .service-card-actions { align-items:flex-start; flex-direction:column; }
  .service-detail-heading { display:block; }
  .service-detail-heading .hero-pill { margin-top:28px; }
  .detail-price { margin-top:25px; }
  .detail-gallery { grid-template-columns:1fr; }
  .detail-gallery figure,.detail-gallery figure:nth-child(2) { margin-top:0; }
  .lightbox { padding:48px 14px 14px; }
  .services-more { align-items:flex-start; flex-direction:column; }
  .founder-visual { min-height:470px; }
  .founder-photo { inset:15px 0 20px; }
  .founder-stamp { width:110px; height:110px; right:-5px; }
  .journey-points { grid-template-columns:1fr; }
  .journey-points article,.journey-points article+article { padding:24px 0; border-right:0; border-bottom:1px solid var(--line); }
  .credentials { grid-template-columns:1fr; }
  .gallery-heading p { grid-column:auto; }
  .gallery-track { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; }
  .gallery-track figure { min-width:84vw; scroll-snap-align:center; }
  .gallery-track img,.gallery-wide img { height:440px; }
  .testimonials blockquote { padding:35px 28px; }
  .testimonial-submit { margin-top:70px; padding-top:60px; }
  .testimonial-form-panel { padding:25px 20px; }
  .testimonial-fields { grid-template-columns:1fr; }
  .testimonial-fields>div:last-child { grid-column:auto; }
  .booking-panel { padding:25px 20px; }
  .booking-fields { grid-template-columns:1fr; }
  .field-wide { grid-column:auto; }
  .appointment-inner { grid-template-columns:1fr; }
  .appointment-flower { display:none; }
  .appointment-link { grid-column:auto; }
  .footer-main { grid-template-columns:1fr; }
  .footer-links { justify-content:flex-start; flex-wrap:wrap; }
  .site-header .nav { padding:7px 9px; }
  .hero-luxe { min-height:850px; background-position:62% center; }
  .hero-luxe::before { background:linear-gradient(to top,rgba(58,25,35,.94) 0%,rgba(92,39,57,.42) 72%,rgba(72,29,42,.28)); }
  .hero-luxe-content { display:block; padding-bottom:125px; }
  .hero-luxe-copy h1 { font-size:3.7rem; }
  .hero-luxe-copy>p { font-size:.9rem; }
  .hero-proof { display:none; }
  .hero-link { color:white; }
  .hero-luxe-metrics { min-height:85px; gap:10px; }
  .hero-luxe-metrics>span { display:none; }
  .hero-luxe-metrics div { font-size:.75rem; gap:5px; }
  .hero-luxe-metrics>a { width:38px; height:38px; }
  .care-options-all { grid-template-columns:1fr; max-height:470px; }
  .experience-image { min-height:480px; border-radius:0; }
  .experience-image img { min-height:480px; }
  .services-page-hero { display:block; min-height:auto; }
  .services-page-intro { width:min(100% - 28px,1280px); padding:145px 0 80px; }
  .services-page-intro h1 { font-size:3.7rem; }
  .services-page-image { min-height:390px; }
}

.advice-detail,.home-advice { background:var(--paper); }
.blog-masthead { padding:95px 0 88px; background:var(--blush); text-align:center; }
.blog-masthead .kicker { justify-content:center; }
.blog-masthead h1 { max-width:830px; margin:24px auto; font-size:clamp(3.3rem,5vw,4.5rem); }
.blog-masthead p { max-width:690px; margin:0 auto; color:var(--muted); line-height:1.8; }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.blog-search { display:flex; align-items:center; width:min(100%,620px); margin:38px auto 0; background:rgba(255,255,255,.62); border-bottom:1px solid var(--slate); }
.blog-rss-link { display:inline-flex; align-items:center; gap:7px; margin-top:23px; color:var(--plum); font-size:.67rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.blog-search>span { padding-inline-start:18px; color:var(--pink); font-size:1.25rem; }
.blog-search input { min-width:0; flex:1; height:56px; padding:0 15px; color:var(--ink); background:transparent; border:0; outline:0; font:inherit; }
.blog-search button { align-self:stretch; padding:0 24px; color:white; background:var(--slate); border:0; font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.blog-filters { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:42px; }
.blog-filters a { padding:11px 17px; color:var(--muted); background:rgba(255,255,255,.42); border:1px solid rgba(169,104,87,.18); font-size:.67rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; transition:.25s ease; }
.blog-filters a:hover,.blog-filters a.active { color:white; background:var(--slate); border-color:var(--slate); }
.blog-featured { background:var(--paper); }
.blog-featured-grid { display:grid; grid-template-columns:1.15fr .85fr; align-items:stretch; min-height:590px; }
.blog-featured-image { min-height:590px; overflow:hidden; }
.blog-featured-image img { width:100%; height:100%; object-fit:cover; border-radius:0; transition:transform .65s ease; }
.blog-featured-image:hover img { transform:scale(1.02); }
.blog-featured article { display:flex; flex-direction:column; justify-content:center; padding:clamp(45px,7vw,90px); background:var(--ivory); }
.blog-featured h2 { margin:25px 0 20px; font-size:clamp(2.5rem,4vw,3.7rem); line-height:1.08; }
.blog-featured article>p { margin:0 0 28px; color:var(--muted); line-height:1.8; }
.blog-featured .button { align-self:flex-start; margin-top:30px; }
.blog-meta { display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; color:var(--muted); font-size:.66rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.blog-meta span:first-child { color:var(--pink); }
.blog-meta time { padding-inline-start:18px; border-inline-start:1px solid var(--line); }
.blog-author { display:flex; align-items:center; gap:13px; }
.blog-author>span,.blog-author>b { display:grid; place-items:center; width:43px; height:43px; flex:0 0 43px; color:white; background:var(--pink); border-radius:50%; font-size:.68rem; }
.blog-author div { display:grid; gap:3px; }
.blog-author strong { color:var(--ink); font-family:inherit; font-size:.75rem; font-weight:700; }
.blog-author small { color:var(--muted); font-size:.64rem; }
.blog-list { background:var(--soft); }
.blog-section-heading { display:grid; grid-template-columns:1.25fr .75fr; align-items:end; gap:60px; margin-bottom:55px; padding-bottom:35px; border-bottom:1px solid var(--line); }
.blog-section-heading span { color:var(--pink); font-size:.68rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.blog-section-heading h2 { margin:17px 0 0; font-size:clamp(2.6rem,4vw,3.3rem); }
.blog-section-heading>p { color:var(--muted); line-height:1.7; }
.advice-grid,.home-advice-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:34px; }
.blog-grid { grid-template-columns:repeat(2,1fr); gap:45px 34px; }
.advice-card { background:var(--ivory); border-bottom:2px solid var(--line); }
.advice-card-image { display:block; height:290px; overflow:hidden; }
.advice-card-image img { width:100%; height:100%; object-fit:cover; border-radius:0; transition:transform .55s ease; }
.advice-card:hover img { transform:scale(1.025); }
.advice-card>div { padding:28px; }
.advice-card>div>span { color:var(--pink); font-size:.66rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.advice-card h2,.advice-card h3 { margin:15px 0 14px; font-family:"Italiana",serif; font-size:1.75rem; font-weight:400; line-height:1.2; }
.advice-card p { margin:0; color:var(--muted); line-height:1.7; }
.home-advice { background:var(--soft); }
.home-advice .services-title-row { margin-bottom:48px; }
.advice-meta { display:flex; flex-wrap:wrap; gap:20px; margin-top:35px; color:var(--plum); font-size:.75rem; font-weight:600; }
.advice-body { color:var(--ink); font-size:1.06rem; line-height:1.95; white-space:normal; }
.advice-lead { margin:0 0 35px; color:var(--ink); font-family:"Italiana",serif; font-size:clamp(1.65rem,2.5vw,2.15rem); line-height:1.4; }
.advice-story .editorial-story-grid>div { max-width:820px; }
.advice-story aside { display:block; }
.advice-story aside>span { display:block; margin-bottom:28px; }
.article-share { display:grid; gap:9px; margin-top:38px; padding-top:22px; border-top:1px solid var(--line); }
.article-share strong { margin-bottom:5px; color:var(--muted); font-size:.65rem; letter-spacing:.08em; text-transform:uppercase; }
.article-share>div { display:flex; gap:10px; }
.article-share a { display:grid; place-items:center; width:42px; height:42px; color:var(--plum); border:1px solid var(--line); transition:.25s ease; }
.article-share a:hover { color:white; background:var(--plum); border-color:var(--plum); transform:translateY(-2px); }
.article-share svg { width:19px; height:19px; fill:currentColor; }
.advice-story .advice-disclaimer { margin-top:42px; }
.advice-disclaimer { padding:28px; border:1px solid var(--line); }
.advice-disclaimer p { color:var(--muted); line-height:1.65; }
.advice-disclaimer { background:var(--blush); }
.related-posts { background:var(--soft); }
.related-posts .blog-section-heading { grid-template-columns:1fr; }
.blog-pagination { display:flex; align-items:center; justify-content:center; gap:28px; margin-top:58px; padding-top:28px; border-top:1px solid var(--line); font-size:.72rem; font-weight:700; }
.blog-pagination a { color:var(--plum); }
.blog-pagination span { color:var(--muted); }
@media (max-width:900px) { .blog-featured-grid { grid-template-columns:1fr; } .blog-featured-image { min-height:470px; } .blog-section-heading { grid-template-columns:1fr; gap:22px; } .advice-grid,.home-advice-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:700px) { .blog-masthead { padding:70px 0 62px; } .blog-masthead h1 { font-size:2.75rem; } .blog-search button { padding:0 14px; } .blog-featured-image { min-height:330px; } .blog-featured article { padding:38px 25px; } .blog-featured h2 { font-size:2.35rem; } .advice-grid,.home-advice-grid,.blog-grid { grid-template-columns:1fr; } .advice-card-image { height:255px; } }

/* FyraCare design system — clinical, warm and consistent */
.mobile-booking-cta { display:none; }
.service-card { border-radius:2px; box-shadow:none; }
.services-catalog-section .service-card { box-shadow:0 14px 45px rgba(52,38,42,.06); }
.service-card:hover { transform:translateY(-5px); border-color:#cbbab0; box-shadow:0 20px 55px rgba(52,38,42,.09); }
.service-card p { display:-webkit-box; min-height:4.7em; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.booking-section { background:var(--soft); }
.booking-panel,.testimonials blockquote { border-radius:2px; }
.booking-fields input,.booking-fields select,.booking-fields textarea { min-height:52px; border-radius:0; background:#fdfbf9; }
.booking-progress span { background:#e5ebe6; }
.booking-progress span.active { background:var(--slate); }
.booking-summary { display:grid; gap:13px; margin-bottom:28px; padding:22px; background:#f4f6f3; border-inline-start:3px solid var(--sage); }
.booking-summary>strong { color:var(--slate); font:500 1.2rem var(--font-display,"Italiana",serif); }
.booking-summary div { display:flex; justify-content:space-between; gap:24px; padding-top:10px; border-top:1px solid #dbe2dc; font-size:.78rem; }
.booking-summary div span { color:var(--muted); }
.booking-summary div b { text-align:end; }
.booking-summary small,.booking-privacy { color:var(--muted); font-size:.7rem; }
.booking-privacy { margin:22px 0 0; padding-top:18px; border-top:1px solid var(--line); }
.service-filter { display:flex; align-items:end; justify-content:space-between; gap:32px; margin:0 0 38px; padding:24px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.service-filter label { color:var(--slate); font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.service-filter>div { display:flex; align-items:center; width:min(100%,470px); border-bottom:1px solid var(--slate); }
.service-filter>div span { color:var(--pink); font-size:1.25rem; }
.service-filter input { width:100%; min-height:50px; padding:0 12px; color:var(--ink); background:transparent; border:0; outline:0; font:inherit; }
.service-filter input::placeholder { color:#988d87; }
.service-filter-empty { padding:45px 0; text-align:center; color:var(--muted); }
.service-card[hidden] { display:none; }
.service-trust { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:12px 28px; padding-top:28px; border-top:1px solid rgba(255,255,255,.25); color:rgba(255,255,255,.86); font-size:.72rem; }
.footer-main { grid-template-columns:1.4fr .7fr .9fr; align-items:start; }
.footer-identity p { max-width:360px; margin:24px 0 0; font-size:.85rem; }
.footer-link-group { display:grid; align-content:start; gap:12px; font-size:.78rem; }
.footer-link-group strong { margin-bottom:8px; color:var(--gold); font-size:.65rem; letter-spacing:.14em; text-transform:uppercase; }
.footer-link-group a { width:max-content; border-bottom:1px solid transparent; }
.footer-link-group a:hover { border-color:currentColor; }

@media (max-width:800px) {
  body { padding-bottom:70px; }
  .mobile-booking-cta { position:fixed; z-index:30; inset:auto 14px 12px; display:flex; align-items:center; justify-content:space-between; min-height:54px; padding:0 20px; color:white; background:var(--slate); box-shadow:0 14px 40px rgba(33,48,54,.25); font-size:.78rem; font-weight:700; }
  .service-filter { display:block; }
  .service-filter>div { width:100%; margin-top:16px; }
  .booking-summary div { display:grid; gap:3px; }
  .booking-summary div b { text-align:start; }
  [dir="rtl"] .booking-summary div b { text-align:end; }
  .footer-main { grid-template-columns:1fr 1fr; }
  .footer-identity { grid-column:1/-1; }
}

/* Sticky navigation and calmer editorial scale */
.site-header { position:fixed; inset:0 0 auto; padding:14px 0; }
.site-header .nav { background:rgba(76,45,54,.9); box-shadow:0 12px 38px rgba(35,26,29,.14); }
.services-header .nav { background:rgba(76,45,54,.94); }
.hero-luxe-copy h1 { font-size:clamp(3.7rem,6.2vw,6.8rem); }
.manifesto-copy h2 { font-size:clamp(2.7rem,4.6vw,4.9rem); }
.services-title-row h2 { font-size:clamp(3rem,5.1vw,5.8rem); }
.founder-copy h2 { font-size:clamp(2.8rem,4.3vw,4.9rem); }
.founder-journey h2 { font-size:clamp(2.5rem,4vw,4.5rem); }
.experience-copy h2 { font-size:clamp(2.8rem,4.3vw,4.9rem); }
.gallery-heading h2 { font-size:clamp(2.7rem,4.3vw,4.7rem); }
.testimonials-layout h2 { font-size:clamp(2.7rem,4.2vw,4.6rem); }
.testimonial-submit h3 { font-size:clamp(2rem,3vw,3.2rem); }
.booking-intro h2 { font-size:clamp(2.7rem,4.2vw,4.6rem); }
.appointment h2 { font-size:clamp(2.7rem,4.2vw,4.8rem); }
.services-page-intro h1 { font-size:clamp(3.4rem,5.8vw,6rem); }
.service-detail-heading h1 { font-size:clamp(3.1rem,5.4vw,5.8rem); }
.services-catalog-section .service-catalog-heading h2 { font-size:clamp(2.5rem,4vw,4.3rem); }
.page-hero h1 { font-size:clamp(2.8rem,5.3vw,5.2rem); }

@media (max-width:700px) {
  .site-header { padding:10px 0; }
  .hero-luxe-copy h1 { font-size:3.15rem; }
  .manifesto-copy h2,.services-title-row h2,.founder-copy h2,.gallery-heading h2,.experience-copy h2,.testimonials-layout h2,.booking-intro h2,.appointment h2 { font-size:2.75rem; }
  .founder-journey h2,.testimonial-submit h3,.services-catalog-section .service-catalog-heading h2 { font-size:2.45rem; }
  .services-page-intro h1,.service-detail-heading h1 { font-size:3rem; }
  .page-hero h1 { font-size:2.8rem; }
}

/* Header inspired by premium editorial retail navigation */
.site-announcement { position:relative; z-index:32; display:flex; align-items:center; justify-content:center; min-height:36px; padding:7px 20px; color:#f8f1ea; background:#2b2523; text-align:center; font-size:.63rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.site-header,.services-header { position:sticky; z-index:31; top:0; padding:0; background:rgba(252,249,246,.96); border-bottom:1px solid rgba(52,44,42,.08); box-shadow:0 8px 24px rgba(50,38,25,.05); backdrop-filter:blur(14px); }
.site-header .nav,.services-header .nav { min-height:88px; padding:0; color:var(--ink); background:transparent; border:0; border-radius:0; box-shadow:none; backdrop-filter:none; }
.site-header .brand strong { color:var(--plum); }
.site-header .brand-logo { width:52px; height:52px; background:transparent; border-radius:0; }
.site-header .nav-links { gap:26px; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; }
.site-header .languages { border:0; background:transparent; backdrop-filter:none; }
.site-header .languages .active { color:var(--plum); background:transparent; outline:1px solid #cdbcae; }
.site-header .nav-cta { min-height:46px; padding:0 18px; color:white; background:var(--slate); border:0; }
.site-header .nav-cta span { color:var(--gold); }
.menu-toggle { display:none; padding:8px; color:var(--ink); background:transparent; border:0; cursor:pointer; }
.menu-toggle>span { display:grid; gap:5px; width:23px; }
.menu-toggle i { display:block; width:100%; height:1px; background:currentColor; transition:.2s; }
.inner-page { padding-top:0; }
.service-detail-hero { padding-top:115px; }

@media (max-width:980px) {
  .site-header .nav-links { gap:16px; font-size:.64rem; }
  .site-header .nav-cta { display:none; }
}

@media (max-width:700px) {
  .site-announcement { min-height:42px; padding-inline:18px; font-size:.57rem; line-height:1.45; }
  .site-header { padding:0; }
  .site-header .nav { position:relative; min-height:72px; padding:0; }
  .site-header .brand { gap:8px; }
  .site-header .brand span { display:inline; font-size:.94rem; }
  .site-header .brand-logo { width:43px; height:43px; }
  .menu-toggle { display:block; order:3; }
  .site-header .languages { order:2; }
  .site-header .languages a { min-width:27px; height:28px; font-size:.6rem; }
  .site-header .nav-links { position:absolute; inset:100% -14px auto; display:none; padding:20px 28px 25px; background:var(--ivory); border-top:1px solid var(--line); box-shadow:0 18px 35px rgba(50,38,25,.12); }
  .site-header.menu-open .nav-links { display:grid; gap:0; }
  .site-header .nav-links a { padding:14px 0; border-bottom:1px solid var(--line); font-size:.72rem; }
  .site-header .nav-links a::after { display:none; }
  .site-header.menu-open .menu-toggle i:nth-child(1) { transform:translateY(6px) rotate(45deg); }
  .site-header.menu-open .menu-toggle i:nth-child(2) { opacity:0; }
  .site-header.menu-open .menu-toggle i:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
  .service-detail-hero { padding-top:90px; }
}

/* Palette rose minérale — plus lumineuse, fidèle au logo FyraCare */
.hero-luxe::before {
  background:linear-gradient(90deg,rgba(62,48,50,.78) 0%,rgba(92,66,73,.58) 43%,rgba(200,111,138,.18) 100%);
}
.hero-luxe-overlay {
  background:linear-gradient(90deg,rgba(66,51,55,.72),rgba(149,88,108,.12));
}
.hero-luxe-bottom {
  background:rgba(73,55,60,.48);
}
.services-section {
  background:linear-gradient(145deg,#966174 0%,#b9788b 58%,#d39baa 100%);
}
.services-page-hero {
  color:var(--ink);
  background:linear-gradient(135deg,#f1dde2 0%,#f8efed 100%);
}
.services-page-intro .kicker {
  color:var(--plum);
}
.services-page-intro h1 em {
  color:var(--plum);
}
.services-page-intro p {
  color:var(--muted);
}
.service-overlay {
  background:linear-gradient(to top,rgba(73,55,60,.94),rgba(73,55,60,.38) 55%,transparent);
}
.service-detail-hero {
  background:linear-gradient(125deg,#8f596b 0%,#c48797 100%);
}
.experience-image>a {
  background:rgba(149,88,108,.92);
}
.footer {
  background:#55464a;
}

/* Échelle typographique inspirée d’Aurim */
.hero-luxe-copy h1,
.services-page-intro h1,
.service-detail-heading h1,
.page-hero h1 {
  font-size:clamp(3.7rem,5.5vw,4.4rem);
  line-height:1.08;
}
.manifesto-copy h2,
.services-title-row h2,
.founder-copy h2,
.founder-journey h2,
.experience-copy h2,
.gallery-heading h2,
.testimonials-layout h2,
.booking-intro h2,
.appointment h2,
.services-catalog-section .service-catalog-heading h2 {
  font-size:clamp(2.7rem,4vw,3.2rem);
  line-height:1.08;
}
.testimonial-submit h3 {
  font-size:clamp(2.1rem,3vw,2.7rem);
  line-height:1.12;
}

@media (max-width:700px) {
  .hero-luxe-copy h1,
  .services-page-intro h1,
  .service-detail-heading h1,
  .page-hero h1 {
    font-size:2.75rem;
  }
  .manifesto-copy h2,
  .services-title-row h2,
  .founder-copy h2,
  .founder-journey h2,
  .experience-copy h2,
  .gallery-heading h2,
  .testimonials-layout h2,
  .booking-intro h2,
  .appointment h2,
  .services-catalog-section .service-catalog-heading h2 {
    font-size:2.25rem;
  }
  .testimonial-submit h3 {
    font-size:2rem;
  }
}

.editorial-link { display:inline-flex; align-items:center; gap:18px; margin-top:28px; padding-bottom:7px; color:var(--plum); border-bottom:1px solid currentColor; font-size:.78rem; font-weight:700; }
.breadcrumbs { color:var(--muted); background:var(--ivory); border-bottom:1px solid var(--line); }
.breadcrumbs ol { display:flex; align-items:center; gap:10px; min-height:46px; margin:0; padding:0; list-style:none; font-size:.68rem; }
.breadcrumbs li { display:flex; align-items:center; gap:10px; }
.breadcrumbs li+li::before { content:"/"; color:var(--pink); }
.breadcrumbs a { transition:color .2s; }
.breadcrumbs a:hover { color:var(--plum); }
.breadcrumbs [aria-current="page"] { color:var(--ink); font-weight:600; }
.welcome-letter { background:var(--paper); text-align:center; }
.welcome-letter-inner { max-width:1050px; }
.welcome-letter .kicker { justify-content:center; }
.welcome-letter .kicker i:last-child { display:block; }
.welcome-letter h2 { margin:25px 0 48px; font-size:clamp(2.7rem,4vw,3.2rem); }
.welcome-letter blockquote { position:relative; margin:0; padding:55px clamp(35px,7vw,90px); background:var(--ivory); border:1px solid var(--line); box-shadow:0 18px 55px rgba(83,61,67,.07); }
.welcome-letter blockquote::after { content:""; position:absolute; left:50%; bottom:-17px; width:32px; height:32px; background:var(--ivory); border-right:1px solid var(--line); border-bottom:1px solid var(--line); transform:translateX(-50%) rotate(45deg); }
.welcome-letter blockquote>span { position:absolute; top:0; left:0; display:grid; place-items:center; width:76px; height:76px; color:white; background:var(--pink); font-family:"Italiana",serif; font-size:4rem; line-height:1; }
.welcome-letter blockquote p { max-width:810px; margin:0 auto; color:var(--muted); font-family:"Italiana",serif; font-size:clamp(1.55rem,2.3vw,2rem); line-height:1.5; }
.welcome-letter footer { display:grid; gap:3px; justify-items:center; margin-top:50px; }
.welcome-letter footer strong { font-size:.9rem; letter-spacing:.04em; text-transform:uppercase; }
.welcome-letter footer small { color:var(--plum); font-family:"Italiana",serif; font-size:1.25rem; }
.editorial-page { background:var(--ivory); }
.editorial-hero { padding:72px 0 0; background:linear-gradient(135deg,var(--blush),var(--soft)); }
.editorial-hero-grid { display:grid; grid-template-columns:.92fr 1.08fr; align-items:center; gap:clamp(55px,8vw,120px); min-height:680px; }
.editorial-hero-copy { padding:80px 0; }
.editorial-hero-copy h1 { max-width:680px; margin:25px 0 30px; font-size:clamp(3.7rem,5.5vw,4.4rem); }
.editorial-hero-copy>p { max-width:600px; color:var(--muted); font-size:1.08rem; line-height:1.8; }
.editorial-hero figure { align-self:stretch; margin:0; min-height:680px; }
.editorial-hero figure img { width:100%; height:100%; object-fit:cover; border-radius:0; }
.expertise-hero figure img { object-position:center; }
.editorial-story-grid { display:grid; grid-template-columns:.42fr 1.58fr; gap:clamp(55px,9vw,140px); }
.editorial-story aside { display:flex; align-items:flex-start; gap:18px; color:var(--plum); border-top:1px solid var(--line); padding-top:24px; }
.editorial-story aside span { font-size:.66rem; font-weight:700; }
.editorial-story aside strong { max-width:190px; font-family:"Italiana",serif; font-size:1.4rem; font-weight:400; line-height:1.25; }
.editorial-story article { max-width:820px; }
.editorial-story article>p { margin:0 0 26px; color:var(--muted); font-size:1rem; line-height:1.9; }
.editorial-story article>.editorial-lead { color:var(--ink); font-family:"Italiana",serif; font-size:clamp(1.8rem,3vw,2.6rem); line-height:1.35; }
.editorial-highlights { display:grid; grid-template-columns:repeat(3,1fr); margin-top:60px; border-block:1px solid var(--line); }
.editorial-highlights div { min-height:145px; padding:28px 24px; border-inline-end:1px solid var(--line); }
.editorial-highlights div:last-child { border:0; }
.editorial-highlights span,.editorial-highlights strong { display:block; }
.editorial-highlights span { margin-bottom:25px; color:var(--pink); font-size:.65rem; font-weight:700; }
.editorial-highlights strong { font-family:"Italiana",serif; font-size:1.35rem; font-weight:400; line-height:1.25; }
.expertise-credentials { background:var(--paper); }
.expertise-credentials h2 { max-width:760px; margin:22px 0 0; font-size:clamp(2.7rem,4vw,3.2rem); }
.editorial-highlights-four { grid-template-columns:repeat(4,1fr); }
.editorial-cta { padding:105px 0; color:var(--ink); background:var(--blush); text-align:center; }
.editorial-cta .kicker { justify-content:center; }
.editorial-cta h2 { max-width:790px; margin:24px auto 38px; font-size:clamp(2.7rem,4vw,3.2rem); }

@media (max-width:900px) {
  .editorial-hero-grid { grid-template-columns:1fr; gap:0; }
  .editorial-hero-copy { padding:70px 0 55px; }
  .editorial-hero figure { min-height:520px; }
  .editorial-story-grid { grid-template-columns:1fr; gap:50px; }
  .editorial-highlights-four { grid-template-columns:1fr 1fr; }
}

@media (max-width:700px) {
  .welcome-letter h2 { margin-bottom:35px; font-size:2.25rem; }
  .welcome-letter blockquote { padding:70px 24px 38px; }
  .welcome-letter blockquote>span { width:58px; height:58px; font-size:3rem; }
  .welcome-letter blockquote p { font-size:1.45rem; }
  .editorial-hero { padding-top:0; }
  .editorial-hero-copy h1 { font-size:2.75rem; }
  .editorial-hero figure { min-height:390px; }
  .editorial-story article>.editorial-lead { font-size:1.75rem; }
  .editorial-highlights,.editorial-highlights-four { grid-template-columns:1fr; }
  .editorial-highlights div { min-height:auto; border-inline-end:0; border-bottom:1px solid var(--line); }
  .editorial-cta h2,.expertise-credentials h2 { font-size:2.25rem; }
}
