/*
Theme Name: Florens 1959 Elementor Fidelity
Theme URI: https://www.laflorens.it/
Author: Florens
Description: Florens one-page theme matching the approved V4 design, editable with Elementor Pro.
Version: 8.0.0
Text Domain: florens1959
*/
:root{--ink:#111119;--navy:#1a1c3b;--paper:#f5f3ef;--white:#fff;--fashion:#a53358;--fashion-deep:#8d2949;--fashion-pale:#eadce1;--line:rgba(17,17,25,.18);--max:1440px;--pad:clamp(22px,4vw,68px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{width:min(var(--max),calc(100% - var(--pad)*2));margin:auto}.eyebrow{font-size:.71rem;line-height:1.2;letter-spacing:.2em;text-transform:uppercase;font-weight:700}.site-header{position:fixed;z-index:50;inset:0 0 auto;background:rgba(245,243,239,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:32px}.site-logo{width:64px;height:64px;display:flex;align-items:center;justify-content:center;flex:0 0 64px}.site-logo img{width:64px;height:64px;object-fit:contain}.main-nav{display:flex;align-items:center;gap:28px;font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700}.main-nav a{padding:30px 0 27px;position:relative}.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:20px;height:2px;background:var(--fashion);transition:.25s}.main-nav a:hover:after{right:0}.menu-toggle{display:none;border:0;background:none;font-size:24px}.hero{min-height:100vh;padding-top:82px;position:relative;overflow:hidden;background:var(--paper)}.hero:before{content:"";position:absolute;inset:82px 0 0;background:url('assets/images/sfondo_muro_high_white2.jpg') center/cover;opacity:.44}.hero:after{content:"";position:absolute;inset:82px 0 0;background:linear-gradient(90deg,rgba(245,243,239,.97) 0%,rgba(245,243,239,.88) 45%,rgba(245,243,239,.16) 72%,rgba(17,17,25,.12) 100%)}.hero-stair{position:absolute;z-index:1;right:0;top:82px;bottom:0;width:min(49vw,760px);background:url('assets/images/florens-staircase-archive.png') center/cover no-repeat;filter:grayscale(1) contrast(1.08);mix-blend-mode:multiply;opacity:.88}.hero-stair:after{content:"";position:absolute;inset:0;border-left:12px solid var(--fashion);background:linear-gradient(90deg,rgba(245,243,239,.18),transparent 30%)}.hero-inner{min-height:calc(100vh - 82px);display:flex;align-items:center;position:relative;z-index:2}.hero-copy{width:min(720px,53vw);padding:74px 0}.hero-copy h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(4.1rem,7.7vw,8.2rem);line-height:.91;letter-spacing:-.055em;margin:.18em 0 .28em}.hero-copy h1 em{font-weight:400;color:var(--fashion)}.hero-copy>p{font-size:clamp(1.1rem,1.55vw,1.4rem);line-height:1.5;max-width:650px}.hero-actions{margin-top:42px;display:flex;align-items:center;gap:34px}.text-link,.light-link{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700}.text-link span,.light-link span{margin-left:10px;color:var(--fashion)}.heritage-stamp{font-family:Georgia,serif;font-size:1rem;color:#5e5b61}.section{padding:clamp(90px,9vw,145px) 0}.wall-section{position:relative;background:#fff;overflow:hidden}.wall-section:before{content:"";position:absolute;inset:0;background:url('assets/images/sfondo_muro_high_white2.jpg') center/cover;opacity:.12;filter:contrast(.8)}.wall-section>.wrap{position:relative}.split-intro{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(55px,8vw,130px);align-items:start}.split-intro h2,.section-heading h2,.archive-copy h2,.group-layout h2,.contact-layout h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em}.split-intro h2{font-size:clamp(3rem,5.1vw,6rem);line-height:.96;margin:.22em 0 0}.lead-copy{font-size:1.08rem;max-width:650px;padding-top:28px}.lead-copy p:first-child{font-size:1.25rem}.history-strip{margin-top:90px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.history-strip>div{padding:26px 18px 0 0}.history-strip strong{display:block;font-family:Georgia,serif;font-size:clamp(2rem,3.4vw,4rem);font-weight:400;color:var(--fashion)}.history-strip span{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}.archive-feature{display:grid;grid-template-columns:1.08fr .92fr;min-height:760px;background:var(--ink);color:#fff}.archive-image{min-height:760px;position:relative;overflow:hidden;background:#222}.archive-image:before{content:"";position:absolute;inset:0;background:url('assets/images/florens-staircase-archive.png') center/cover no-repeat;filter:grayscale(1) contrast(1.1)}.archive-image img{display:none!important}.archive-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 58%,rgba(17,17,25,.72));}.archive-copy{padding:clamp(65px,7vw,120px);display:flex;flex-direction:column;justify-content:center}.archive-copy .eyebrow{color:#c8c7ce}.archive-copy h2{font-size:clamp(3.4rem,5.6vw,6.4rem);line-height:.92;margin:.25em 0 .4em}.archive-copy p{font-size:1.08rem;max-width:610px;color:#d4d3d8}.archive-copy strong{color:#fff}.archive-note{font-size:.68rem!important;letter-spacing:.14em;text-transform:uppercase;margin-top:28px;color:#8f8d98!important}.expertise{background:var(--paper)}.section-heading{display:grid;grid-template-columns:190px 1fr;column-gap:60px;align-items:start;margin-bottom:64px}.section-heading .eyebrow{grid-row:1/4}.section-heading h2{font-size:clamp(3.1rem,5vw,5.7rem);line-height:.95;margin:0}.section-heading p{max-width:690px;font-size:1.12rem}.service-list{border-top:1px solid var(--ink)}.service-row{display:grid;grid-template-columns:80px 1fr 1fr;gap:34px;align-items:center;padding:29px 0;border-bottom:1px solid var(--line);transition:.2s}.service-row:hover{padding-left:16px;background:#fff}.service-row>span{font-size:.7rem;letter-spacing:.16em;color:var(--fashion);font-weight:700}.service-row h3{font-family:Georgia,serif;font-weight:400;font-size:clamp(1.7rem,2.5vw,3rem);margin:0}.service-row p{margin:0;color:#55535a;max-width:580px}.brands{background:#fff}.section-heading.compact{margin-bottom:54px}.brand-lines{border-top:1px solid var(--ink)}.brand-line{display:grid;grid-template-columns:180px minmax(230px,.8fr) 1fr 44px;gap:30px;align-items:center;min-height:128px;border-bottom:1px solid var(--line);transition:.2s}.brand-line:hover{color:var(--fashion);padding-left:12px}.brand-line.featured{border-left:7px solid var(--fashion);padding-left:24px}.brand-line.featured:hover{padding-left:36px}.brand-role{font-size:.67rem;letter-spacing:.15em;text-transform:uppercase}.brand-line strong{font-size:clamp(2.1rem,4vw,4.2rem);letter-spacing:-.035em;line-height:1}.brand-desc{color:#5b5960}.brand-line .arrow{font-size:1.5rem}.brands-more{margin-top:38px}.outline-link{display:inline-block;border:1px solid var(--ink);padding:14px 19px;font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;font-weight:700}.outline-link:hover{background:var(--ink);color:#fff}.group-band{background:var(--fashion);color:#fff;padding:clamp(95px,10vw,155px) 0}.group-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(60px,9vw,140px);align-items:end}.group-layout h2{font-size:clamp(3.4rem,5.8vw,6.4rem);line-height:.92;margin:.25em 0 0}.group-layout p{font-size:1.15rem;max-width:650px}.light-link{display:inline-block;margin-top:22px;border-bottom:1px solid rgba(255,255,255,.65);padding-bottom:7px}.light-link span{color:#fff}.contact{background:var(--paper)}.contact-layout{display:grid;grid-template-columns:1fr .75fr;gap:100px}.contact-layout h2{font-size:clamp(3.5rem,6vw,6.6rem);line-height:.9;margin:.25em 0 0}.contact-data{padding-top:28px;border-top:1px solid var(--ink);font-size:1.05rem}.contact-data a{border-bottom:1px solid var(--ink)}.site-footer{background:var(--navy);color:#fff;padding:76px 0 28px}.footer-top{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:40px}.footer-brand img{filter:invert(1);width:86px;height:86px;object-fit:contain}.footer-brand .part{margin-top:24px;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:#b9b9c7}.footer-col h4{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;margin:0 0 18px;color:#bfc0ce}.footer-col a,.footer-col span{display:block;font-size:.88rem;margin:7px 0;color:#f0f0f3}.footer-bottom{margin-top:60px;padding-top:22px;border-top:1px solid rgba(255,255,255,.18);display:flex;justify-content:space-between;gap:30px;font-size:.74rem;color:#bfc0ce}
.page-hero{padding:160px 0 90px;background:#fff url('assets/images/sfondo_muro_high_white2.jpg') center/cover;position:relative}.page-hero:before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.84)}.page-hero .wrap{position:relative}.page-hero h1{font:400 clamp(4.2rem,9vw,9rem)/.85 Georgia,serif;margin:.1em 0}.page-hero p{max-width:700px;font-size:1.15rem}.brands-list{padding:70px 0 130px;background:#fff}.brand-detail{display:grid;grid-template-columns:240px 1fr 190px;gap:40px;padding:55px 0;border-top:1px solid var(--line);align-items:start}.brand-detail h2{font:400 clamp(2.7rem,4vw,4.5rem)/1 Georgia,serif;margin:0}.brand-detail .tag{color:var(--fashion);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}.brand-detail p{font-size:1.1rem;margin-top:0}.brand-detail .brand-link{justify-self:end;border:1px solid var(--ink);padding:12px 18px;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.brand-detail .brand-link:hover{background:var(--fashion);border-color:var(--fashion);color:#fff}
@media(max-width:980px){.header-inner{height:72px}.site-logo,.site-logo img{width:54px;height:54px;flex-basis:54px}.main-nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--paper);padding:24px var(--pad);flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.main-nav.open{display:flex}.main-nav a{padding:8px 0}.main-nav a:after{bottom:2px}.menu-toggle{display:block}.hero{padding-top:72px}.hero:before,.hero:after{inset:72px 0 0}.hero-stair{top:72px;width:47vw;opacity:.55}.hero-copy{width:72vw}.split-intro,.archive-feature,.group-layout,.contact-layout{grid-template-columns:1fr}.archive-image{min-height:560px}.archive-copy{padding:70px var(--pad)}.section-heading{grid-template-columns:1fr}.section-heading .eyebrow{grid-row:auto}.service-row{grid-template-columns:60px 1fr}.service-row p{grid-column:2}.brand-line{grid-template-columns:150px 1fr 40px}.brand-desc{grid-column:2}.brand-line .arrow{grid-column:3;grid-row:1/3}.footer-top{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.brand-detail{grid-template-columns:1fr}.brand-detail .brand-link{justify-self:start}}
@media(max-width:640px){.hero{min-height:780px}.hero-stair{top:auto;bottom:0;width:100%;height:44%;opacity:.38;border-top:5px solid var(--fashion)}.hero-stair:after{border-left:0}.hero-copy{width:100%;align-self:flex-start;padding-top:90px}.hero-copy h1{font-size:3.7rem}.hero-copy>p{font-size:1rem;max-width:95%}.hero-actions{align-items:flex-start;flex-direction:column;gap:16px}.section{padding:78px 0}.split-intro h2,.section-heading h2{font-size:3rem}.history-strip{grid-template-columns:1fr 1fr;margin-top:55px}.archive-image{min-height:420px}.archive-copy h2{font-size:3.5rem}.service-row{grid-template-columns:42px 1fr;padding:24px 0}.brand-line{grid-template-columns:1fr 32px;padding:24px 0;min-height:auto}.brand-line.featured{padding-left:18px}.brand-role,.brand-desc{grid-column:1}.brand-line strong{grid-column:1;font-size:2.5rem}.brand-line .arrow{grid-column:2;grid-row:1/4}.group-layout h2,.contact-layout h2{font-size:3.6rem}.footer-top{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.footer-brand{grid-column:auto}}

.brand-profiles{margin-top:64px;border-top:1px solid var(--line)}.brand-profile{scroll-margin-top:110px;display:grid;grid-template-columns:180px 1fr;gap:48px;padding:46px 0;border-bottom:1px solid var(--line)}.brand-profile-kicker{font-size:.67rem;letter-spacing:.15em;text-transform:uppercase;color:var(--fashion);font-weight:700;padding-top:9px}.brand-profile h3{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.2rem,4vw,4rem);font-weight:400;line-height:1;margin:0 0 14px}.brand-profile p{max-width:760px;font-size:1.06rem;color:#5b5960;margin:0}@media(max-width:760px){.brand-profile{grid-template-columns:1fr;gap:12px}}

/* v4 unified brands: single grid, no duplicated profiles, identical alignment */
.brand-directory{border-top:1px solid var(--ink)}
.brand-entry{display:grid;grid-template-columns:180px minmax(220px,.78fr) minmax(320px,1.22fr);column-gap:38px;align-items:start;padding:38px 0 40px;border-bottom:1px solid var(--line);position:relative}
.brand-entry.is-featured:before{content:"";position:absolute;left:0;top:42px;width:8px;height:8px;border-radius:50%;background:var(--fashion);transform:translateX(-22px)}
.brand-entry .brand-role{font-size:.67rem;letter-spacing:.15em;line-height:1.35;text-transform:uppercase;color:var(--fashion);font-weight:700;padding-top:10px}
.brand-entry .brand-name{font-family:Arial,Helvetica,sans-serif;font-size:clamp(2.1rem,4vw,4.25rem);line-height:.95;letter-spacing:-.04em;margin:0;font-weight:700}
.brand-entry .brand-copy{color:#5b5960;font-size:1.04rem;max-width:720px}.brand-entry .brand-copy p{margin:0}
@media(max-width:760px){.brand-entry{grid-template-columns:1fr;gap:10px;padding:30px 0 32px}.brand-entry.is-featured:before{left:auto;right:0;top:35px;transform:none}.brand-entry .brand-role{padding-top:0}}


/* Elementor fidelity shell: Elementor owns the page, approved V4 markup owns the rendering. */
body.elementor-page .elementor-location-single,
body.elementor-page .elementor,
body.elementor-page .elementor-section-wrap,
body.elementor-page .elementor-element.fl-v4-shell,
body.elementor-page .elementor-element.fl-v4-shell > .e-con-inner,
body.elementor-page .elementor-element.fl-v4-shell > .elementor-widget,
body.elementor-page .elementor-element.fl-v4-shell > .elementor-widget > .elementor-widget-container,
body.elementor-page .elementor-element.fl-v4-shell .elementor-widget-html,
body.elementor-page .elementor-element.fl-v4-shell .elementor-widget-html > .elementor-widget-container{
    width:100%!important;max-width:none!important;margin:0!important;padding:0!important;
}
body.elementor-page .elementor-element.fl-v4-shell{display:block!important;min-height:0!important;gap:0!important;background:transparent!important;}
body.elementor-page .elementor-element.fl-v4-shell > .e-con-inner{display:block!important;}
body.elementor-page main .elementor-widget-html{margin:0!important;}
/* Elementor may add paragraph margins inside HTML widgets on some installations. Approved V4 values win. */
body.elementor-page .fl-v4-section{margin:0!important;}
