/* IFEIA — base, header, buttons, footer. Home-only rules live in home.css. */
@font-face{font-family:"Sora";src:url(../fonts/sora-latin.woff2) format("woff2");font-weight:100 800;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url(../fonts/inter-latin.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --ox:#4A0E1C; --ox-deep:#2A0910; --wine:#6B1A2B; --rose:#C98A97; --rose-soft:#E9C9D0;
  --stone:#EFE9E1; --stone-2:#E5DDD1; --plat:#B9B4AC; --ink:#23090F; --muted:#665659;
  --line:rgba(35,9,15,.16); --line-light:rgba(239,233,225,.2);
  --head:"Sora","Inter",system-ui,sans-serif; --body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --gutter:clamp(20px,4vw,48px); --max:1280px; --hdr:76px;
  --ease:cubic-bezier(.2,.7,.1,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 12px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--stone);color:var(--ink);font:400 1.0625rem/1.65 var(--body);text-rendering:optimizeLegibility;overflow-x:clip}
img,svg{max-width:100%;display:block}
img{height:auto}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--head);font-weight:600;line-height:1.12;letter-spacing:-.02em;margin:0}
p{margin:0 0 1em}
ul,ol{margin:0;padding:0}
button{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--rose);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:-999px;top:8px;background:var(--ox);color:var(--stone);padding:10px 16px;z-index:100;border-radius:4px}
.skip:focus{left:8px}
.wrap{width:100%;max-width:calc(var(--max) + 2*var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}

/* progress */
.progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:80;pointer-events:none}
.progress i{display:block;height:100%;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,var(--rose),var(--wine))}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.6em;font:600 .9rem/1 var(--head);letter-spacing:.01em;padding:.95em 1.5em;border-radius:4px;border:1.5px solid transparent;text-decoration:none;cursor:pointer;transition:background .25s,color .25s,border-color .25s,transform .25s var(--ease),box-shadow .25s}
.btn-sm{padding:.7em 1.15em;font-size:.82rem}
.btn-lg{padding:1.05em 1.7em;font-size:.95rem}
.btn-solid{background:var(--wine);color:var(--stone)}
.btn-solid:hover{background:var(--ox);transform:translateY(-2px);box-shadow:0 10px 24px -10px rgba(74,14,28,.7)}
.btn-ghost{border-color:currentColor;color:var(--ox)}
.btn-ghost:hover{background:var(--ox);color:var(--stone);border-color:var(--ox)}
.btn-ghost-light{border-color:rgba(239,233,225,.55);color:var(--stone)}
.btn-ghost-light:hover{background:var(--stone);color:var(--ox);border-color:var(--stone)}
.hero .btn-solid,.reg .btn-solid,.cta .btn-solid,.fw .btn-solid{background:var(--stone);color:var(--ox)}
.hero .btn-solid:hover,.reg .btn-solid:hover,.cta .btn-solid:hover,.fw .btn-solid:hover{background:var(--rose-soft)}

