
:root{
  --ink:#172019;--ink2:#202921;--paper:#f7f4ed;--sand:#e8dfd1;--warm:#c8874b;--warm2:#a86b35;--sage:#6e7a6d;--white:#fff;--line:rgba(23,32,25,.14);--shadow:0 24px 70px rgba(23,32,25,.12);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55}body.menu-open{overflow:hidden}a{color:inherit}img{display:block;max-width:100%}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.eyebrow{font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:800;color:var(--warm2)}h1,h2,h3,p{margin-top:0}h1,h2,.serif{font-family:Georgia,'Times New Roman',serif}h1{font-size:clamp(52px,8vw,118px);line-height:.86;letter-spacing:-.055em;font-weight:500}h2{font-size:clamp(36px,5vw,70px);line-height:.98;letter-spacing:-.045em;font-weight:500}h3{font-size:20px;line-height:1.2}.btn{display:inline-flex;align-items:center;gap:12px;padding:15px 20px;border-radius:999px;background:var(--ink);color:#fff;text-decoration:none;font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--ink);transition:.25s}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(23,32,25,.18)}.btn.light{background:#fff;color:var(--ink);border-color:#fff}.btn.outline{background:transparent;color:var(--ink);border-color:var(--line)}.btn.warm{background:var(--warm);border-color:var(--warm)}
.topbar{height:34px;background:var(--ink);color:rgba(255,255,255,.74);display:flex;align-items:center;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.topbar .wrap{display:flex;justify-content:space-between;gap:20px}.site-header{height:86px;position:sticky;top:0;z-index:70;background:rgba(247,244,237,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.header-inner{height:100%;display:grid;grid-template-columns:210px 1fr auto;align-items:center;gap:26px}.brand img{width:185px}.nav{display:flex;justify-content:center;align-items:center;gap:24px}.nav a{text-decoration:none;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.1em;position:relative;padding:12px 0}.nav a:after{content:'';position:absolute;left:0;bottom:7px;width:0;height:1px;background:var(--warm);transition:.25s}.nav a:hover:after,.nav a.active:after{width:100%}.nav-group{position:relative}.nav-group>button{border:0;background:none;padding:12px 0;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.1em;color:var(--ink);cursor:pointer}.dropdown{position:absolute;left:-18px;top:38px;width:260px;padding:14px;background:#fff;border-radius:18px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}.nav-group:hover .dropdown{opacity:1;visibility:visible;transform:none}.dropdown a{display:block;padding:10px 12px;border-radius:10px}.dropdown a:hover{background:var(--paper)}.header-actions{display:flex;align-items:center;gap:10px}.menu-btn{display:none;border:0;background:var(--ink);color:white;border-radius:50%;width:46px;height:46px;font-size:20px}
.hero{min-height:calc(100svh - 120px);position:relative;overflow:hidden;background:var(--ink);color:#fff;display:flex;align-items:flex-end}.hero-media{position:absolute;inset:0}.hero-slide{position:absolute;inset:-3%;background-size:cover;background-position:center;opacity:0;transform:scale(1.08);animation:heroCycle 18s infinite}.hero-slide:nth-child(1){animation-delay:0s}.hero-slide:nth-child(2){animation-delay:6s}.hero-slide:nth-child(3){animation-delay:12s}@keyframes heroCycle{0%{opacity:0;transform:scale(1.08)}7%{opacity:1}29%{opacity:1;transform:scale(1.02)}36%{opacity:0}100%{opacity:0}}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,20,16,.76),rgba(15,20,16,.2) 62%),linear-gradient(0deg,rgba(15,20,16,.82),transparent 55%)}.grain{position:absolute;inset:0;z-index:2;opacity:.08;pointer-events:none;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='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.hero-content{position:relative;z-index:3;padding:80px 0 70px}.hero h1{max-width:980px;margin-bottom:24px}.hero h1 em{color:#e8b98e;font-weight:400}.hero-copy{display:flex;align-items:end;justify-content:space-between;gap:40px}.hero-copy p{max-width:590px;font-size:18px;color:rgba(255,255,255,.78);margin:0}.hero-kicker{display:flex;gap:10px;align-items:center;margin-bottom:22px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:800}.hero-kicker:before{content:'';width:42px;height:1px;background:#fff}.hero-index{position:absolute;right:26px;top:50%;z-index:4;writing-mode:vertical-rl;font-size:9px;letter-spacing:.26em;text-transform:uppercase;color:rgba(255,255,255,.56)}
.trust{background:#f6f1e8;border-bottom:1px solid rgba(174,150,115,.18);position:relative;overflow:hidden}
.trust::before{content:'';position:absolute;inset:-10% auto auto -6%;width:340px;height:340px;background:radial-gradient(circle,rgba(255,255,255,.82) 0%,rgba(255,255,255,0) 68%);pointer-events:none}
.trust::after{content:'';position:absolute;right:-140px;bottom:-180px;width:560px;height:360px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(228,215,197,.75),rgba(228,215,197,0) 68%);pointer-events:none}
.trust-premium .wrap{position:relative;z-index:1}
.trust-premium-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:0;padding:38px 0;background:linear-gradient(180deg,rgba(255,255,255,.52),rgba(255,255,255,.32));backdrop-filter:blur(2px)}
.trust-card{position:relative;padding:36px 38px 34px;min-height:244px;border-right:1px solid rgba(176,156,126,.22);display:flex;flex-direction:column;justify-content:flex-start;opacity:0;transform:translateY(34px);transition:transform .75s cubic-bezier(.22,1,.36,1),opacity .75s ease,background-color .35s ease,box-shadow .35s ease;transition-delay:var(--delay,0s)}
.trust-card:last-child{border-right:0}
.trust-card.is-visible{opacity:1;transform:translateY(0)}
.trust-card:hover{background:rgba(255,255,255,.36);box-shadow:inset 0 0 0 1px rgba(191,168,132,.14)}
.trust-icon{display:inline-grid;place-items:center;width:76px;height:76px;border-radius:50%;margin-bottom:26px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(246,240,232,.92));border:1px solid rgba(197,174,140,.34);box-shadow:0 12px 26px rgba(156,135,104,.10), inset 0 1px 0 rgba(255,255,255,.92);font-size:28px;color:#9b7b48;position:relative;transform:translateY(0);animation:trustFloat 4.8s ease-in-out infinite}
.trust-icon::before{content:'';position:absolute;inset:-7px;border-radius:50%;border:1px solid rgba(195,169,127,.26);clip-path:inset(0 18px 42px 0 round 50%)}
.trust-card h3{margin:0;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(32px,2.65vw,52px);line-height:.92;font-weight:600;letter-spacing:-.02em;color:#171512;opacity:0;transform:translateY(18px);transition:opacity .7s ease .12s,transform .7s cubic-bezier(.22,1,.36,1) .12s}
.trust-card p{margin:0;max-width:26ch;font-size:clamp(15px,1.1vw,18px);line-height:1.6;color:#57534d;opacity:0;transform:translateY(14px);transition:opacity .7s ease .24s,transform .7s cubic-bezier(.22,1,.36,1) .24s}
.trust-card.is-visible h3,.trust-card.is-visible p{opacity:1;transform:translateY(0)}
.trust-line{display:block;width:42px;height:3px;border-radius:999px;margin:18px 0 22px;background:linear-gradient(90deg,#b68c4f,#d5b47a);transform-origin:left center;transform:scaleX(0);transition:transform .7s cubic-bezier(.22,1,.36,1) .18s}
.trust-card.is-visible .trust-line{transform:scaleX(1)}
.symbol{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--paper);font-size:19px;margin-bottom:12px}
@keyframes trustFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.section{padding:110px 0}.section.small{padding:80px 0}.section.dark{background:var(--ink);color:#fff}.section.sand{background:var(--sand)}.section-title{display:grid;grid-template-columns:1fr 1.35fr;gap:60px;align-items:end;margin-bottom:55px}.section-title p{max-width:600px;color:#657067;margin:0}.dark .section-title p{color:rgba(255,255,255,.66)}
.use-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.use-card{min-height:520px;position:relative;border-radius:28px;overflow:hidden;color:white;text-decoration:none}.use-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.55s}.use-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,18,15,.82),rgba(14,18,15,.04) 65%)}.use-card:hover img{transform:scale(1.035)}.use-card-content{position:absolute;z-index:2;left:30px;right:30px;bottom:28px}.use-card small{font-size:10px;letter-spacing:.18em;text-transform:uppercase}.use-card h3{font-family:Georgia,serif;font-size:38px;margin:8px 0 0;font-weight:400}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.feature{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;min-height:240px}.feature .symbol{background:var(--sand)}.feature p{color:#687169;font-size:14px}.feature strong{font-family:Georgia,serif;font-size:22px;font-weight:500}.split{display:grid;grid-template-columns:1fr 1fr;min-height:660px}.split-image{min-height:500px;background-size:cover;background-position:center}.split-copy{padding:90px max(40px,8vw);display:flex;flex-direction:column;justify-content:center}.split-copy p{color:#667069}.metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:26px}.metric{padding-top:18px;border-top:1px solid var(--line)}.metric b{font-family:Georgia,serif;font-size:34px}.metric span{display:block;color:#667069;font-size:12px;margin-top:4px}
.gallery{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-auto-rows:250px;gap:12px}.gallery a{overflow:hidden;border-radius:18px;position:relative}.gallery a:nth-child(1){grid-row:span 2}.gallery a:nth-child(4){grid-column:span 2}.gallery img{width:100%;height:100%;object-fit:cover;transition:.45s}.gallery a:hover img{transform:scale(1.04)}
.palette{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.swatch{border-radius:20px;overflow:hidden;background:#fff;border:1px solid var(--line)}.swatch-color{height:150px;background:var(--c)}.swatch div:last-child{padding:16px;font-size:12px;font-weight:800}.testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.quote{padding:30px;border:1px solid rgba(255,255,255,.13);border-radius:22px;background:rgba(255,255,255,.04)}.quote p{color:rgba(255,255,255,.78)}.stars{letter-spacing:.12em;color:#e8b98e}
.cta{padding:100px 0;background:var(--warm);color:#fff}.cta-inner{display:flex;align-items:end;justify-content:space-between;gap:50px}.cta h2{max-width:780px;margin:0}.cta .eyebrow{color:#fff}.footer{background:#111712;color:#fff;padding:75px 0 35px}.footer-grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:55px}.footer-brand img{filter:brightness(0) invert(1);width:190px}.footer p,.footer a{color:rgba(255,255,255,.62);font-size:13px}.footer a{text-decoration:none;display:block;margin:9px 0}.footer h4{font-size:11px;letter-spacing:.16em;text-transform:uppercase}.footer-bottom{margin-top:55px;padding-top:25px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:20px;font-size:11px;color:rgba(255,255,255,.45)}
.page-hero{min-height:580px;position:relative;color:#fff;display:flex;align-items:end;background-size:cover;background-position:center}.page-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(16,21,17,.86),rgba(16,21,17,.1)),linear-gradient(90deg,rgba(16,21,17,.5),transparent)}.page-hero .wrap{position:relative;z-index:2;padding-bottom:70px}.page-hero h1{max-width:980px;font-size:clamp(48px,7vw,94px);margin:10px 0 18px}.page-hero p{max-width:690px;font-size:18px;color:rgba(255,255,255,.8)}
.partner-badge{display:flex;align-items:center;gap:18px;flex-wrap:wrap;width:max-content;max-width:min(100%,680px);margin-top:26px;padding:16px 20px;border:1px solid rgba(255,255,255,.18);border-radius:22px;background:rgba(255,255,255,.10);backdrop-filter:blur(10px);box-shadow:0 18px 50px rgba(0,0,0,.14);opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1)}
.partner-badge.is-visible{opacity:1;transform:translateY(0)}
.partner-label{display:inline-block;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.12);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#f3c089}
.partner-badge img{height:34px;width:auto;max-width:220px;filter:drop-shadow(0 4px 14px rgba(0,0,0,.18))}
.partner-badge a{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:#fff;padding-left:4px;opacity:.88;transition:opacity .25s ease,transform .25s ease}
.partner-badge a:hover{opacity:1;transform:translateX(2px)}
.content-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px}.sticky-note{position:sticky;top:135px;align-self:start}.prose h2{font-size:44px;margin-top:60px}.prose h2:first-child{margin-top:0}.prose h3{margin-top:35px}.prose p,.prose li{color:#5e6960}.prose ul{padding-left:20px}.steps{counter-reset:step;display:grid;gap:14px;margin:30px 0}.step{counter-increment:step;padding:24px;background:#fff;border-radius:18px;border:1px solid var(--line);display:grid;grid-template-columns:52px 1fr;gap:15px}.step:before{content:counter(step,decimal-leading-zero);font-family:Georgia,serif;font-size:30px;color:var(--warm)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);border-radius:14px;background:#fff;padding:15px;font:inherit}.field textarea{min-height:160px;resize:vertical}.notice{font-size:12px;color:#6a756c}.faq{display:grid;gap:10px}.faq details{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 20px}.faq summary{cursor:pointer;font-weight:800}.faq p{color:#657067;margin:12px 0 0}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.blog-card{background:#fff;border-radius:22px;overflow:hidden;border:1px solid var(--line)}.blog-card img{height:220px;width:100%;object-fit:cover}.blog-card div{padding:22px}.blog-card small{color:var(--warm2);font-weight:800;text-transform:uppercase;letter-spacing:.1em}.blog-card h3{margin:10px 0}.blog-card p{font-size:14px;color:#667069}.legal{max-width:850px}.legal h2{font-size:34px;margin-top:40px}.legal p{color:#5e6960}
.mobile-panel{display:none}
@media(max-width:980px){.topbar{display:none}.site-header{height:76px}.header-inner{grid-template-columns:1fr auto}.nav,.header-actions .btn{display:none}.menu-btn{display:block}.mobile-panel{display:block;position:fixed;inset:76px 0 0;z-index:65;background:var(--paper);padding:30px 20px;transform:translateX(100%);transition:.3s;overflow:auto}.menu-open .mobile-panel{transform:none}.mobile-panel a{display:block;padding:15px 0;border-bottom:1px solid var(--line);text-decoration:none;font-family:Georgia,serif;font-size:25px}.hero{min-height:760px}.hero-copy{display:block}.hero-copy .btn{margin-top:25px}.hero-index{display:none}.trust-premium-grid,.feature-grid{grid-template-columns:repeat(2,1fr)}.trust-card{border-bottom:1px solid rgba(176,156,126,.18)}.trust-card:nth-child(2n){border-right:0}.section-title,.split,.content-grid{grid-template-columns:1fr}.split-copy{padding:65px 30px}.use-card{min-height:420px}.gallery{grid-template-columns:1fr 1fr}.gallery a:nth-child(1){grid-row:span 1}.gallery a:nth-child(4){grid-column:span 1}.palette{grid-template-columns:repeat(3,1fr)}.testimonials,.blog-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.sticky-note{position:static}}
@media(max-width:650px){.wrap{width:min(100% - 26px,1180px)}.hero-content{padding:65px 0 45px}.hero h1{font-size:clamp(54px,18vw,80px)}.hero-copy p{font-size:16px}.trust-premium-grid,.feature-grid,.use-grid{grid-template-columns:1fr}.trust-premium-grid{padding:26px 0}.trust-card{padding:28px 24px;min-height:auto;border-right:0;border-bottom:1px solid rgba(176,156,126,.18)}.trust-card:last-child{border-bottom:0}.trust-icon{width:64px;height:64px;font-size:24px;margin-bottom:20px}.trust-card h3{font-size:42px}.trust-card p{max-width:100%}.section{padding:78px 0}.section-title{gap:15px}.use-card{min-height:390px}.metric-row{grid-template-columns:1fr}.gallery{grid-template-columns:1fr;grid-auto-rows:270px}.palette{grid-template-columns:repeat(2,1fr)}.cta-inner{display:block}.cta .btn{margin-top:30px}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.page-hero{min-height:520px}.page-hero h1{font-size:52px}.partner-badge{padding:14px 16px;gap:14px;width:100%}.partner-badge img{height:28px;max-width:180px}.partner-badge a{width:100%;padding-left:0}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.hero-slide:first-child{opacity:1;transform:none}}


/* Fullscreen premium homepage */
.home-premium{background:#f6f4ef}
.home-premium .topbar{display:none}
.home-premium .site-header{display:none}
.hero-header{position:absolute;top:0;left:0;right:0;z-index:70;padding:22px 0;background:transparent}
.hero-header-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px}
.hero-brand img{width:190px;display:block;filter:drop-shadow(0 10px 22px rgba(0,0,0,.22))}
.hero-nav{display:flex;align-items:center;justify-content:center;gap:28px}
.hero-nav a,.hero-nav-group button{color:rgba(255,255,255,.92);text-decoration:none;background:none;border:0;padding:0;font:700 13px/1 Inter,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;position:relative;text-shadow:0 2px 12px rgba(0,0,0,.45)}
.hero-nav a:hover,.hero-nav-group button:hover{color:#fff}
.hero-nav-group{position:relative}.hero-nav-group .dropdown{top:calc(100% + 18px);background:rgba(16,21,17,.9);backdrop-filter:blur(10px)}
.hero-nav-group .dropdown a{display:block;padding:12px 14px;color:#fff;font-size:13px;letter-spacing:.02em;text-transform:none;text-shadow:none}
.hero-nav-group .dropdown a:hover{background:rgba(255,255,255,.08)}
.hero-cta{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(6px);color:#fff;box-shadow:none}
.hero-cta:hover{background:rgba(255,255,255,.14)}
.hero-fullscreen{min-height:100svh;height:100svh}.hero-fullscreen .hero-media,.hero-fullscreen .hero-slide{height:100%}
.hero-fullscreen:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,14,12,.74) 0%,rgba(9,14,12,.34) 44%,rgba(9,14,12,.12) 70%),linear-gradient(180deg,rgba(9,14,12,.24) 0%, rgba(9,14,12,.08) 24%, rgba(9,14,12,.44) 100%)}
.premium-hero-content{height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:140px 0 90px;z-index:3;position:relative}
.home-premium .grain{opacity:.04}
.premium-hero-content .hero-kicker{font-size:12px;letter-spacing:.27em;margin-bottom:28px}
.premium-hero-content h1{max-width:1050px;font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(74px,9vw,132px);line-height:.9;font-weight:500;letter-spacing:-.04em;margin-bottom:24px;color:#fff;text-wrap:balance}
.premium-hero-content h1 em{font-style:italic;color:#e5ba94;font-weight:500}
.premium-copy{display:block;max-width:880px}.premium-copy p{max-width:700px;color:rgba(255,255,255,.9);font-size:18px;line-height:1.55;margin:0 0 30px;text-shadow:0 3px 18px rgba(0,0,0,.36)}
.hero-fullscreen .btn.light{background:#fff;color:#121212;border:1px solid rgba(255,255,255,.6);box-shadow:0 16px 32px rgba(0,0,0,.16)}
.hero-fullscreen .hero-index{display:none}
.home-premium .mobile-panel{background:rgba(16,21,17,.96);backdrop-filter:blur(10px)}
.home-premium .mobile-panel a{color:#fff;border-bottom:1px solid rgba(255,255,255,.12)}
@media(max-width:1180px){
  .hero-header-inner{grid-template-columns:auto auto;justify-content:space-between}
  .hero-nav,.hero-header .header-actions .btn{display:none}
  .hero-header .menu-btn{display:block;color:#fff;border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.08);backdrop-filter:blur(6px)}
  .premium-hero-content{padding-top:120px}
  .premium-hero-content h1{font-size:clamp(58px,10vw,100px)}
}
@media(max-width:650px){
  .hero-header{padding:16px 0}
  .hero-brand img{width:160px}
  .premium-hero-content{padding:110px 0 50px;justify-content:flex-end}
  .premium-hero-content .hero-kicker{font-size:10px;letter-spacing:.18em}
  .premium-hero-content h1{font-size:clamp(44px,16vw,66px);line-height:.92}
  .premium-copy p{font-size:16px;max-width:100%}
}


/* Home image fullscreen version */
.home-image-fullscreen{background:#f6f4ef}
.home-image-fullscreen .topbar,
.home-image-fullscreen .site-header,
.home-image-fullscreen .hero-header,
.home-image-fullscreen .mobile-panel{display:none !important}
.hero-image-screen{position:relative;height:100svh;min-height:100svh;overflow:hidden;background:#0f1410}
.hero-image-screen-img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
@media(max-width:700px){
  .hero-image-screen{min-height:100svh;height:100svh}
  .hero-image-screen-img{object-position:center center}
}


/* ===== Hero logo animation ===== */
.home-image-fullscreen .hero-motion{position:relative;height:100svh;min-height:100svh;overflow:hidden;background:#0d0f10}
.home-image-fullscreen .hero-exact-bg{position:absolute;inset:0;background:url('assets/hero-clean-bg.png') center center / cover no-repeat;filter:none}
.home-image-fullscreen .hero-global-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,10,10,.10) 0%,rgba(8,10,10,.20) 100%)}
.home-image-fullscreen .hero-center-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at center, rgba(12,13,14,.06) 0%, rgba(12,13,14,.18) 22%, rgba(12,13,14,0) 46%), linear-gradient(90deg,rgba(10,12,12,.08),rgba(10,12,12,.08));}
.home-image-fullscreen .hero-logo-stage{position:absolute;left:50%;top:50%;width:min(780px,78vw);aspect-ratio:820/420;transform:translate(-50%,-50%);pointer-events:none}
.home-image-fullscreen .logo-mark-build{position:absolute;inset:0;opacity:1;animation:markStageFade 8s ease-in-out infinite}
.home-image-fullscreen .tile{position:absolute;display:block;transform-origin:center center;filter:drop-shadow(0 12px 25px rgba(0,0,0,.18))}
.home-image-fullscreen .tile::before{content:'';position:absolute;inset:0;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.home-image-fullscreen .tile-top{left:50%;top:3.5%;width:30%;height:37%;transform:translate(-50%,-34%) translateZ(0);animation:topAssemble 8s cubic-bezier(.2,.85,.2,1) infinite}
.home-image-fullscreen .tile-top::before{background:#D3A53F}
.home-image-fullscreen .tile-left{left:22.8%;top:18.8%;width:28.8%;height:34.3%;transform:translate(-22%,12%) translateZ(0);animation:leftAssemble 8s cubic-bezier(.2,.85,.2,1) infinite}
.home-image-fullscreen .tile-left::before{background:#C9CCD1}
.home-image-fullscreen .tile-right{right:21.8%;top:18.8%;width:28.8%;height:34.3%;transform:translate(22%,12%) translateZ(0);animation:rightAssemble 8s cubic-bezier(.2,.85,.2,1) infinite}
.home-image-fullscreen .tile-right::before{background:#E4E6EA}
.home-image-fullscreen .cross-line{position:absolute;left:50%;top:42%;width:19%;height:2px;background:rgba(255,255,255,.92);transform-origin:center center;opacity:0;filter:drop-shadow(0 0 6px rgba(255,255,255,.15))}
.home-image-fullscreen .cross-one{transform:translate(-50%,-50%) rotate(35deg);animation:crossFade 8s ease-out infinite}
.home-image-fullscreen .cross-two{transform:translate(-50%,-50%) rotate(-35deg);animation:crossFade 8s ease-out infinite}
.home-image-fullscreen .tile-sheen{position:absolute;overflow:hidden;border-radius:0;opacity:0;mix-blend-mode:screen;pointer-events:none}
.home-image-fullscreen .tile-sheen::before{content:'';position:absolute;top:-30%;left:-120%;width:65%;height:160%;transform:rotate(20deg);background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.55),rgba(255,255,255,0));}
.home-image-fullscreen .sheen-top{left:50%;top:3.5%;width:30%;height:37%;transform:translate(-50%,0);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);animation:sheenTop 8s linear infinite}
.home-image-fullscreen .sheen-left{left:22.8%;top:18.8%;width:28.8%;height:34.3%;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);animation:sheenSide 8s linear infinite .18s}
.home-image-fullscreen .sheen-right{right:21.8%;top:18.8%;width:28.8%;height:34.3%;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);animation:sheenSide 8s linear infinite .28s}
.home-image-fullscreen .logo-full-white{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transform:scale(.985);filter:drop-shadow(0 12px 28px rgba(0,0,0,.24));animation:logoReveal 8s ease-in-out infinite, logoBreath 3.4s ease-in-out 2.4s infinite}

@keyframes topAssemble{
  0%,50%,100%{transform:translate(-50%,-34%);opacity:0}
  6%{opacity:1;transform:translate(-50%,-26%)}
  18%,42%{opacity:1;transform:translate(-50%,0)}
}
@keyframes leftAssemble{
  0%,50%,100%{transform:translate(-22%,12%);opacity:0}
  6%{opacity:1;transform:translate(-15%,8%)}
  18%,42%{opacity:1;transform:translate(0,0)}
}
@keyframes rightAssemble{
  0%,50%,100%{transform:translate(22%,12%);opacity:0}
  6%{opacity:1;transform:translate(15%,8%)}
  18%,42%{opacity:1;transform:translate(0,0)}
}
@keyframes crossFade{
  0%,10%,50%,100%{opacity:0}
  16%,42%{opacity:.92}
}
@keyframes sheenTop{
  0%,18%,100%{opacity:0}
  18.1%,27%{opacity:1}
  18.1%{transform:translate(-50%,0)}
}
@keyframes sheenSide{
  0%,22%,100%{opacity:0}
  22.1%,31%{opacity:.85}
}
.home-image-fullscreen .sheen-top::before{animation:sweepMove 8s linear infinite}
.home-image-fullscreen .sheen-left::before{animation:sweepMove 8s linear infinite .18s}
.home-image-fullscreen .sheen-right::before{animation:sweepMove 8s linear infinite .28s}
@keyframes sweepMove{
  0%,20%{left:-120%}
  31%{left:150%}
  100%{left:150%}
}
@keyframes logoReveal{
  0%,14%,100%{opacity:0;transform:scale(.985)}
  22%,44%{opacity:1;transform:scale(1)}
  48%,96%{opacity:1;transform:scale(1)}
}
@keyframes markStageFade{
  0%,40%{opacity:1}
  48%,100%{opacity:0}
}
@keyframes logoBreath{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.012)}
}
@media(max-width:980px){
  .home-image-fullscreen .hero-logo-stage{width:min(88vw,680px)}
}
@media(max-width:650px){
  .home-image-fullscreen .hero-logo-stage{width:min(92vw,560px)}
  .home-image-fullscreen .hero-exact-bg{background-position:56% center}
}


/* ===== Clean logo animation — single mark, no overlap ===== */
.home-image-fullscreen .logo-full-white{display:none!important}
.home-image-fullscreen .hero-global-overlay{background:linear-gradient(180deg,rgba(8,10,10,.14) 0%,rgba(8,10,10,.24) 100%)}
.home-image-fullscreen .hero-center-vignette{background:radial-gradient(ellipse at center,rgba(7,9,9,.08) 0%,rgba(7,9,9,.16) 26%,rgba(7,9,9,0) 50%)}
.home-image-fullscreen .hero-logo-stage{animation:cleanStageBreath 3.6s ease-in-out 3s infinite}
.home-image-fullscreen .logo-mark-build{opacity:1;animation:none}
.home-image-fullscreen .logo-type-lockup{position:absolute;left:50%;top:63%;width:100%;transform:translate(-50%,-50%);text-align:center;color:#fff;opacity:0;animation:typeRevealClean 8s ease-in-out infinite;text-shadow:0 8px 24px rgba(0,0,0,.22)}
.home-image-fullscreen .logo-wordmark{font-family:Georgia,'Times New Roman',serif;font-size:clamp(58px,6.3vw,104px);font-weight:700;letter-spacing:.025em;line-height:.95;white-space:nowrap;color:#fff}
.home-image-fullscreen .logo-subtitle{margin-top:22px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(18px,1.8vw,31px);font-weight:500;letter-spacing:.075em;color:#fff;white-space:nowrap}

.home-image-fullscreen .tile-top{animation:topAssembleClean 8s cubic-bezier(.2,.85,.2,1) infinite}
.home-image-fullscreen .tile-left{animation:leftAssembleClean 8s cubic-bezier(.2,.85,.2,1) infinite}
.home-image-fullscreen .tile-right{animation:rightAssembleClean 8s cubic-bezier(.2,.85,.2,1) infinite}
.home-image-fullscreen .cross-one,.home-image-fullscreen .cross-two{animation:crossFadeClean 8s ease-out infinite}
.home-image-fullscreen .sheen-top{animation:sheenTopClean 8s linear infinite}
.home-image-fullscreen .sheen-left{animation:sheenSideClean 8s linear infinite .15s}
.home-image-fullscreen .sheen-right{animation:sheenSideClean 8s linear infinite .25s}

@keyframes topAssembleClean{
  0%{transform:translate(-50%,-38%);opacity:0}
  5%{opacity:1}
  18%,90%{transform:translate(-50%,0);opacity:1}
  97%,100%{transform:translate(-50%,0);opacity:0}
}
@keyframes leftAssembleClean{
  0%{transform:translate(-38%,10%);opacity:0}
  5%{opacity:1}
  18%,90%{transform:translate(0,0);opacity:1}
  97%,100%{transform:translate(0,0);opacity:0}
}
@keyframes rightAssembleClean{
  0%{transform:translate(38%,10%);opacity:0}
  5%{opacity:1}
  18%,90%{transform:translate(0,0);opacity:1}
  97%,100%{transform:translate(0,0);opacity:0}
}
@keyframes crossFadeClean{
  0%,10%{opacity:0}
  18%,90%{opacity:.92}
  97%,100%{opacity:0}
}
@keyframes typeRevealClean{
  0%,23%{opacity:0;transform:translate(-50%,-46%)}
  34%,90%{opacity:1;transform:translate(-50%,-50%)}
  97%,100%{opacity:0;transform:translate(-50%,-50%)}
}
@keyframes cleanStageBreath{
  0%,100%{transform:translate(-50%,-50%) scale(1)}
  50%{transform:translate(-50%,-50%) scale(1.008)}
}
@keyframes sheenTopClean{
  0%,19%,100%{opacity:0}
  20%,28%{opacity:.9}
  31%,100%{opacity:0}
}
@keyframes sheenSideClean{
  0%,23%,100%{opacity:0}
  24%,31%{opacity:.72}
  34%,100%{opacity:0}
}
@media(max-width:650px){
  .home-image-fullscreen .logo-type-lockup{top:64%}
  .home-image-fullscreen .logo-wordmark{font-size:clamp(40px,12vw,64px);letter-spacing:.01em}
  .home-image-fullscreen .logo-subtitle{font-size:clamp(13px,4vw,20px);margin-top:14px;letter-spacing:.035em}
}


/* ===== Menu premium fixe ===== */
.solexpert-menu-toggle{
  position:fixed;top:24px;right:26px;z-index:1002;width:58px;height:58px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  border:1px solid rgba(255,255,255,.18);border-radius:16px;cursor:pointer;
  background:rgba(17,23,19,.88);box-shadow:0 14px 38px rgba(11,15,12,.20);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  transition:transform .35s cubic-bezier(.22,1,.36,1),background .3s ease,box-shadow .3s ease;
}
.solexpert-menu-toggle:hover{transform:translateY(-2px);background:#172019;box-shadow:0 18px 42px rgba(11,15,12,.28)}
.solexpert-menu-toggle span{display:block;width:25px;height:1.5px;border-radius:99px;background:#fff;transform-origin:center;transition:transform .42s cubic-bezier(.22,1,.36,1),opacity .25s ease,width .3s ease}
.solexpert-menu-toggle span:nth-child(2){width:18px;align-self:flex-end;margin-right:16px}
.solexpert-menu-toggle:hover span:nth-child(2){width:25px;margin-right:0;align-self:center}
.solexpert-menu-open .solexpert-menu-toggle span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.solexpert-menu-open .solexpert-menu-toggle span:nth-child(2){opacity:0;transform:scaleX(0)}
.solexpert-menu-open .solexpert-menu-toggle span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
.solexpert-menu-backdrop{position:fixed;inset:0;z-index:999;background:rgba(8,11,9,.42);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s ease}
.solexpert-menu-drawer{position:fixed;top:0;right:0;z-index:1000;width:min(440px,92vw);height:100dvh;background:#151b17;color:#fff;transform:translateX(104%);transition:transform .58s cubic-bezier(.22,1,.36,1);box-shadow:-22px 0 70px rgba(0,0,0,.25);overflow:auto}
.solexpert-menu-drawer::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 88% 8%,rgba(201,162,93,.18),transparent 31%),linear-gradient(145deg,rgba(255,255,255,.03),transparent 44%);pointer-events:none}
.solexpert-menu-inner{position:relative;min-height:100%;padding:46px 42px 34px;display:flex;flex-direction:column}
.solexpert-menu-top{padding:4px 80px 40px 0;border-bottom:1px solid rgba(255,255,255,.11);display:flex;flex-direction:column;gap:7px}
.solexpert-menu-kicker{font-family:'Cormorant Garamond',Georgia,serif;font-size:28px;font-weight:600;letter-spacing:.04em}
.solexpert-menu-caption{font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:rgba(255,255,255,.48)}
.solexpert-menu-nav{display:flex;flex-direction:column;padding:24px 0 26px}
.solexpert-menu-nav a{position:relative;display:grid;grid-template-columns:38px 1fr;align-items:baseline;gap:8px;padding:15px 0;text-decoration:none;color:#fff;border-bottom:1px solid rgba(255,255,255,.075);overflow:hidden;opacity:0;transform:translateX(22px);transition:opacity .45s ease,transform .55s cubic-bezier(.22,1,.36,1)}
.solexpert-menu-nav a::after{content:'→';position:absolute;right:4px;top:50%;transform:translate(12px,-50%);opacity:0;color:#cda45f;font-size:18px;transition:opacity .3s ease,transform .35s cubic-bezier(.22,1,.36,1)}
.solexpert-menu-nav a span{font-size:10px;letter-spacing:.12em;color:#a98650}
.solexpert-menu-nav a strong{font-family:'Cormorant Garamond',Georgia,serif;font-size:35px;line-height:1;font-weight:500;transition:transform .35s cubic-bezier(.22,1,.36,1),color .3s ease}
.solexpert-menu-nav a:hover strong{transform:translateX(8px);color:#e3c99c}
.solexpert-menu-nav a:hover::after{opacity:1;transform:translate(0,-50%)}
.solexpert-menu-cta{position:relative;margin-top:10px;padding:21px 54px 21px 22px;border:1px solid rgba(215,183,128,.42);border-radius:18px;background:linear-gradient(135deg,rgba(201,162,93,.17),rgba(201,162,93,.06));text-decoration:none;color:#fff;display:flex;flex-direction:column;gap:5px;opacity:0;transform:translateY(14px);transition:opacity .45s ease .30s,transform .55s cubic-bezier(.22,1,.36,1) .30s,background .3s ease,border-color .3s ease}
.solexpert-menu-open .solexpert-menu-cta{opacity:1;transform:translateY(0)}
.solexpert-menu-cta:hover{transform:translateY(-3px);background:linear-gradient(135deg,rgba(201,162,93,.28),rgba(201,162,93,.10));border-color:rgba(215,183,128,.70)}
.solexpert-menu-cta span{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:rgba(255,255,255,.55)}
.solexpert-menu-cta strong{font-family:'Cormorant Garamond',Georgia,serif;font-size:28px;font-weight:600}
.solexpert-menu-cta i{position:absolute;right:21px;top:50%;transform:translateY(-50%);font-style:normal;font-size:24px;color:#d8b77c}
.solexpert-menu-foot{margin-top:auto;padding-top:34px;display:flex;justify-content:space-between;gap:14px;font-size:9px;line-height:1.5;text-transform:uppercase;letter-spacing:.11em;color:rgba(255,255,255,.32)}
.solexpert-menu-open{overflow:hidden}
.solexpert-menu-open .solexpert-menu-backdrop{opacity:1;visibility:visible}
.solexpert-menu-open .solexpert-menu-drawer{transform:translateX(0)}
.solexpert-menu-open .solexpert-menu-nav a{opacity:1;transform:translateX(0)}
.solexpert-menu-open .solexpert-menu-nav a:nth-child(1){transition-delay:.12s}
.solexpert-menu-open .solexpert-menu-nav a:nth-child(2){transition-delay:.18s}
.solexpert-menu-open .solexpert-menu-nav a:nth-child(3){transition-delay:.24s}
.solexpert-menu-open .solexpert-menu-nav a:nth-child(4){transition-delay:.30s}
.site-header .menu-btn{display:none!important}
@media(max-width:650px){
  .solexpert-menu-toggle{top:16px;right:16px;width:54px;height:54px;border-radius:15px}
  .solexpert-menu-inner{padding:35px 26px 28px}
  .solexpert-menu-top{padding-right:68px;padding-bottom:30px}
  .solexpert-menu-nav a{padding:14px 0}
  .solexpert-menu-nav a strong{font-size:32px}
  .solexpert-menu-foot{display:block}.solexpert-menu-foot span{display:block;margin-top:5px}
}
@media(prefers-reduced-motion:reduce){.solexpert-menu-drawer,.solexpert-menu-backdrop,.solexpert-menu-toggle,.solexpert-menu-toggle span,.solexpert-menu-nav a strong,.solexpert-menu-nav a::after{transition:none!important}}

/* Coordonnées sous le logo SOL'EXPERT (pied de page) */
.footer-brand .footer-contact{margin-top:20px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.footer-brand .footer-contact a{display:block;margin:0;color:rgba(255,255,255,.82);font-size:13px;line-height:1.45;overflow-wrap:anywhere}
.footer-brand .footer-contact a:hover{color:#fff;text-decoration:underline}
