:root{--ink:#0a0908;--ink2:#15110d;--ivory:#f6f0e6;--ivory2:#fffaf1;--gold:#d8a84f;--gold2:#f2d189;--muted:#a99d8c;--line:rgba(216,168,79,.28);--glass:rgba(16,12,8,.62);--shadow:0 28px 80px rgba(0,0,0,.28);--serif:"Bodoni 72","Didot","Iowan Old Style","Times New Roman",serif;--sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--shell:min(1500px,calc(100vw - 56px))}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{margin:0;font-family:var(--sans);background:var(--ink);color:var(--ivory);-webkit-font-smoothing:antialiased}body,button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit}.ff-shell{width:var(--shell);margin-inline:auto}.ff-skip{position:fixed;left:16px;top:-100px;z-index:99999;background:#fff;color:#000;padding:12px 16px}.ff-skip:focus{top:16px}.ff-kicker{font:700 11px/1.2 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--gold2);margin:0 0 20px}.ff-section{position:relative;padding:110px 0}.ff-section-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.55fr);align-items:end;gap:60px;margin-bottom:56px}.ff-section-head h2{font:400 clamp(54px,6vw,96px)/.91 var(--serif);letter-spacing:-.045em;margin:0;color:var(--ink)}.ff-section-head h2 em{font-weight:400;color:#9e6d2d}.ff-section-head>p{font-size:17px;line-height:1.65;color:#655b50;margin:0 0 8px;max-width:520px}
/* Header */.ff-header{position:fixed;inset:14px 0 auto;z-index:1000;padding:0 18px;transition:.3s ease}.ff-header-shell{max-width:1540px;margin:auto;height:82px;border:1px solid rgba(255,255,255,.12);border-radius:28px;background:linear-gradient(120deg,rgba(12,9,7,.76),rgba(46,32,19,.58));backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%);box-shadow:0 18px 55px rgba(0,0,0,.22);display:grid;grid-template-columns:100px 1fr auto;align-items:center;padding:0 16px 0 14px;transition:.3s ease}.ff-header.is-scrolled .ff-header-shell{height:70px;background:rgba(9,7,5,.88);box-shadow:0 20px 55px rgba(0,0,0,.35)}.ff-logo{width:92px;height:92px;display:grid;place-items:center;transition:.35s ease}.ff-logo img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 20px rgba(0,0,0,.24))}.ff-header.is-scrolled .ff-logo{width:80px;height:80px}.ff-nav{display:flex;justify-content:center;gap:7px}.ff-nav-pill{position:relative;display:grid;place-items:center;height:43px;padding:0 18px;border-radius:999px;border:1px solid rgba(229,192,119,.18);font-size:13px;font-weight:600;letter-spacing:.02em;color:#f8efe1;overflow:hidden;transition:.28s ease}.ff-nav-pill:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 0,rgba(246,210,142,.20) 42%,rgba(255,255,255,.30) 50%,rgba(246,210,142,.18) 58%,transparent 100%);transform:translateX(-130%);transition:transform .5s ease}.ff-nav-pill:hover{border-color:rgba(239,201,126,.75);background:rgba(222,171,80,.14);transform:translateY(-2px);box-shadow:0 9px 24px rgba(204,144,57,.12)}.ff-nav-pill:hover:before{transform:translateX(130%)}.ff-head-actions{display:flex;align-items:center;gap:9px}.ff-language{display:flex;align-items:center;border:1px solid rgba(236,199,127,.27);border-radius:999px;padding:4px;background:rgba(255,255,255,.035)}.ff-language a{display:grid;place-items:center;min-width:38px;height:34px;border-radius:999px;font-size:11px;font-weight:800;color:#9f9385;transition:.2s}.ff-language a.is-active{background:#f5e2b9;color:#15100b;box-shadow:0 5px 18px rgba(239,192,95,.20)}.ff-book{display:inline-flex;align-items:center;justify-content:center;gap:18px;border-radius:999px}.ff-book-top{height:43px;padding:0 20px;background:linear-gradient(135deg,#f5dfa9,#d79c39);color:#1a1109;font:700 13px/1 var(--sans);box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 12px 30px rgba(181,119,37,.20);transition:.25s ease}.ff-book-top:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 16px 38px rgba(181,119,37,.30)}.ff-menu{display:none;width:42px;height:42px;border:1px solid rgba(239,201,126,.25);border-radius:50%;background:transparent}.ff-menu span{display:block;width:16px;height:1px;background:#fff;margin:4px auto}
/* Hero */.ff-hero{position:relative;min-height:100svh;overflow:hidden;background:#0a0806}.ff-hero-media,.ff-hero-img,.ff-hero-shade,.ff-hero-grain{position:absolute;inset:0}.ff-hero-img{width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.03);transition:opacity 1.5s ease,transform 7s ease}.ff-hero-img.is-active{opacity:1;transform:scale(1.095)}.ff-hero-shade{background:linear-gradient(90deg,rgba(6,4,3,.82) 0%,rgba(6,4,3,.50) 40%,rgba(6,4,3,.10) 72%,rgba(6,4,3,.34) 100%),linear-gradient(180deg,rgba(0,0,0,.26),transparent 30%,rgba(0,0,0,.36))}.ff-hero-grain{opacity:.12;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}.ff-hero-content{position:relative;z-index:2;min-height:100svh;display:flex;align-items:center;padding:150px 0 110px}.ff-hero-copy{max-width:700px}.ff-hero-copy h1{font:400 clamp(76px,9vw,154px)/.78 var(--serif);letter-spacing:-.055em;margin:0;color:#fff8ed;text-shadow:0 14px 50px rgba(0,0,0,.25)}.ff-hero-copy h1 em{font-weight:400;color:var(--gold2)}.ff-hero-note{max-width:530px;margin:34px 0 0;font-size:18px;line-height:1.65;color:#e8dfd3}.ff-hero-actions{display:flex;gap:12px;margin-top:34px}.ff-cta{min-height:54px;padding:0 23px;border-radius:999px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:28px;font-size:13px;font-weight:750;cursor:pointer;transition:.25s ease}.ff-cta span{font-size:18px}.ff-cta-gold{background:linear-gradient(135deg,#f3d99e,#d49536);color:#160f09;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 18px 38px rgba(199,132,41,.21)}.ff-cta-gold:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 22px 48px rgba(199,132,41,.32)}.ff-cta-glass{border-color:rgba(255,255,255,.30);background:rgba(13,10,8,.25);backdrop-filter:blur(14px);color:#fff}.ff-cta-glass:hover{background:rgba(255,255,255,.10);border-color:rgba(239,205,138,.55)}.ff-hero-counter{position:absolute;right:0;bottom:130px;display:flex;align-items:center;gap:13px;font:700 11px var(--sans);letter-spacing:.16em;color:#fff}.ff-hero-counter i{width:64px;height:1px;background:rgba(255,255,255,.4)}.ff-hero-marquee{position:absolute;bottom:0;left:0;right:0;height:56px;display:flex;align-items:center;overflow:hidden;border-top:1px solid rgba(255,255,255,.13);background:rgba(4,3,2,.38);backdrop-filter:blur(10px);color:#d7b976;font:700 10px var(--sans);letter-spacing:.28em;white-space:nowrap}.ff-hero-marquee span{min-width:max-content;padding-right:70px;animation:ffMarquee 18s linear infinite}@keyframes ffMarquee{to{transform:translateX(-100%)}}
/* Services */.ff-services{background:var(--ivory);color:var(--ink)}.ff-service-editorial{display:grid;grid-template-columns:.75fr 1.65fr;gap:22px}.ff-service-index{border-top:1px solid rgba(34,26,18,.18)}.ff-service-tab{width:100%;min-height:76px;padding:0 7px;border:0;border-bottom:1px solid rgba(34,26,18,.18);background:transparent;color:#2c231a;display:grid;grid-template-columns:46px 1fr auto;align-items:center;text-align:left;cursor:pointer;transition:.25s}.ff-service-tab span{font-size:10px;color:#a07738;letter-spacing:.12em}.ff-service-tab strong{font:400 clamp(23px,2.2vw,37px)/1 var(--serif);letter-spacing:-.025em}.ff-service-tab i{font-style:normal;width:37px;height:37px;border-radius:50%;border:1px solid rgba(56,42,29,.18);display:grid;place-items:center;transition:.25s}.ff-service-tab:hover,.ff-service-tab.is-active{padding-left:12px;background:linear-gradient(90deg,rgba(218,169,81,.12),transparent)}.ff-service-tab.is-active i{background:#17110c;color:#fff;border-color:#17110c;transform:rotate(45deg)}.ff-service-feature{min-height:620px;border-radius:34px;overflow:hidden;display:grid;grid-template-columns:1.15fr .85fr;background:#18110c;color:#fff;box-shadow:0 34px 80px rgba(48,31,16,.15)}.ff-service-image-wrap{overflow:hidden}.ff-service-image-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:.5s ease}.ff-service-copy{padding:58px 48px;display:flex;flex-direction:column;justify-content:center}.ff-service-copy h3{font:400 clamp(54px,5vw,84px)/.92 var(--serif);letter-spacing:-.045em;margin:8px 0 24px}.ff-service-copy>p:not(.ff-kicker){font-size:16px;line-height:1.65;color:#cdbfaf;margin:0 0 26px}.ff-mini-prices{border-top:1px solid rgba(255,255,255,.12);margin-bottom:30px}.ff-mini-prices>div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.09);font-size:13px}.ff-mini-prices strong{color:var(--gold2)}.ff-service-actions{display:flex;gap:10px;flex-wrap:wrap}.ff-cta-ink{background:#f2d393;color:#17100a}.ff-cta-outline{border-color:rgba(242,211,147,.30);background:transparent;color:#fff}
/* Gallery */.ff-gallery{background:#0b0907}.ff-gallery .ff-section-head h2{color:#fff8ee}.ff-gallery .ff-section-head h2 em{color:var(--gold2)}.ff-gallery .ff-section-head>p{color:#b9ad9d}.ff-gallery-teaser{display:grid;grid-template-columns:1.5fr .85fr .85fr .7fr;gap:12px;min-height:410px}.ff-gallery-card{position:relative;border:0;padding:0;border-radius:28px;overflow:hidden;background:#18120e;cursor:pointer}.ff-gallery-card img{width:100%;height:100%;object-fit:cover;display:block;transition:.55s ease;filter:saturate(.95) contrast(1.02)}.ff-gallery-card:hover img{transform:scale(1.025);filter:saturate(1.03) contrast(1.04)}.ff-gallery-card span{position:absolute;left:16px;right:16px;bottom:14px;display:flex;justify-content:space-between;align-items:end;color:#fff}.ff-gallery-card b{font-size:10px;letter-spacing:.14em}.ff-gallery-card small{font-size:11px;color:#f0cd84}.ff-gallery-note{border:1px solid rgba(241,204,133,.18);border-radius:28px;padding:28px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));display:flex;flex-direction:column;justify-content:flex-end}.ff-gallery-note>span{font:400 70px/.8 var(--serif);color:#d5a855;opacity:.88}.ff-gallery-note strong{font:400 28px/1.05 var(--serif);margin:26px 0}.ff-gallery-note button{border:0;background:none;color:#f1cf89;text-align:left;padding:0;cursor:pointer;font-weight:700}.ff-gallery-card-2,.ff-gallery-card-3{min-height:410px}
/* About */.ff-about{background:linear-gradient(135deg,#f7f1e7,#eee0c9);color:var(--ink)}.ff-about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:start}.ff-about-statement h2{font:400 clamp(58px,6.7vw,108px)/.88 var(--serif);letter-spacing:-.055em;margin:0}.ff-about-statement h2 em{font-weight:400;color:#a16b28}.ff-about-copy{padding-top:80px}.ff-about-copy p{font-size:18px;line-height:1.78;color:#5f554a;margin:0 0 22px}.ff-about-values{display:flex;gap:9px;flex-wrap:wrap;margin-top:35px}.ff-about-values span{border:1px solid rgba(60,44,29,.16);border-radius:999px;padding:11px 17px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;background:rgba(255,255,255,.42)}
/* Contact */.ff-contact{background:#080706}.ff-contact-panel{display:grid;grid-template-columns:.85fr 1.15fr;border:1px solid rgba(239,203,134,.19);border-radius:36px;overflow:hidden;background:radial-gradient(circle at 10% 0,rgba(221,166,70,.13),transparent 34%),linear-gradient(135deg,#100c09,#070605)}.ff-contact-intro{padding:64px}.ff-contact-intro h2{font:400 clamp(58px,6vw,96px)/.86 var(--serif);letter-spacing:-.05em;margin:0 0 30px}.ff-contact-intro h2 em{font-weight:400;color:var(--gold2)}.ff-contact-intro>p:not(.ff-kicker){color:#b8ab9a;line-height:1.7;max-width:460px}.ff-contact-actions{border-left:1px solid rgba(255,255,255,.09)}.ff-contact-actions>a,.ff-contact-actions>button{width:100%;min-height:92px;border:0;border-bottom:1px solid rgba(255,255,255,.09);background:transparent;color:#fff;display:grid;grid-template-columns:52px 1fr auto;align-items:center;padding:0 28px;text-align:left;cursor:pointer;transition:.25s}.ff-contact-actions>a:hover,.ff-contact-actions>button:hover{background:linear-gradient(90deg,rgba(216,168,79,.14),transparent);padding-left:34px}.ff-contact-actions span{font-size:10px;color:#b98c48}.ff-contact-actions strong{font:400 clamp(20px,2vw,31px) var(--serif)}.ff-contact-actions i{font-style:normal;color:var(--gold2)}.ff-social-row{display:grid;grid-template-columns:.45fr 1.55fr;gap:25px;align-items:start;margin-top:28px}.ff-social-row>p{font:400 30px var(--serif);margin:10px 0}.ff-social-row>div{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.ff-social-row a{min-height:86px;border:1px solid rgba(239,203,134,.17);border-radius:22px;padding:16px;display:grid;grid-template-columns:1fr auto;align-content:center;background:rgba(255,255,255,.035);transition:.25s}.ff-social-row a:hover{transform:translateY(-3px);border-color:rgba(239,203,134,.42);background:rgba(255,255,255,.06)}.ff-social-row strong{font-size:13px}.ff-social-row small{grid-column:1;color:#9c9185;margin-top:6px}.ff-social-row span{grid-column:2;grid-row:1/3;color:var(--gold2);align-self:center}
/* Footer */.ff-footer{background:#050404;border-top:1px solid rgba(255,255,255,.08);padding:24px 0}.ff-footer-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}.ff-footer-inner>div{display:flex;align-items:center;gap:12px}.ff-footer img{width:46px;height:46px;object-fit:contain}.ff-footer span{font-size:10px;letter-spacing:.18em}.ff-footer strong{font:400 18px var(--serif);color:#d5b071}.ff-footer nav{justify-self:end;display:flex;gap:12px}.ff-footer button{border:0;background:none;color:#9f958a;font-size:11px;cursor:pointer}
/* Dialogs */dialog.ff-dialog{border:1px solid rgba(242,207,140,.26);border-radius:30px;padding:32px;background:linear-gradient(145deg,#130e0a,#080605);color:#fff;box-shadow:0 45px 120px rgba(0,0,0,.64);width:min(920px,calc(100vw - 28px));max-height:min(90dvh,860px);overflow:auto}dialog.ff-dialog::backdrop{background:rgba(3,2,2,.78);backdrop-filter:blur(18px) saturate(120%)}.ff-dialog-close{position:sticky;top:0;margin-left:auto;z-index:3;width:52px;height:52px;border-radius:50%;border:1px solid rgba(247,208,132,.58);background:#1a120c;color:#fff;font-size:31px;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 12px 30px rgba(0,0,0,.3)}.ff-dialog-head h2,.ff-copy-dialog h2{font:400 clamp(42px,5vw,70px)/.95 var(--serif);margin:0 0 28px}.ff-booking-dialog{width:min(1050px,calc(100vw - 28px))!important}.ff-book-frame{height:min(70dvh,720px);border-radius:20px;overflow:hidden;background:#fff}.ff-book-frame iframe{width:100%;height:100%;border:0}.ff-dialog-fallback{display:inline-block;margin-top:15px;color:var(--gold2);font-size:12px}.ff-gallery-dialog{width:min(1220px,calc(100vw - 28px))!important}.ff-gallery-dialog-stage{display:grid;grid-template-columns:54px minmax(0,1fr) 54px;gap:12px;align-items:center}.ff-gallery-dialog-stage>button{width:48px;height:48px;border:1px solid rgba(240,203,132,.3);border-radius:50%;background:rgba(255,255,255,.04);color:#fff;cursor:pointer}.ff-gallery-dialog figure{margin:0;height:min(66dvh,700px);display:flex;flex-direction:column}.ff-gallery-dialog figure img{width:100%;min-height:0;flex:1;object-fit:contain;background:#050403;border-radius:18px}.ff-gallery-dialog figcaption{display:flex;justify-content:space-between;padding:12px 4px 0;color:#d1c6b9;font-size:11px}.ff-gallery-dialog-thumbs{display:flex;gap:8px;overflow-x:auto;padding-top:12px}.ff-gallery-dialog-thumbs button{flex:0 0 100px;height:72px;border:1px solid transparent;border-radius:12px;padding:0;overflow:hidden;background:none}.ff-gallery-dialog-thumbs button.is-active{border-color:#e0b35e}.ff-gallery-dialog-thumbs img{width:100%;height:100%;object-fit:cover}.ff-price-list{margin:0 0 26px;border-top:1px solid rgba(255,255,255,.11)}.ff-price-list>div{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.09)}.ff-price-list strong{color:var(--gold2)}.ff-contact-form{display:grid;gap:14px}.ff-contact-form label{display:grid;gap:7px;color:#cbbba8;font-size:12px}.ff-contact-form input,.ff-contact-form textarea{width:100%;border:1px solid rgba(255,255,255,.14);border-radius:15px;background:rgba(255,255,255,.05);color:#fff;padding:14px;outline:none}.ff-contact-form input:focus,.ff-contact-form textarea:focus{border-color:#d8aa55;box-shadow:0 0 0 3px rgba(216,170,85,.12)}.ff-hp{position:absolute!important;left:-9999px!important}.ff-copy-dialog p{font-size:16px;line-height:1.8;color:#c9bcac}
/* Service pages */.fetf-service-page{background:#f4eee4;color:#17100b;padding:150px 0 90px}.fetf-service-page .fetf-shell{width:var(--shell);margin:auto}.fetf-service-page h1{font:400 clamp(58px,7vw,110px)/.9 var(--serif);letter-spacing:-.05em}.fetf-service-page a,.fetf-service-page button{border-radius:999px}
/* Responsive */@media(max-width:1100px){:root{--shell:min(100% - 34px,1200px)}.ff-header-shell{grid-template-columns:86px 1fr auto}.ff-logo{width:82px;height:82px}.ff-nav-pill{padding:0 12px}.ff-service-editorial{grid-template-columns:1fr}.ff-service-index{display:grid;grid-template-columns:repeat(3,1fr)}.ff-service-tab{min-height:68px}.ff-service-feature{grid-template-columns:1fr 1fr;min-height:540px}.ff-gallery-teaser{grid-template-columns:1.25fr .8fr .8fr}.ff-gallery-note{grid-column:1/-1;min-height:160px}.ff-about-grid{gap:50px}.ff-contact-intro{padding:48px}.ff-social-row{grid-template-columns:1fr}.ff-social-row>div{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){:root{--shell:min(100% - 26px,760px)}.ff-header{inset:8px 0 auto;padding:0 8px}.ff-header-shell{height:64px;border-radius:22px;grid-template-columns:68px 1fr auto;padding:0 8px}.ff-logo{width:72px;height:72px}.ff-nav{display:none;position:absolute;top:72px;left:8px;right:8px;padding:10px;grid-template-columns:1fr 1fr;background:rgba(8,6,5,.94);border:1px solid rgba(239,203,134,.25);border-radius:22px;backdrop-filter:blur(20px)}.ff-header.is-menu-open .ff-nav{display:grid}.ff-nav-pill{height:44px}.ff-menu{display:block}.ff-book-top{height:38px;padding:0 12px;font-size:11px;gap:8px}.ff-language a{min-width:34px;height:32px}.ff-hero-content{padding:125px 0 90px;align-items:flex-end}.ff-hero-copy h1{font-size:clamp(68px,18vw,108px)}.ff-hero-note{font-size:16px;margin-top:24px}.ff-hero-actions{flex-direction:column;align-items:stretch;max-width:400px}.ff-hero-counter{right:0;bottom:90px}.ff-section{padding:78px 0}.ff-section-head{grid-template-columns:1fr;gap:20px;margin-bottom:34px}.ff-section-head h2{font-size:clamp(52px,13vw,76px)}.ff-service-index{grid-template-columns:1fr 1fr}.ff-service-tab strong{font-size:25px}.ff-service-feature{grid-template-columns:1fr;min-height:0}.ff-service-image-wrap{aspect-ratio:1.15}.ff-service-copy{padding:34px 26px}.ff-service-copy h3{font-size:54px}.ff-gallery-teaser{grid-template-columns:1fr 1fr;min-height:0}.ff-gallery-card{min-height:220px}.ff-gallery-card-1{grid-column:1/-1;min-height:300px}.ff-gallery-note{grid-column:1/-1}.ff-about-grid{grid-template-columns:1fr}.ff-about-copy{padding-top:0}.ff-contact-panel{grid-template-columns:1fr}.ff-contact-actions{border-left:0;border-top:1px solid rgba(255,255,255,.09)}.ff-social-row>div{grid-template-columns:1fr 1fr}.ff-footer-inner{grid-template-columns:1fr auto}.ff-footer-inner>strong{display:none}.ff-footer nav{grid-column:1/-1;justify-self:start}.ff-gallery-dialog-stage{grid-template-columns:40px minmax(0,1fr) 40px}.ff-gallery-dialog-stage>button{width:38px;height:38px}}
@media(max-width:520px){:root{--shell:calc(100vw - 20px)}.ff-header-shell{grid-template-columns:62px 1fr auto;gap:5px}.ff-logo{width:66px;height:66px}.ff-head-actions{gap:5px}.ff-language{padding:3px}.ff-language a{min-width:30px;height:30px;font-size:10px}.ff-book-top{padding:0 10px;min-width:0}.ff-book-top span{display:none}.ff-hero-copy h1{font-size:clamp(64px,21vw,94px)}.ff-kicker{font-size:9px}.ff-hero-counter{display:none}.ff-service-index{grid-template-columns:1fr}.ff-service-tab{grid-template-columns:38px 1fr auto}.ff-service-copy h3{font-size:48px}.ff-service-actions{display:grid}.ff-gallery-teaser{grid-template-columns:1fr}.ff-gallery-card{min-height:190px}.ff-gallery-card-1{min-height:250px}.ff-about-statement h2{font-size:60px}.ff-about-copy p{font-size:16px}.ff-contact-intro{padding:34px 24px}.ff-contact-intro h2{font-size:58px}.ff-contact-actions>a,.ff-contact-actions>button{min-height:78px;padding:0 20px;grid-template-columns:40px 1fr auto}.ff-social-row>div{grid-template-columns:1fr}.ff-footer-inner{grid-template-columns:1fr}.ff-footer nav{flex-wrap:wrap}.ff-dialog{padding:18px!important;border-radius:22px!important}.ff-dialog-close{width:54px;height:54px;font-size:34px}.ff-gallery-dialog-stage{grid-template-columns:1fr}.ff-gallery-dialog-stage>button{position:absolute;z-index:3}.ff-gallery-dialog-stage>button:first-child{left:20px}.ff-gallery-dialog-stage>button:last-child{right:20px}.ff-gallery-dialog figure{height:min(62dvh,560px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ff-hero-img,.ff-nav-pill:before,.ff-hero-marquee span{transition:none!important;animation:none!important}}
/* Search landing / service pages */.ff-service-page{background:var(--ivory);color:var(--ink)}.ff-service-hero{padding:160px 0 90px;background:linear-gradient(135deg,#0d0907,#1a110b);color:#fff}.ff-service-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px;align-items:stretch}.ff-service-hero-copy{padding:52px;border:1px solid rgba(242,205,137,.18);border-radius:34px;background:radial-gradient(circle at 0 0,rgba(216,168,79,.13),transparent 36%),rgba(255,255,255,.025);display:flex;flex-direction:column;justify-content:center}.ff-service-back{font-size:12px;color:#d8b56f;margin-bottom:50px}.ff-service-hero h1{font:400 clamp(64px,7vw,112px)/.87 var(--serif);letter-spacing:-.05em;margin:0 0 26px}.ff-service-hero-copy>p:not(.ff-kicker){font-size:17px;line-height:1.7;color:#c9bdaf;max-width:600px;margin:0 0 30px}.ff-service-hero-copy .ff-cta{align-self:flex-start}.ff-service-hero-media{margin:0;border-radius:34px;overflow:hidden;min-height:650px}.ff-service-hero-media img{width:100%;height:100%;object-fit:cover}.ff-service-content{padding:100px 0}.ff-service-content-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:22px}.ff-service-prices,.ff-service-aside{border-radius:30px;padding:48px;background:#fff;border:1px solid rgba(70,48,28,.10);box-shadow:0 22px 60px rgba(66,40,17,.08)}.ff-service-prices h2{font:400 clamp(48px,5vw,78px)/.92 var(--serif);letter-spacing:-.045em;margin:0 0 35px}.ff-service-price-list{border-top:1px solid rgba(45,32,21,.15)}.ff-service-price-list>div{display:flex;justify-content:space-between;gap:25px;padding:16px 0;border-bottom:1px solid rgba(45,32,21,.12)}.ff-service-price-list span{font-size:14px}.ff-service-price-list strong{color:#9a6528}.ff-service-aside{background:#18110c;color:#fff;align-self:start;position:sticky;top:110px}.ff-service-aside h3{font:400 43px/1 var(--serif);margin:0 0 24px}.ff-service-aside p{color:#c8baab;line-height:1.7}.ff-service-aside>a{display:inline-block;margin-top:16px;color:#edc875;font-weight:700}.ff-related{margin-top:60px}.ff-related>div{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.ff-related a{min-height:155px;border:1px solid rgba(57,39,23,.13);border-radius:24px;padding:24px;background:rgba(255,255,255,.42);display:grid;grid-template-columns:1fr auto;align-content:center;transition:.25s}.ff-related a:hover{transform:translateY(-3px);background:#fff}.ff-related strong{font:400 31px var(--serif)}.ff-related small{grid-column:1;color:#75695d;margin-top:8px}.ff-related span{grid-column:2;grid-row:1/3;color:#a06b2a;align-self:center}
@media(max-width:820px){.ff-service-hero-grid,.ff-service-content-grid{grid-template-columns:1fr}.ff-service-hero-copy{padding:34px 26px}.ff-service-hero-media{min-height:420px}.ff-service-aside{position:static}.ff-related>div{grid-template-columns:1fr}.ff-service-prices,.ff-service-aside{padding:32px 24px}}

/* v10.3 interaction hardening: custom fixed overlays avoid native-dialog scroll/focus jumps. */
html.ff-overlay-open,body.ff-overlay-open{overflow:hidden!important;overscroll-behavior:none}
.ff-overlay[hidden]{display:none!important}
.ff-overlay{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:18px;background:rgba(3,2,2,.78);backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%);opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease}
.ff-overlay.is-open{opacity:1;visibility:visible}
.ff-overlay-panel{position:relative;width:min(920px,calc(100vw - 28px));max-height:min(90dvh,860px);overflow:auto;border:1px solid rgba(242,207,140,.26);border-radius:30px;padding:32px;background:linear-gradient(145deg,#130e0a,#080605);color:#fff;box-shadow:0 45px 120px rgba(0,0,0,.64);transform:translateY(12px) scale(.985);transition:transform .2s cubic-bezier(.2,.8,.2,1)}
.ff-overlay.is-open .ff-overlay-panel{transform:none}
.ff-overlay .ff-dialog-close{position:sticky;top:0;float:right;margin:0 0 10px 16px;z-index:20;width:58px;height:58px;border-radius:50%;border:1px solid rgba(247,208,132,.72);background:linear-gradient(145deg,#2a1c11,#0d0906);color:#fff;font-size:34px;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 14px 38px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.12)}
.ff-overlay .ff-dialog-close:hover,.ff-overlay .ff-dialog-close:focus-visible{transform:scale(1.06);border-color:#f4cf84;outline:3px solid rgba(244,207,132,.18);outline-offset:3px}
.ff-booking-dialog{width:min(1050px,calc(100vw - 28px))}.ff-gallery-dialog{width:min(1220px,calc(100vw - 28px))}
.ff-dialog-fallback{margin-top:16px}
.ff-language a{cursor:pointer;position:relative;z-index:2}
@media(max-width:520px){.ff-overlay{padding:8px;place-items:end center}.ff-overlay-panel{width:100%;max-height:94dvh;border-radius:26px 26px 18px 18px;padding:20px 16px 18px}.ff-overlay .ff-dialog-close{position:sticky;top:2px;width:62px;height:62px;font-size:38px;background:#17100b;border-width:2px;box-shadow:0 16px 42px rgba(0,0,0,.55),0 0 0 5px rgba(240,197,111,.08)}.ff-gallery-dialog figure{height:min(60dvh,560px)}.ff-book-frame{height:min(68dvh,680px)}}

/* v10.7: editorial collection and original-photo gallery, visually distinct and accessible. */
.ff-gallery{background:#f8f5f0!important;color:#241912!important}
.ff-gallery .ff-shell{max-width:1160px!important}
.ff-gallery .ff-section-head{margin-bottom:30px!important;align-items:end!important}
.ff-gallery .ff-section-head h2{color:#21170f!important;letter-spacing:-.045em!important;line-height:.98!important}
.ff-gallery .ff-section-head h2 em{color:#a97644!important}
.ff-gallery .ff-section-head>p{color:#72675b!important;max-width:340px!important;line-height:1.6!important}
.ff-gallery-teaser{display:grid!important;grid-template-columns:minmax(0,1.777fr) minmax(0,.563fr) minmax(0,.75fr)!important;grid-template-rows:auto auto!important;gap:15px!important;align-items:stretch!important;min-height:0!important}
.ff-gallery-card{position:relative!important;display:block!important;min-width:0!important;min-height:0!important;height:auto!important;width:100%!important;overflow:hidden!important;border:1px solid rgba(83,59,38,.11)!important;border-radius:14px!important;background:#e4dbd3!important;box-shadow:0 10px 30px rgba(42,25,13,.08)!important;cursor:zoom-in!important;isolation:isolate!important;padding:0!important}
.ff-gallery-card-1{grid-column:1!important;grid-row:1!important;aspect-ratio:1672/941!important}
.ff-gallery-card-2{grid-column:2!important;grid-row:1!important;aspect-ratio:941/1672!important}
.ff-gallery-card-3{grid-column:3!important;grid-row:1!important;aspect-ratio:1086/1448!important}
.ff-gallery-card img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;filter:none!important;transform:none!important;transition:filter .24s ease,transform .4s ease!important;display:block!important}
.ff-gallery-card:hover img{transform:scale(1.012)!important;filter:brightness(.97)!important}
.ff-gallery-card:before{content:none!important}
.ff-gallery-card:after{content:''!important;position:absolute!important;inset:auto 0 0!important;height:26%!important;pointer-events:none!important;background:linear-gradient(transparent,rgba(11,8,6,.44))!important;z-index:1!important}
.ff-gallery-card span{position:absolute!important;left:14px!important;right:14px!important;bottom:12px!important;z-index:2!important;display:flex!important;justify-content:space-between!important;align-items:end!important;color:#fff!important;text-shadow:0 1px 6px rgba(0,0,0,.65)!important}
.ff-gallery-card b{font:600 10px/1.2 Arial,sans-serif!important;letter-spacing:.12em!important}
.ff-gallery-card small{font:600 10px/1.2 Arial,sans-serif!important;letter-spacing:.06em!important;color:#fff3e6!important}
.ff-gallery-note{grid-column:1/-1!important;grid-row:2!important;min-height:0!important;display:grid!important;grid-template-columns:70px 1fr auto!important;align-items:center!important;gap:18px!important;padding:18px 2px 0!important;border:0!important;border-top:1px solid rgba(122,84,47,.22)!important;border-radius:0!important;background:none!important;color:#241912!important}
.ff-gallery-note>span{font:600 11px/1 Arial,sans-serif!important;letter-spacing:.2em!important;color:#a17143!important;opacity:1!important}
.ff-gallery-note strong{font:400 clamp(22px,2.3vw,29px)/1.1 Georgia,serif!important;margin:0!important;color:#231811!important}
.ff-gallery-note button{font:600 12px/1.2 Arial,sans-serif!important;border:0!important;border-bottom:1px solid rgba(131,81,37,.4)!important;background:none!important;color:#814d24!important;padding:8px 0!important;text-align:left!important;cursor:pointer!important}
.ff-gallery-note button:hover{color:#3b2311!important;border-color:#3b2311!important}
.ff-gallery-disclosure{margin:10px 1px 0!important;font:400 11px/1.5 Arial,sans-serif!important;letter-spacing:.005em!important;color:#806e5d!important}
.ff-gallery-dialog{width:min(1120px,calc(100vw - 28px))!important;background:#130e0b!important;border:1px solid rgba(235,202,155,.20)!important;box-shadow:0 36px 90px rgba(0,0,0,.6)!important}
.ff-gallery-dialog-stage{display:grid!important;grid-template-columns:54px minmax(0,1fr) 54px!important;gap:8px!important;align-items:center!important}
.ff-gallery-dialog-stage>button{width:46px!important;height:46px!important;border-radius:50%!important;border:1px solid rgba(238,210,168,.36)!important;background:#211812!important;color:#fff!important;cursor:pointer!important}
.ff-gallery-dialog figure{margin:0!important;height:min(68dvh,670px)!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important}
.ff-gallery-dialog figure img{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:calc(min(68dvh,670px) - 35px)!important;min-width:0!important;min-height:0!important;flex:0 1 auto!important;object-fit:contain!important;background:transparent!important;border-radius:8px!important;box-shadow:0 12px 40px rgba(0,0,0,.26)!important;image-rendering:auto!important}
.ff-gallery-dialog figcaption{flex:0 0 auto!important;width:min(100%,880px)!important;display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;padding:12px 0 0!important;font-size:10px!important;letter-spacing:.07em!important;color:#dfd2c0!important;text-transform:uppercase!important}
.ff-gallery-dialog-thumbs{display:flex!important;gap:10px!important;justify-content:flex-start!important;overflow-x:auto!important;padding:16px 0 3px!important;scrollbar-width:thin!important;scrollbar-color:#856641 transparent!important}
.ff-gallery-dialog-thumbs button{flex:0 0 98px!important;height:72px!important;border:1px solid transparent!important;padding:0!important;overflow:hidden!important;border-radius:8px!important;background:#211811!important;opacity:.72!important;transition:opacity .15s ease,border-color .15s ease!important;cursor:pointer!important}
.ff-gallery-dialog-thumbs button:hover{opacity:1!important}
.ff-gallery-dialog-thumbs button.is-active{border-color:#e5c392!important;opacity:1!important}
.ff-gallery-dialog-thumbs img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
@media(max-width:900px){
 .ff-gallery-teaser{grid-template-columns:minmax(0,.563fr) minmax(0,.75fr)!important;grid-template-rows:auto auto auto!important;gap:10px!important}
 .ff-gallery-card-1{grid-column:1/-1!important;grid-row:1!important;aspect-ratio:1672/941!important}
 .ff-gallery-card-2{grid-column:1!important;grid-row:2!important;aspect-ratio:941/1672!important}
 .ff-gallery-card-3{grid-column:2!important;grid-row:2!important;aspect-ratio:1086/1448!important}
 .ff-gallery-note{grid-column:1/-1!important;grid-row:3!important;grid-template-columns:52px 1fr auto!important;gap:10px!important}
 .ff-gallery-dialog{padding:16px!important}
}
@media(max-width:520px){
 .ff-gallery .ff-section-head{margin-bottom:21px!important}
 .ff-gallery .ff-section-head>p{max-width:96%!important}
 .ff-gallery-card{border-radius:9px!important}
 .ff-gallery-card span{left:10px!important;right:10px!important;bottom:9px!important}
 .ff-gallery-note{grid-template-columns:1fr auto!important;gap:8px!important}
 .ff-gallery-note>span{display:none!important}
 .ff-gallery-note strong{font-size:21px!important}
 .ff-gallery-dialog-stage{grid-template-columns:minmax(0,1fr)!important;position:relative!important}
 .ff-gallery-dialog-stage>button{position:absolute!important;z-index:3!important;top:45%!important;transform:translateY(-50%)!important;width:40px!important;height:40px!important}
 .ff-gallery-dialog-stage>button:first-child{left:0!important}
 .ff-gallery-dialog-stage>button:last-child{right:0!important}
 .ff-gallery-dialog figure{height:min(56dvh,515px)!important}
 .ff-gallery-dialog figure img{max-height:calc(min(56dvh,515px) - 34px)!important}
 .ff-gallery-dialog-thumbs{gap:7px!important}
 .ff-gallery-dialog-thumbs button{flex-basis:80px!important;height:58px!important}
}
@media(prefers-reduced-motion:reduce){.ff-gallery-card img{transition:none!important}}

/* v10.8 - official brand slogan and six-image gallery. */
.ff-hero-copy{max-width:min(850px,100%)!important}
.ff-hero-copy h1.ff-hero-approved-slogan{font-size:clamp(52px,6.6vw,112px)!important;line-height:.93!important;letter-spacing:-.048em!important}
@media(max-width:820px){.ff-hero-copy h1.ff-hero-approved-slogan{font-size:clamp(48px,10vw,82px)!important;line-height:.96!important}}
@media(max-width:520px){.ff-hero-copy h1.ff-hero-approved-slogan{font-size:clamp(42px,11.6vw,62px)!important;line-height:.99!important}}

/* v10.9: Mobile header alignment and small-device elasticity.
   Explicit grid placement prevents the action group entering the empty nav column. */
@media (max-width: 820px) {
  .ff-header {
    left: 0;
    right: 0;
    top: max(8px, env(safe-area-inset-top, 0px));
    padding-left: max(8px, env(safe-area-inset-left, 0px));
    padding-right: max(8px, env(safe-area-inset-right, 0px));
  }
  .ff-header-shell {
    width: 100%;
    min-width: 0;
    grid-template-columns: 68px minmax(0, 1fr) max-content;
    column-gap: 4px;
    padding-left: 8px;
    padding-right: 10px;
  }
  .ff-logo { grid-column: 1; justify-self: start; }
  .ff-head-actions {
    grid-column: 3;
    justify-self: end;
    justify-content: flex-end;
    min-width: 0;
    margin-left: auto;
    gap: clamp(4px, 1.1vw, 9px);
    white-space: nowrap;
  }
  .ff-language, .ff-book-top { flex-shrink: 0; }
  .ff-menu {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    cursor: pointer;
    touch-action: manipulation;
  }
  .ff-nav {
    max-width: calc(100vw - 24px);
    max-height: calc(100vh - 94px);
    max-height: calc(100dvh - 94px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}
@media (max-width: 520px) {
  .ff-header-shell {
    grid-template-columns: 62px minmax(0, 1fr) max-content;
    column-gap: 3px;
    padding-left: 7px;
    padding-right: 8px;
  }
  .ff-logo { width: 66px; height: 66px; }
  .ff-head-actions { gap: 5px; }
  .ff-language { padding: 3px; }
  .ff-language a { min-width: 30px; }
  .ff-book-top { padding-inline: 10px; }
}
@media (max-width: 360px) {
  .ff-header-shell {
    grid-template-columns: 56px minmax(0, 1fr) max-content;
    padding-inline: 5px 6px;
    column-gap: 2px;
  }
  .ff-logo { width: 58px; height: 58px; }
  .ff-head-actions { gap: 4px; }
  .ff-language { padding: 2px; }
  .ff-language a { min-width: 28px; height: 30px; }
  .ff-book-top { height: 38px; padding-inline: 8px; font-size: 10px; }
  .ff-menu { width: 44px; height: 44px; flex-basis: 44px; }
}
@media (max-width: 320px) {
  .ff-header-shell { grid-template-columns: 50px minmax(0, 1fr) max-content; }
  .ff-logo { width: 52px; height: 52px; }
  .ff-book-top { padding-inline: 7px; font-size: 9px; }
  .ff-language a { min-width: 26px; }
}
/* Compact navigation on narrow tablets: desktop labels cannot always fit in French. */
@media (min-width: 821px) and (max-width: 980px) {
  .ff-header { inset: 8px 0 auto; top: max(8px, env(safe-area-inset-top, 0px)); padding: 0 10px; }
  .ff-header-shell {
    height: 70px;
    grid-template-columns: 80px minmax(0, 1fr) max-content;
    column-gap: 6px;
    padding-inline: 10px 12px;
  }
  .ff-logo { grid-column: 1; width: 80px; height: 80px; justify-self: start; }
  .ff-header.is-scrolled .ff-logo { width: 72px; height: 72px; }
  .ff-head-actions { grid-column: 3; justify-self: end; margin-left: auto; gap: 9px; }
  .ff-menu { display: block; flex: 0 0 44px; width: 44px; height: 44px; cursor: pointer; }
  .ff-nav {
    display: none;
    position: absolute;
    top: 78px;
    left: 10px;
    right: 10px;
    max-height: calc(100vh - 104px);
    max-height: calc(100dvh - 104px);
    overflow-y: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 12px;
    border: 1px solid rgba(239,203,134,.25);
    border-radius: 22px;
    background: rgba(8,6,5,.94);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
  }
  .ff-header.is-menu-open .ff-nav { display: grid; }
  .ff-nav-pill { min-width: 0; height: 46px; }
}

/* v11.0: Search-friendly service directory and individual treatments.
   Applies only to new content pages; existing homepage design remains unchanged. */
.ff-seo-breadcrumb{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-bottom:25px;font-size:12px;line-height:1.6;color:#d9bea0}
.ff-seo-breadcrumb a{color:#f0d09d;text-decoration:underline;text-underline-offset:4px}
.ff-intent-hero h1{font-size:clamp(52px,5.6vw,92px);line-height:.96;overflow-wrap:break-word}
.ff-intent-hero .ff-service-hero-media{min-height:470px}
.ff-intent-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.ff-seo-price{color:#f3d49b;font-size:15px;font-weight:600;text-decoration:none}
.ff-intent-content>p:not(.ff-kicker){font-size:16px;line-height:1.83;color:#4b4138;margin:0 0 18px;max-width:760px}
.ff-intent-content h2{font-size:clamp(39px,4.3vw,64px);margin-bottom:24px}
.ff-intent-prices{padding-top:30px;margin-top:33px;border-top:1px solid rgba(47,32,20,.17);scroll-margin-top:110px}
.ff-intent-prices h3,.ff-intent-faq h3{font:400 clamp(29px,3vw,40px)/1.12 var(--serif);margin:0 0 21px;color:#241a11}
.ff-intent-faq{padding-top:28px;margin-top:32px;border-top:1px solid rgba(47,32,20,.14)}
.ff-intent-faq h4{font-size:16px;font-weight:650;line-height:1.55;margin:0 0 8px;color:#2a2018}
.ff-intent-faq p{font-size:15px;line-height:1.8;color:#53473b;margin:0}
.ff-intent-social-label{margin-top:30px!important;margin-bottom:7px!important;font-size:12px!important;letter-spacing:.04em}
.ff-intent-socials{display:flex;flex-wrap:wrap;column-gap:16px;row-gap:8px}
.ff-intent-socials a{color:#f2d298;text-decoration:underline;text-underline-offset:3px;font-size:13px}
.ff-intent-directory{margin:26px 0 0}.ff-intent-directory a{color:#714719;text-decoration:underline;text-underline-offset:5px}
.ff-seo-intent-related{margin-top:64px}.ff-seo-intent-head{margin-bottom:22px}
.ff-seo-intent-head h2{font:400 clamp(36px,4.3vw,62px)/1.05 var(--serif);letter-spacing:-.03em;margin:10px 0;color:#21170d}
.ff-seo-intent-head p:not(.ff-kicker){max-width:670px;color:#6c5b49;line-height:1.6}
.ff-seo-intent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
.ff-seo-intent-grid>a{display:flex;align-items:center;gap:10px;min-width:0;text-decoration:none;border-bottom:1px solid rgba(55,36,19,.17);padding:19px 3px;color:#342516}
.ff-seo-intent-grid>a>span{flex:1;min-width:0;font:400 clamp(18px,2vw,24px)/1.25 var(--serif);overflow-wrap:anywhere}
.ff-seo-intent-grid>a>small{color:#856039;font-size:12px;white-space:nowrap}
.ff-seo-intent-grid>a>b{font-weight:400;color:#8f652f}
.ff-seo-intent-grid>a:hover{background:rgba(199,161,99,.1)}
.ff-seo-simple-hero{padding:175px 0 90px;background:linear-gradient(125deg,#130d09,#291c12);color:#fdf8ed}
.ff-seo-simple-hero .ff-shell{max-width:1100px}
.ff-seo-simple-hero .ff-service-back{display:inline-block;margin-bottom:48px}
.ff-seo-simple-hero h1{font:400 clamp(58px,7.3vw,116px)/.98 var(--serif);letter-spacing:-.055em;margin:20px 0 25px;overflow-wrap:break-word}
.ff-seo-simple-hero p:not(.ff-kicker){max-width:760px;color:#d5c6b5;font-size:clamp(16px,2vw,19px);line-height:1.75;margin:0}
.ff-seo-catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px}
.ff-seo-catalog-card{min-width:0;overflow:hidden;background:#fffcf7;border:1px solid rgba(85,54,24,.13);border-radius:28px;box-shadow:0 13px 45px rgba(37,26,15,.06)}
.ff-seo-catalog-thumb{height:175px;background:#23180f;overflow:hidden}
.ff-seo-catalog-thumb img{height:100%;width:100%;display:block;object-fit:cover}
.ff-seo-catalog-copy{padding:30px 33px 34px}
.ff-seo-catalog-copy h2{font:400 clamp(35px,3.4vw,49px)/1 var(--serif);margin:10px 0 15px;letter-spacing:-.025em}
.ff-seo-catalog-copy h2 a{color:#27190d;text-decoration:none}
.ff-seo-catalog-copy>p:not(.ff-kicker){color:#675849;line-height:1.7;max-width:520px}
.ff-seo-treatment-links{padding:0;margin:19px 0 21px;list-style:none}
.ff-seo-treatment-links li{margin:0}.ff-seo-treatment-links li a{display:flex;gap:13px;align-items:baseline;text-decoration:none;color:#2a1e13;padding:10px 0;border-bottom:1px solid rgba(80,54,27,.1);font-size:14px;line-height:1.5}
.ff-seo-treatment-links li a span{flex:1}.ff-seo-treatment-links li a small{color:#8d6637;white-space:nowrap;font-size:12px}
.ff-seo-all-prices{color:#815327;text-decoration:underline;text-underline-offset:5px;font-size:13px}
.ff-seo-catalog-end{padding-top:58px;display:flex;align-items:center;flex-wrap:wrap;gap:25px}
.ff-seo-catalog-end>p{flex-basis:100%;color:#6b5c4d;line-height:1.7;margin:0}
.ff-seo-catalog-end>a:not(.ff-cta){color:#765026;font-size:14px;text-decoration:underline;text-underline-offset:5px}
.ff-seo-visit-copy address{font-size:19px;line-height:1.8;font-style:normal;color:#302319;margin:15px 0 27px}
.ff-seo-visit-copy h3{font:400 32px/1.2 var(--serif);margin:35px 0 12px}
.ff-seo-visit-copy>p{line-height:1.8;color:#51463c}
.ff-seo-area-list{list-style:none;padding:0;margin:15px 0;columns:2;column-gap:25px;color:#503b28;line-height:2.2}
.ff-seo-area-list li:before{content:'\2022';color:#b18a57;margin-right:9px}
.ff-seo-visit-cta{margin-top:32px!important;color:#2e1d0a!important;font-weight:700!important}
.ff-footer nav>a{color:#cfbda5;font-size:12px;text-decoration:none;white-space:nowrap}
.ff-footer nav>a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:900px){.ff-seo-catalog-grid{grid-template-columns:1fr}.ff-seo-simple-hero{padding:133px 0 72px}.ff-intent-hero .ff-service-hero-media{min-height:350px}.ff-seo-intent-grid{grid-template-columns:1fr}}
@media(max-width:580px){.ff-seo-simple-hero{padding:118px 0 55px}.ff-seo-simple-hero h1{font-size:clamp(46px,12.7vw,68px)}.ff-seo-catalog-copy{padding:25px 21px}.ff-seo-catalog-thumb{height:135px}.ff-seo-catalog-end{gap:20px}.ff-seo-intent-grid>a{padding:16px 0}.ff-seo-intent-grid>a>span{font-size:19px}.ff-seo-area-list{columns:1}.ff-seo-catalog-end .ff-cta{width:100%}.ff-seo-breadcrumb{font-size:11px}.ff-intent-hero h1{font-size:clamp(44px,12vw,64px)}.ff-intent-hero .ff-service-hero-media{min-height:320px}.ff-intent-actions{align-items:flex-start}.ff-intent-content>p:not(.ff-kicker){font-size:15px}}

/* v11.1: editorial policy pages + privacy-first optional analytics. No homepage redesign. */
.ff-policy-body{max-width:880px!important;padding-top:16px;padding-bottom:85px}
.ff-policy-body h2{font:400 clamp(27px,3vw,38px)/1.12 Georgia,serif;color:#271c13;margin:34px 0 14px}
.ff-policy-body p{font-size:clamp(15px,1.5vw,17px);line-height:1.8;color:#54473b;margin:0 0 12px}
.ff-policy-body .ff-policy-date{color:#89613c;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.ff-policy-body a{color:#865723;text-decoration:underline;text-underline-offset:4px}
.ff-policy-caution{border-left:3px solid #d1ab77;padding:10px 16px;background:#f3ede4;margin-top:25px!important}
.ff-policy-links{border-top:1px solid #e1d6c6;margin-top:42px;padding-top:20px;display:flex;flex-wrap:wrap;gap:16px 26px}
.ff-consent[hidden]{display:none!important}
.ff-consent{position:fixed;bottom:max(10px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:100002;width:min(910px,calc(100vw - 20px));background:#17100b;border:1px solid rgba(227,186,108,.45);border-radius:18px;box-shadow:0 20px 55px rgba(0,0,0,.38);color:#f8f1e7;padding:17px 20px}
.ff-consent-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}
.ff-consent p{font-size:13px;line-height:1.5;flex:1;max-width:635px;margin:0;color:#f0e3ce}
.ff-consent a{color:#ead096;text-decoration:underline;text-underline-offset:3px}
.ff-consent-actions{display:flex;gap:9px;flex-shrink:0}
.ff-consent-actions button{min-height:44px;padding:0 18px;border-radius:11px;border:1px solid #bfa373;background:#2e2118;color:#fff8e9;font-size:13px;cursor:pointer}
.ff-consent-actions button:last-child{background:#dfba78;color:#211408;border-color:#dfba78;font-weight:700}
.ff-consent-actions button:focus-visible,.ff-policy-links a:focus-visible{outline:2px solid #e3b865;outline-offset:3px}
@media(max-width:650px){.ff-consent-inner{flex-direction:column;align-items:stretch;gap:12px}.ff-consent-actions{justify-content:flex-end}.ff-consent{padding:15px}.ff-policy-body{padding-bottom:55px}.ff-policy-links{flex-direction:column;gap:14px}}

.ff-intent-practical{margin:28px 0;border-left:3px solid #caa472;padding:10px 0 10px 20px;background:linear-gradient(90deg,rgba(212,179,126,.065),transparent)}
.ff-intent-practical h3{font:400 clamp(22px,2.2vw,28px)/1.15 Georgia,serif;margin:0 0 8px}
.ff-intent-practical p{font-size:16px;line-height:1.6;margin:0}