/* header */
.site-header{position:fixed;inset:0 0 auto 0;z-index:70;height:var(--hdr);background:rgba(239,233,225,.92);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);color:var(--ink);border-bottom:1px solid var(--line);transition:background .35s,color .35s,border-color .35s,box-shadow .35s}
.hdr{display:flex;align-items:center;gap:clamp(16px,2.4vw,40px);height:var(--hdr)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none}
.brand-mark{width:34px;height:38px}
.brand .mk-light{display:none}
.brand-name{font:700 1.5rem/1 var(--head);letter-spacing:.14em}
.brand-sub{display:none;font:500 .68rem/1.25 var(--body);letter-spacing:.08em;text-transform:uppercase;width:215px;opacity:.75;border-left:1px solid currentColor;padding-left:12px}
@media(min-width:1280px){.brand-sub{display:block}}
.nav{margin-left:auto}
.nav>ul{display:flex;gap:2px;list-style:none}
.nav a{text-decoration:none;font:500 .92rem/1 var(--body);padding:.7em .85em;border-radius:4px;display:inline-flex;align-items:center;gap:6px;transition:background .2s,color .2s}
.nav>ul>li>a:hover,.nav li:focus-within>a{background:rgba(74,14,28,.08)}
.has-menu{position:relative}
.menu{position:absolute;left:0;top:100%;min-width:260px;padding-top:10px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .25s var(--ease),visibility .2s}
.menu ul{list-style:none;background:var(--ox);color:var(--stone);border-radius:8px;padding:8px;box-shadow:0 24px 48px -16px rgba(35,9,15,.55)}
.menu a{display:flex;padding:.7em .9em;width:100%}
.menu a:hover{background:rgba(239,233,225,.12)}
.has-menu:hover .menu,.has-menu:focus-within .menu{opacity:1;visibility:visible;transform:none}
.chev{transition:transform .25s}
.has-menu:hover .chev{transform:rotate(180deg)}
.hdr-cta{display:flex;gap:10px;flex:none}
.burger{display:none;margin-left:auto;width:44px;height:44px;border:0;background:none;cursor:pointer;position:relative}
.burger span{position:absolute;left:10px;right:10px;height:2px;background:currentColor;transition:transform .3s var(--ease),top .3s}
.burger span:first-child{top:17px}.burger span:last-child{top:25px}
.burger[aria-expanded=true] span:first-child{top:21px;transform:rotate(45deg)}
.burger[aria-expanded=true] span:last-child{top:21px;transform:rotate(-45deg)}
.drawer{position:absolute;top:var(--hdr);left:0;right:0;max-height:calc(100svh - var(--hdr));overflow:auto;background:var(--ox);color:var(--stone);padding-block:12px 28px}
.drawer[hidden]{display:none}
.drawer details{border-bottom:1px solid var(--line-light)}
.drawer summary,.drawer-link{display:block;padding:1em 0;font:600 1.05rem/1.2 var(--head);cursor:pointer;text-decoration:none;list-style:none}
.drawer-link{border-bottom:1px solid var(--line-light)}
.drawer summary::-webkit-details-marker{display:none}
.drawer details ul{list-style:none;padding:0 0 14px 14px}
.drawer details a{display:block;padding:.45em 0;text-decoration:none;opacity:.85}
.drawer-cta{display:flex;gap:10px;margin-top:20px}
.drawer-cta .btn{flex:1;justify-content:center}
.drawer .btn-solid{background:var(--stone);color:var(--ox)}
.drawer .btn-ghost{color:var(--stone)}
@media(max-width:1099px){.nav,.hdr-cta{display:none}.burger{display:block}}

