.sftf-root {
    --dark:#504C44;
    --sand:#C8C2AD;
    --bronze:#B4885D;
    --steel:#B1B7BB;
    --emerald:#283208;
    --paper:#FBF9F5;
    --white:#FFFFFF;
    --ink:#2E2B26;
    --danger:#9C4B3F;
    --good:#4C6B3E;
    --radius:14px;
    --shadow: 0 1px 2px rgba(46,43,38,0.06), 0 8px 24px rgba(46,43,38,0.08);
  }

.sftf-root * {box-sizing:border-box;}

.sftf-root,
.sftf-root {margin:0;padding:0;}

.sftf-root {
    background: var(--paper);
    color: var(--ink);
    font-family: -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    -webkit-font-smoothing:antialiased;
    line-height:1.45;
  }

.sftf-root h1,
.sftf-root h2,
.sftf-root h3,
.sftf-root .sftf-display {
    font-family: Georgia, "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, serif;
    font-weight:600;
    letter-spacing:-0.01em;
    color: var(--dark);
    margin:0;
  }

.sftf-root .sftf-eyebrow {
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:0.14em;
    font-weight:700;
    color: var(--bronze);
  }

.sftf-root .sftf-wrap {max-width:1180px;margin:0 auto;padding:0 24px;}

.sftf-root header {
    background: var(--dark);
    padding: 22px 0;
    border-bottom: 4px solid var(--bronze);
  }

.sftf-root header .sftf-wrap {display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}

.sftf-root .sftf-brandmark {display:flex;align-items:center;gap:14px;flex-wrap:wrap;}

.sftf-root .sftf-brandmark .sftf-logo-img {
    height:26px;
    width:auto;
    display:block;
    filter: invert(1) brightness(1.4);
  }

.sftf-root .sftf-brandmark .sftf-sub {color: var(--sand); font-size:11px; text-transform:uppercase; letter-spacing:0.12em; font-weight:600; padding-left:14px; border-left:1px solid rgba(200,194,173,0.35);}

.sftf-root header nav {color:var(--sand);font-size:13px;}

.sftf-root header nav a {color:var(--sand);text-decoration:none;border-bottom:1px solid rgba(200,194,173,0.4);}

.sftf-root .sftf-hero {padding:48px 0 28px;}

.sftf-root .sftf-hero .sftf-eyebrow {margin-bottom:10px;}

.sftf-root .sftf-hero h1 {font-size:clamp(28px,4vw,42px);max-width:720px;}

