
:root { color-scheme: light; }
*, *::before, *::after { box-sizing: border-box; }
html, body { width:100%; height:100%; margin:0; padding:0; }
html { -webkit-text-size-adjust:100%; }
body.sivra-visual-home { overflow:hidden; background:#fafafa; color:#111; font-family:"DM Sans","Manrope",Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
button, a { -webkit-tap-highlight-color:transparent; }
a:focus-visible { outline:2px solid #111; outline-offset:4px; }
.sv-page { --sv-header-h:68px; --sv-inset:16px; width:100%; max-width:100vw; height:100vh; height:100dvh; display:flex; flex-direction:column; overflow:hidden; }
.sv-header { position:relative; z-index:10; flex:0 0 var(--sv-header-h); min-height:var(--sv-header-h); background:#fff; display:grid; grid-template-columns:1fr minmax(0,auto) 1fr; align-items:center; padding:0 clamp(16px,2.4vw,40px); }
.sv-brand { position:relative; z-index:2; justify-self:center; display:inline-block; font-family:"Manrope",sans-serif; font-size:clamp(13px,1.07vw,17px); font-weight:800; letter-spacing:.53em; line-height:1.3; padding-left:.53em; white-space:nowrap; text-align:center; }
.sv-header-space { width:0; }
.sv-actions { display:flex; align-items:center; justify-self:end; gap:clamp(14px,1.7vw,24px); }
.sv-header-shop { font-size:10px; letter-spacing:.18em; font-weight:700; transition:opacity .18s; }
.sv-header-shop:hover { opacity:.58; }
.sv-icon-link { width:27px; height:30px; display:grid; place-items:center; transition:transform .22s,opacity .22s; }
.sv-icon-link svg { width:21px; height:21px; }
.sv-icon-link:hover { transform:translateY(-2px); opacity:.72; }
.sv-main { flex:1 1 auto; min-height:0; padding:0 var(--sv-inset) var(--sv-inset); }
.sv-hero { position:relative; isolation:isolate; height:100%; width:100%; overflow:hidden; background:#dfdfdf; }
.sv-hero-media, .sv-hero-image { position:absolute; inset:0; display:block; width:100%; height:100%; }
.sv-hero-image { object-fit:var(--sv-fit,cover); object-position:var(--sv-position,center center); transform:scale(1.007); animation:sv-image-arrive 950ms cubic-bezier(.17,.65,.25,1) both; }
.sv-hero-shade { position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(180deg,transparent 48%,rgba(0,0,0,.19) 100%),rgba(0,0,0,var(--sv-overlay,0.12)); }
.sv-hero-content { position:absolute; z-index:2; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; gap:18px; padding:clamp(22px,4.2vh,46px) clamp(16px,5vw,90px); color:#fff; text-align:center; }
.sv-copy { margin:auto 0 0; width:min(790px,100%); text-wrap:balance; text-shadow:0 3px 18px rgba(0,0,0,.24); }
.sv-overline { margin:0 0 14px; font-size:11px; letter-spacing:.28em; font-weight:600; }
.sv-copy h1 { font-family:"Manrope",sans-serif; font-size:clamp(31px,5.5vw,76px); line-height:1.06; letter-spacing:-.055em; font-weight:700; margin:0; }
.sv-copy-subtitle { font-size:clamp(13px,1.3vw,17px); line-height:1.65; max-width:550px; margin:17px auto 0; }
.sv-origin { font-size:10px; font-weight:700; letter-spacing:.3em; line-height:1.5; margin:auto 0 0; text-shadow:0 2px 10px rgba(0,0,0,.38); }
.sv-shop-cta { display:inline-flex; align-items:center; justify-content:space-between; gap:22px; min-width:170px; max-width:min(100%,480px); min-height:49px; border:1px solid rgba(255,255,255,.8); background:#fff; color:#171717; padding:0 19px 0 23px; font-family:"Manrope",sans-serif; font-size:11px; letter-spacing:.14em; font-weight:800; box-shadow:0 11px 32px rgba(0,0,0,.14); transition:background .2s, color .2s, transform .22s, box-shadow .22s; }
.sv-shop-cta svg { width:17px; height:17px; flex-shrink:0; transition:transform .22s; }
.sv-shop-cta:hover { background:#111; color:#fff; transform:translateY(-3px); box-shadow:0 14px 34px rgba(0,0,0,.22); }
.sv-shop-cta:hover svg { transform:translateX(3px); }
.sv-shop-cta:focus-visible { outline-color:#fff; outline-offset:4px; }
.sv-sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
@keyframes sv-image-arrive { from{opacity:.78;transform:scale(1.035)} to{opacity:1;transform:scale(1.007)} }
@media (max-width:680px) {
 .sv-page { --sv-header-h:60px; --sv-inset:9px; }
 .sv-header { padding-inline:15px; }
 .sv-brand { font-size:12px; letter-spacing:.32em; padding-left:.32em; max-width:55vw; overflow:hidden; text-overflow:ellipsis; }
 .sv-actions { gap:12px; }
 .sv-header-shop { display:none; }
 .sv-icon-link { width:24px; }
 .sv-icon-link svg { width:20px; height:20px; }
 .sv-hero-image { object-position:var(--sv-position-mobile,var(--sv-position,center center)); }
 .sv-hero-content { gap:13px; padding:20px 16px 30px; }
 .sv-origin { font-size:8px; letter-spacing:.18em; }
 .sv-copy h1 { font-size:clamp(27px,9.1vw,44px); }
 .sv-copy-subtitle { font-size:12px; margin-top:12px; }
 .sv-overline { font-size:9px; letter-spacing:.16em; }
 .sv-shop-cta { min-height:47px; min-width:155px; font-size:10px; }
}
@media (max-height:550px) and (min-width:681px) {
 .sv-page { --sv-header-h:52px; --sv-inset:9px; }
 .sv-hero-content { padding-block:16px; gap:8px; }
 .sv-shop-cta { min-height:42px; }
 .sv-copy h1 { font-size:clamp(24px,3vw,40px); }
 .sv-copy-subtitle { margin-top:6px; }
}
@media (prefers-reduced-motion:reduce) {
 *, *::before, *::after { animation-duration:.001ms!important; transition-duration:.001ms!important; scroll- }
}



.sv-icon-link[type="button"] {
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
    border: 0;
    padding: 0;
    cursor: pointer;
    color: inherit;
    font: inherit;
}
.sv-auth-modal[hidden],
.sv-auth-panel[hidden] {
    display: none !important;
}
.sv-auth-modal {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: grid;
    place-items: center;
    padding: clamp(12px, 3vw, 30px);
    isolation: isolate;
    font-family: "DM Sans", "Manrope", Arial, sans-serif;
}
.sv-auth-backdrop {
    position: absolute;
    inset: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    border: 0;
    background: rgba(9, 12, 17, 0.7);
    -webkit-backdrop-filter: blur(7px);
    backdrop-filter: blur(7px);
    cursor: default;
}
.sv-auth-card {
    position: relative;
    background: #fff;
    color: #17191c;
    border: 1px solid #e6e8ea;
    border-radius: 12px;
    width: min(100%, 440px);
    max-height: min(90dvh, 760px);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-
    padding: clamp(22px, 4.5vw, 34px);
    box-shadow: 0 24px 80px rgba(0, 0, 0, .27);
    animation: sv-auth-appear .2s ease-out both;
}
.sv-auth-card:focus { outline: none; }
.sv-auth-close {
    position: absolute;
    top: 11px;
    right: 13px;
    background: transparent;
    color: #30363b;
    border: 0;
    width: 34px;
    height: 34px;
    cursor: pointer;
    display: grid;
    place-items: center;
    font-size: 28px;
    line-height: 1;
    border-radius: 50%;
}
.sv-auth-close:hover { background: #f0f1f2; }
.sv-auth-kicker {
    color: #6c7176;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .22em;
    margin: 4px 0 11px;
}
.sv-auth-card h2 {
    margin: 0;
    color: #111;
    font-family: "Manrope", sans-serif;
    font-size: clamp(22px, 4.7vw, 30px);
    letter-spacing: -.055em;
    font-weight: 800;
    line-height: 1.2;
}
.sv-auth-intro {
    color: #555e68;
    line-height: 1.55;
    font-size: 12px;
    margin: 12px 0 20px;
}
.sv-auth-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-bottom: 1px solid #e4e6e8;
    gap: 2px;
    margin-bottom: 18px;
}
.sv-auth-tabs button {
    appearance: none;
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    color: #797f85;
    padding: 11px 8px 12px;
    font-family: "DM Sans",sans-serif;
    font-weight: 700;
    font-size: 12px;
    cursor: pointer;
}
.sv-auth-tabs button.active,
.sv-auth-tabs button[aria-selected="true"] {
    color: #171717;
    border-bottom-color: #171717;
}
.sv-auth-form { display: grid; gap: 9px; }
.sv-auth-form label { color: #262a30; font-size: 11px; font-weight: 700; margin-top: 7px; }
.sv-auth-form input:not([type="hidden"]) {
    width: 100%;
    min-width: 0;
    height: 43px;
    appearance: none;
    border: 1px solid #d7dadd;
    border-radius: 5px;
    background: #fff;
    color: #1a1a1a;
    padding: 10px 12px;
    outline: 0;
    font: 500 13px/1.4 "DM Sans",sans-serif;
}
.sv-auth-form input::placeholder { color: #8a8e93; }
.sv-auth-form input:focus-visible { border-color: #333; box-shadow: 0 0 0 2px rgba(24,24,24,.09); }
.sv-auth-submit {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    min-height: 45px;
    border: 1px solid #161616;
    border-radius: 4px;
    padding: 0 16px;
    margin-top: 14px;
    color: #fff;
    background: #161616;
    font-family: "Manrope",sans-serif;
    letter-spacing: .12em;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
    transition: background .2s, transform .2s;
}
.sv-auth-submit:hover { background: #30343a; transform: translateY(-1px); }
.sv-auth-error,
.sv-auth-success {
    font-size: 12px;
    line-height: 1.6;
    padding: 9px 11px;
    border-radius: 5px;
    margin: 5px 0;
}
.sv-auth-error { color: #8e2323; background: #fff0f0; }
.sv-auth-success { color: #225b37; background: #ecf8f0; }
.sv-auth-note { color: #747a82; font-size: 11px; line-height: 1.5; margin: 4px 0 0; }
.sv-auth-card button:focus-visible { outline: 2px solid #222; outline-offset: 2px; }
@keyframes sv-auth-appear {
    from { opacity: 0; transform: translateY(10px) scale(.985); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}
@media (max-width: 680px) {
    .sv-auth-modal { padding: 12px; }
    .sv-auth-card { width: 100%; padding: 22px; max-height: calc(100dvh - 24px); border-radius: 9px; }
    .sv-auth-intro { margin-bottom: 13px; }
}
@media (prefers-reduced-motion: reduce) {
    .sv-auth-card { animation: none; }
    .sv-auth-submit { transition: none; }
}