/* transparent header over the hero */
body.has-hero .site-header:not(.is-scrolled){background:transparent;color:var(--stone);border-bottom-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
body.has-hero .site-header:not(.is-scrolled) .mk-dark{display:none}
body.has-hero .site-header:not(.is-scrolled) .mk-light{display:block}
body.has-hero .site-header:not(.is-scrolled) .btn-ghost{color:var(--stone)}
body.has-hero .site-header:not(.is-scrolled) .btn-ghost:hover{background:var(--stone);color:var(--ox)}
body.has-hero .site-header:not(.is-scrolled) .btn-solid{background:var(--stone);color:var(--ox)}
body.has-hero .site-header:not(.is-scrolled) .nav>ul>li>a:hover,body.has-hero .site-header:not(.is-scrolled) .nav li:focus-within>a{background:rgba(239,233,225,.14)}
.site-header.is-scrolled{box-shadow:0 10px 30px -18px rgba(35,9,15,.5)}
.site-header.menu-open{background:var(--ox)!important;color:var(--stone)!important}
.site-header.menu-open .mk-dark{display:none!important}.site-header.menu-open .mk-light{display:block!important}
main{display:block}
body:not(.has-hero) main{padding-top:var(--hdr)}

/* reveal */
.js [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js [data-reveal].is-in{opacity:1;transform:none}

/* kicker + shared */
.kicker{display:flex;align-items:center;gap:12px;font:600 .78rem/1 var(--head);letter-spacing:.2em;text-transform:uppercase;color:var(--wine);margin-bottom:1.4rem}
.kicker span{color:var(--ox);font-weight:800}
.kicker::before{content:"";width:34px;height:1.5px;background:currentColor;order:-1}
.kicker-light{color:var(--rose)}.kicker-light span{color:var(--stone)}
.eyebrow{font:600 .78rem/1.3 var(--head);letter-spacing:.22em;text-transform:uppercase}
.sec{padding-block:clamp(72px,10vw,150px)}

/* footer */
.site-footer{position:relative;background:var(--ox-deep);color:var(--stone);overflow:hidden;font-size:.95rem}
.foot-marquee{border-bottom:1px solid var(--line-light);overflow:hidden;padding-block:18px;background:var(--ox)}
.foot-marquee-track{display:flex;width:max-content;animation:marquee 60s linear infinite}
.foot-marquee span{display:flex;align-items:center;font:600 .78rem/1 var(--head);letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;color:var(--rose-soft)}
.foot-marquee i{display:inline-block;width:6px;height:6px;margin-inline:28px;transform:rotate(45deg);background:var(--rose)}
.foot-grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr) 1.3fr;gap:clamp(24px,3vw,48px);padding-block:clamp(48px,6vw,88px) 40px}
.foot-id img{margin-bottom:16px}
.foot-name{font:600 1.05rem/1.35 var(--head);margin-bottom:.8em}
.foot-legal{font-size:.88rem;opacity:.72;max-width:34ch}
.foot-col h2{font:600 .74rem/1 var(--head);letter-spacing:.2em;text-transform:uppercase;color:var(--rose);margin-bottom:1.1em}
.foot-col ul{list-style:none}
.foot-col li{margin-bottom:.55em}
.foot-col a{text-decoration:none;opacity:.88;background:linear-gradient(var(--rose),var(--rose)) 0 100%/0 1px no-repeat;transition:background-size .3s var(--ease),opacity .2s}
.foot-col a:hover{opacity:1;background-size:100% 1px}
.foot-col address{font-style:normal;margin-bottom:.8em;opacity:.88}
.foot-axes{border-top:1px solid var(--line-light);padding-block:clamp(28px,4vw,48px) clamp(32px,4.5vw,56px);background:linear-gradient(180deg,transparent,rgba(0,0,0,.18))}
.foot-axes-t{font:600 .74rem/1 var(--head);letter-spacing:.2em;text-transform:uppercase;color:var(--rose);margin:0 0 22px}
.foot-axes ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;border-top:2px solid var(--rose)}
.foot-axes li{border-inline-start:1px solid var(--line-light);position:relative}
.foot-axes li:first-child{border-inline-start:0}
.foot-axes li::before{content:"";position:absolute;top:-6px;inset-inline-start:-1px;width:10px;height:10px;transform:rotate(45deg) translate(-3px,-3px);background:var(--rose)}
.foot-axes li:first-child::before{inset-inline-start:0;transform:rotate(45deg)}
.foot-axes a{display:block;padding:22px 16px 6px;text-decoration:none;color:inherit;transition:background .2s}
.foot-axes a:hover,.foot-axes a:focus-visible{background:rgba(255,255,255,.05)}
.foot-axes b{display:block;font:300 clamp(1.8rem,3vw,2.6rem)/1 var(--head);letter-spacing:-.03em;color:var(--plat);margin-bottom:12px;transition:color .2s}
.foot-axes a:hover b{color:var(--rose-soft)}
.foot-axes span{display:block;font:500 .86rem/1.35 var(--head);color:var(--stone);opacity:.88}
@media(max-width:1000px){.foot-axes ol{grid-template-columns:repeat(4,minmax(0,1fr));border-top:0}.foot-axes li{border-top:1px solid var(--rose);border-inline-start:0;margin-bottom:8px}.foot-axes li::before{display:none}.foot-axes a{padding-inline:0 12px}}
@media(max-width:560px){.foot-axes ol{grid-template-columns:repeat(2,minmax(0,1fr))}}
.foot-base{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:22px;border-top:1px solid var(--line-light);position:relative;background:var(--ox-deep);font-size:.82rem;opacity:.9}
.foot-base p{margin:0}
@media(max-width:1180px){.foot-grid{grid-template-columns:repeat(3,1fr)}.foot-id{grid-column:1/-1}}
@media(max-width:620px){.foot-grid{grid-template-columns:1fr 1fr}.foot-contact{grid-column:1/-1}}

@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes flow{to{background-position:300% 0}}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .js [data-reveal]{opacity:1;transform:none}
  .foot-marquee-track{animation:none}
}
[hidden]{display:none!important}