.sftf-root .sftf-hero p.sftf-lede {max-width:620px;color:#5b564c;font-size:16px;margin-top:14px;}

.sftf-root .sftf-grid {
    display:grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap:28px;
    align-items:start;
    padding-bottom:60px;
  }

@media (max-width:900px) {
.sftf-root .sftf-grid {grid-template-columns:1fr;}
}

.sftf-root .sftf-card {
    background:var(--white);
    border-radius:var(--radius);
    box-shadow:var(--shadow);
    padding:24px;
    margin-bottom:20px;
  }

.sftf-root .sftf-card h2 {font-size:18px;margin-bottom:4px;}

.sftf-root .sftf-card .sftf-hint {font-size:12.5px;color:#7a756a;margin-bottom:16px;}

.sftf-root .sftf-toggle-row {display:flex;flex-wrap:wrap;gap:8px;}

.sftf-root .sftf-toggle {
    border:1.5px solid #E4DFD3;
    background:var(--paper);
    border-radius:999px;
    padding:9px 16px;
    font-size:13.5px;
    font-weight:600;
    color:var(--dark);
    cursor:pointer;
    transition:all .15s ease;
    user-select:none;
  }

.sftf-root .sftf-toggle:hover {border-color:var(--bronze);}

.sftf-root .sftf-toggle.sftf-active {background:var(--dark);border-color:var(--dark);color:#fff;}

.sftf-root .sftf-toggle.sftf-style-opt {border-radius:10px;}

.sftf-root .sftf-field-label {font-size:12.5px;font-weight:700;color:var(--dark);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:10px;display:block;}

.sftf-root .sftf-slider-block {margin-bottom:4px;}

.sftf-root .sftf-slider-readout {display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;}

.sftf-root .sftf-slider-readout .sftf-val {font-family:Georgia,serif;font-size:22px;font-weight:600;color:var(--dark);}

.sftf-root .sftf-slider-readout .sftf-val small {font-family:-apple-system,'Segoe UI',Arial,sans-serif;font-size:12px;font-weight:600;color:#8a8578;}

.sftf-root input[type=range] {
    -webkit-appearance:none;
    width:100%;
    height:6px;
    border-radius:4px;
    background: linear-gradient(90deg, var(--bronze) 0%, var(--bronze) var(--fill,50%), #E4DFD3 var(--fill,50%), #E4DFD3 100%);
    outline:none;
  }

.sftf-root input[type=range]::-webkit-slider-thumb {
    -webkit-appearance:none;
    width:20px;height:20px;border-radius:50%;
    background:var(--dark);
    border:3px solid #fff;
    box-shadow:0 0 0 1px rgba(0,0,0,0.15);
    cursor:pointer;
    margin-top:-7px;
  }

.sftf-root input[type=range]::-moz-range-thumb {
    width:20px;height:20px;border-radius:50%;
    background:var(--dark); border:3px solid #fff; cursor:pointer;
  }

.sftf-root .sftf-scale-labels {display:flex;justify-content:space-between;font-size:10.5px;color:#a39d8e;margin-top:4px;}

.sftf-root .sftf-note {
    font-size:12.5px;
    background:#F4EEE1;
    border-left:3px solid var(--bronze);
    padding:9px 12px;
    border-radius:6px;
    margin-top:12px;
    color:#5b503b;
  }

.sftf-root .sftf-note.sftf-warn {background:#F7E9E4;border-color:var(--danger);color:#7a3a30;}

.sftf-root .sftf-note.sftf-info {background:#EDF1E5;border-color:var(--good);color:#3d5731;}

.sftf-root .sftf-note a {color:inherit;font-weight:700;text-decoration:underline;}

.sftf-root input[type=text],
.sftf-root input[type=email],
.sftf-root input[type=number] {
    width:100%;
    border:1.5px solid #E4DFD3;
    border-radius:9px;
    padding:11px 13px;
    font-size:14px;
    font-family:-apple-system,'Segoe UI',Arial,sans-serif;
    color:var(--ink);
    background:var(--paper);
  }

.sftf-root input:focus {outline:2px solid var(--bronze);outline-offset:1px;border-color:var(--bronze);}

.sftf-root label.sftf-f {display:block;font-size:12px;font-weight:700;color:var(--dark);margin-bottom:6px;text-transform:uppercase;letter-spacing:0.04em;}

.sftf-root .sftf-form-row {margin-bottom:14px;}

.sftf-root .sftf-form-grid {display:grid;grid-template-columns:1fr 1fr;gap:14px;}

@media (max-width:520px) {
.sftf-root .sftf-form-grid {grid-template-columns:1fr;}
}

.sftf-root .sftf-sticky {position:sticky;top:20px;}

.sftf-root .sftf-diagram-card {padding:20px 20px 10px;}

.sftf-root .sftf-diagram-caption {display:flex;justify-content:space-between;font-size:11.5px;color:#8a8578;margin-top:6px;padding:0 4px;}

.sftf-root .sftf-rec-primary {
    border:2px solid var(--dark);
    border-radius:var(--radius);
    padding:20px;
    background: linear-gradient(180deg, #FFFFFF 0%, #FBF7EF 100%);
    margin-bottom:14px;
  }

.sftf-root .sftf-rec-tag {
    display:inline-block;
    font-size:10.5px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:0.1em;
    color:#fff;
    background:var(--bronze);
    padding:4px 10px;
    border-radius:999px;
    margin-bottom:10px;
  }

.sftf-root .sftf-rec-primary h3 {font-size:24px;}

.sftf-root .sftf-rec-media {
    width:100%;
    aspect-ratio: 16/10;
    border-radius:10px;
    overflow:hidden;
    background:#F1ECE0;
    margin-bottom:16px;
  }

.sftf-root .sftf-rec-media img {width:100%;height:100%;object-fit:cover;display:block;}

.sftf-root .sftf-rec-price {color:var(--bronze);font-weight:700;font-size:14px;margin-top:2px;}

.sftf-root .sftf-rec-specs {list-style:none;padding:0;margin:14px 0 0;font-size:13px;color:#5b564c;}

.sftf-root .sftf-rec-specs li {padding:4px 0;border-top:1px solid #EFEAE0;display:flex;justify-content:space-between;}

.sftf-root .sftf-rec-why {margin-top:14px;font-size:13.5px;color:#4a473f;background:#F4EEE1;padding:12px 14px;border-radius:8px;}

.sftf-root .sftf-alt-list {display:flex;flex-direction:column;gap:10px;}

.sftf-root .sftf-alt {
    border:1px solid #E9E4D8;
    border-radius:10px;
    padding:10px 14px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
  }

.sftf-root .sftf-alt-thumb {width:44px;height:44px;border-radius:8px;object-fit:cover;background:#F1ECE0;flex-shrink:0;}

.sftf-root .sftf-alt-body {flex:1;min-width:0;}

.sftf-root .sftf-alt .sftf-name {font-weight:700;color:var(--dark);font-size:14px;}

.sftf-root .sftf-alt .sftf-meta {font-size:11.5px;color:#8a8578;}

.sftf-root .sftf-alt .sftf-price {font-size:12.5px;color:var(--bronze);font-weight:700;white-space:nowrap;}

.sftf-root .sftf-decor-alt {
    margin-top:14px;
    border:1.5px dashed var(--steel);
    border-radius:10px;
    padding:14px;
    background:#F7F8F6;
  }

.sftf-root .sftf-decor-alt .sftf-rec-tag.sftf-decor {background:var(--steel);color:#2E2B26;}

.sftf-root .sftf-decor-body {display:flex;align-items:center;gap:12px;margin-top:8px;}

.sftf-root .sftf-decor-alt .sftf-name {font-weight:700;color:var(--dark);font-size:15px;}

.sftf-root .sftf-decor-alt .sftf-meta {font-size:11.5px;color:#8a8578;margin-top:2px;}

.sftf-root .sftf-decor-alt .sftf-decor-note {font-size:12.5px;color:#5b564c;margin-top:10px;line-height:1.5;}

.sftf-root .sftf-conflict-box {
    border:2px dashed var(--danger);
    border-radius:12px;
    padding:16px;
    background:#FBF3F1;
    font-size:13.5px;
    color:#7a3a30;
  }

.sftf-root .sftf-waiting-box {
    text-align:center;
    padding:34px 20px;
  }

.sftf-root .sftf-waiting-icon {
    font-size:26px;
    color:var(--bronze);
    margin-bottom:10px;
  }

.sftf-root .sftf-waiting-title {
    font-family:Georgia,serif;
    font-weight:600;
    font-size:15.5px;
    color:var(--dark);
  }

.sftf-root .sftf-waiting-sub {
    font-size:12.5px;
    color:#8a8578;
    margin-top:6px;
    max-width:280px;
    margin-left:auto;
    margin-right:auto;
    line-height:1.5;
  }

.sftf-root .sftf-btn {
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    background:var(--dark);color:#fff;
    border:none;border-radius:10px;
    padding:14px 22px;
    font-family:-apple-system,'Segoe UI',Arial,sans-serif;
    font-weight:700;
    font-size:14.5px;
    cursor:pointer;
    width:100%;
    transition:background .15s ease;
  }

.sftf-root .sftf-btn:hover {background:#3d3a34;}

.sftf-root .sftf-btn:disabled {background:#c9c4b8;cursor:not-allowed;}

.sftf-root .sftf-btn.sftf-secondary {background:transparent;color:var(--dark);border:1.5px solid var(--dark);}

.sftf-root .sftf-btn.sftf-secondary:hover {background:var(--dark);color:#fff;}

.sftf-root .sftf-success-box {
    text-align:center;
    padding:30px 20px;
  }

.sftf-root .sftf-success-box .sftf-check {
    width:52px;height:52px;border-radius:50%;
    background:var(--good);color:#fff;
    display:flex;align-items:center;justify-content:center;
    margin:0 auto 14px;
    font-size:26px;
  }

.sftf-root footer {
    background:var(--dark);
    color:var(--sand);
    padding:26px 0;
    font-size:12px;
    text-align:center;
  }

.sftf-root footer a {color:var(--sand);}

.sftf-root ::selection {background:var(--bronze);color:#fff;}