
.svfc-shell{
    position:relative;
    min-height:var(--svfc-min-height,100vh);
    overflow:hidden;
    isolation:isolate;
}
.svfc-bg{
    position:absolute;
    inset:0;
    background-repeat:no-repeat;
    background-position:center center;
    background-size:cover;
    transform:scale(var(--svfc-bg-scale,1));
}
.svfc-overlay{
    position:absolute;
    inset:0;
    background:
      radial-gradient(circle at 50% 55%, rgba(255,220,160,0.08), rgba(255,220,160,0) 20%),
      linear-gradient(to bottom, rgba(var(--svfc-overlay-rgb,0,0,0), calc(var(--svfc-overlay-opacity,0.10) + 0.03)), rgba(var(--svfc-overlay-rgb,0,0,0), var(--svfc-overlay-opacity,0.10)));
}
.svfc-inner{
    position:relative;
    z-index:1;
    max-width:1140px;
    min-height:var(--svfc-min-height,100vh);
    margin:0 auto;
    padding:40px 24px 30px;
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    justify-content:center;
    transform:translateY(var(--svfc-offset-y,0));
}
.svfc-hero-card{
    width:min(100%, var(--svfc-content-width,760px));
    padding:34px 28px 36px;
    border-radius:var(--svfc-panel-radius,26px);
    background:rgba(var(--svfc-panel-rgb,255,255,255), var(--svfc-panel-opacity,0.10));
    backdrop-filter:blur(var(--svfc-panel-blur,8px));
    -webkit-backdrop-filter:blur(var(--svfc-panel-blur,8px));
    box-shadow:0 14px 44px rgba(0,0,0,var(--svfc-panel-shadow-opacity,0.12)), inset 0 0 0 1px rgba(255,255,255,var(--svfc-panel-border-opacity,0.08));
}
.svfc-hero-card.svfc-no-panel{
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
}
.svfc-align-center .svfc-hero-card{margin:0 auto 28px;text-align:center;}
.svfc-align-left .svfc-hero-card{margin:0 auto 28px 0;text-align:left;}
.svfc-logo{
    width:min(var(--svfc-logo-width,120px), 40vw);
    max-width:100%;
    height:auto;
    display:block;
    margin:0 auto 10px;
}
.svfc-align-left .svfc-logo{margin-left:0;margin-right:0;}
.svfc-title{
    margin:0;
    color:var(--svfc-title-color,#f5efe3);
    font-family:var(--svfc-font-title, Georgia, "Times New Roman", serif);
    font-size:clamp(56px, 6.2vw, 92px);
    line-height:.95;
    font-weight:500;
    letter-spacing:-.03em;
}
.svfc-subtitle{
    margin-top:10px;
    color:var(--svfc-subtitle-color,#efdfc2);
    font-family:var(--svfc-font-title, Georgia, "Times New Roman", serif);
    font-size:clamp(22px, 2.1vw, 38px);
    line-height:1.15;
}
.svfc-body{
    max-width:690px;
    margin-top:24px;
    color:var(--svfc-body-color,#f5ecdf);
    font-family:var(--svfc-font-title, Georgia, "Times New Roman", serif);
    font-size:clamp(18px, 1.55vw, 34px);
    line-height:1.56;
    text-wrap:balance;
}
.svfc-align-center .svfc-body{margin-left:auto;margin-right:auto;}

.svfc-cards{
    width:100%;
    max-width:1060px;
    margin:0 auto 22px;
    display:grid;
    grid-template-columns:repeat(var(--svfc-cards-columns,4), minmax(0,1fr));
    gap:var(--svfc-cards-gap,18px);
}
.svfc-card{
    position:relative;
    overflow:hidden;
    border-radius:var(--svfc-cards-radius,18px);
    text-decoration:none;
    background:rgba(var(--svfc-cards-rgb,255,255,255), var(--svfc-cards-bg-opacity,0.05));
    backdrop-filter:blur(var(--svfc-cards-blur,3px));
    -webkit-backdrop-filter:blur(var(--svfc-cards-blur,3px));
    box-shadow:inset 0 0 0 1px rgba(255,255,255,var(--svfc-cards-border-opacity,0.06));
    aspect-ratio:var(--svfc-cards-ratio, 3 / 2);
    background-size:cover;
    background-position:center;
    transition:transform .18s ease, box-shadow .18s ease;
}
.svfc-card:hover{
    transform:translateY(-2px);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.12), 0 8px 18px rgba(0,0,0,.10);
}
.svfc-card-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(to bottom, rgba(16,14,12,calc(var(--svfc-cards-overlay,0.18) * 0.35)), rgba(16,14,12,var(--svfc-cards-overlay,0.18)));
}
.svfc-card.has-image .svfc-card-overlay{
    background:linear-gradient(to bottom, rgba(16,14,12,calc(var(--svfc-cards-overlay-image,0.34) * 0.45)), rgba(16,14,12,var(--svfc-cards-overlay-image,0.34)));
}
.svfc-card-content{
    position:relative;
    z-index:1;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    height:100%;
    padding:var(--svfc-cards-pad-y,12px) var(--svfc-cards-pad-x,14px);
    box-sizing:border-box;
}
.svfc-card-content strong{
    display:block;
    color:var(--svfc-cards-title-color,#fff7eb);
    font-family:var(--svfc-font-ui, system-ui, -apple-system, Segoe UI, Roboto, sans-serif);
    font-size:var(--svfc-cards-title-size,16px);
    line-height:1.22;
    font-weight:700;
}
.svfc-card-content span{
    display:block;
    margin-top:5px;
    color:var(--svfc-cards-text-color,#f4eadc);
    font-family:var(--svfc-font-ui, system-ui, -apple-system, Segoe UI, Roboto, sans-serif);
    font-size:var(--svfc-cards-text-size,13px);
    line-height:1.32;
}

.svfc-feature{
    width:100%;
    max-width:1060px;
    margin:0 auto;
    padding:var(--svfc-feature-pad-y,26px) var(--svfc-feature-pad-x,26px);
    border-radius:var(--svfc-feature-radius,18px);
    background:rgba(var(--svfc-feature-rgb,21,63,73), var(--svfc-feature-opacity,0.90));
    box-shadow:0 14px 32px rgba(0,0,0,.16), inset 0 0 0 1px rgba(255,255,255,.05);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}
.svfc-feature-copy{flex:1 1 auto;min-width:0;}
.svfc-feature h2{
    margin:0 0 8px;
    color:var(--svfc-feature-title-color,#fff);
    font-family:var(--svfc-font-ui, system-ui, -apple-system, Segoe UI, Roboto, sans-serif);
    font-size:19px;
    line-height:1.2;
    font-weight:700;
}
.svfc-feature p{
    margin:0;
    color:var(--svfc-feature-text-color,#eef5f5);
    font-family:var(--svfc-font-ui, system-ui, -apple-system, Segoe UI, Roboto, sans-serif);
    font-size:15px;
    line-height:1.62;
}
.svfc-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:var(--svfc-btn-width,250px);
    min-width:0;
    height:var(--svfc-btn-height,50px);
    padding:0 24px;
    border-radius:var(--svfc-btn-radius,999px);
    background:var(--svfc-btn-bg,#d8af68);
    color:var(--svfc-btn-color,#fff7ec);
    text-decoration:none;
    font-family:var(--svfc-font-ui, system-ui, -apple-system, Segoe UI, Roboto, sans-serif);
    font-size:15px;
    font-weight:700;
    box-shadow:0 8px 24px rgba(0,0,0,.16);
}
.svfc-footer{
    width:100%;
    max-width:1060px;
    margin:14px auto 0;
    display:flex;
    justify-content:space-between;
    gap:18px;
    color:var(--svfc-footer-color,#eee5d8);
    font-family:var(--svfc-font-ui, system-ui, -apple-system, Segoe UI, Roboto, sans-serif);
    font-size:11px;
    line-height:1.4;
}

@media (max-width:1024px){
    .svfc-cards{grid-template-columns:repeat(var(--svfc-cards-columns-tablet,2), minmax(0,1fr));}
}
@media (max-width:860px){
    .svfc-feature{flex-direction:column;align-items:flex-start;}
    .svfc-feature-action{width:100%;}
    .svfc-btn{width:100%;}
    .svfc-footer{flex-direction:column;align-items:flex-start;}
}
@media (max-width:640px){
    .svfc-inner{padding:22px 14px 20px;}
    .svfc-hero-card{padding:22px 16px 24px;}
    .svfc-title{font-size:clamp(40px,12vw,66px);}
    .svfc-subtitle{font-size:clamp(17px,5.6vw,24px);}
    .svfc-body{font-size:clamp(16px,4.7vw,20px);}
    .svfc-cards{grid-template-columns:repeat(var(--svfc-cards-columns-mobile,1), minmax(0,1fr));}
}

/* admin */
.svfc-admin-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 320px;
    gap:24px;
    align-items:start;
}
.svfc-box{
    background:#fff;
    border:1px solid #dcdcde;
    border-radius:12px;
    padding:18px 20px;
    margin-bottom:20px;
    box-shadow:0 1px 1px rgba(0,0,0,.02);
}
.svfc-box h2{margin-top:0;}
.svfc-wide{width:100%;max-width:100%;}
.svfc-admin .form-table th{width:290px;}
.svfc-admin hr{border:none;border-top:1px solid #e4e4e7;margin:14px 0;}
.svfc-preview-wrap{margin:18px 0 22px;}
.svfc-preview-note{font-size:12px;color:#50575e;margin-bottom:10px;}
.svfc-preview-shell{
    border:1px solid #dcdcde;
    border-radius:14px;
    background:#0f1720;
    padding:14px;
}
.svfc-preview-cards{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
}
.svfc-preview-card{
    aspect-ratio:var(--svfc-cards-ratio,3 / 2);
    min-height:120px;
    background:#38404a;
    border-radius:14px;
    padding:14px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    text-align:center;
    color:#fff;
}
.svfc-preview-card strong{font:700 14px/1.25 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;}
.svfc-preview-card span{margin-top:5px;font:400 12px/1.35 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;opacity:.9;}
.svfc-preview-ratio{margin-top:12px;color:#d7dbe0;font-size:12px;}
@media (max-width:1024px){
    .svfc-admin-grid{grid-template-columns:1fr;}
}
@media (max-width:680px){
    .svfc-preview-cards{grid-template-columns:1fr 1fr;}
}


/* SEO + legal helpers */
.svfc-card-alt{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}
.svfc-footer-left{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    align-items:center;
}
.svfc-footer-left a{
    color:var(--svfc-footer-color,#eee5d8);
    text-decoration:none;
    transition:opacity .18s ease, color .18s ease;
}
.svfc-footer-left a:hover{
    color:#ffffff;
}
.svfc-footer-sep{
    opacity:.8;
}
