
#sf-home-departments{background:#efe7d7;color:#122f41;padding:56px 41px 70px;border-top:5px solid #092e44;border-bottom:5px solid #092e44}
#sf-home-departments .intro{text-align:center;margin:0 auto 35px;max-width:780px}#sf-home-departments .eyebrow{font-size:11px;font-weight:800;letter-spacing:.2em;color:#907348;text-transform:uppercase}
#sf-home-departments .intro h2{margin:10px 0 12px;font-size:clamp(32px,4vw,51px);line-height:1.05;letter-spacing:-.045em;color:#0f2f43}#sf-home-departments .intro p{margin:0 auto;font-size:17px;line-height:1.45;color:#4b6573;max-width:580px}
#sf-home-departments .bubbles{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:23px}
#sf-home-departments .bubble{position:relative;isolation:isolate;overflow:hidden;border:1px solid rgba(14,48,68,.19);border-radius:27px;padding:31px 24px 25px;min-width:0;background:var(--fill);}
#sf-home-departments .bubble:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(rgba(17,48,70,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(17,48,70,.075) 1px,transparent 1px);background-size:25px 25px;opacity:.55}
#sf-home-departments .bubble.tools{--dept:#b4463b;--fill:#ebded9}#sf-home-departments .bubble.refs{--dept:#a98a56;--fill:#eee2cd}#sf-home-departments .bubble.calc{--dept:#5f7889;--fill:#dce4e8}#sf-home-departments .bubble.bench{--dept:#677955;--fill:#dfe5d4}
#sf-home-departments .rail{position:absolute;left:0;right:0;top:0;height:6px;background:var(--dept)}
#sf-home-departments .department{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;background:#f6f0e5;border:1px solid #c8c2b3;border-radius:50px;text-transform:uppercase;font-size:10px;letter-spacing:.13em;font-weight:900;color:#19384d}
#sf-home-departments .department-mark{width:9px;height:9px;background:var(--dept);border-radius:50%}#sf-home-departments .bubble h3{font-weight:900;color:#153348;margin:15px 0 7px;font-size:clamp(24px,2.3vw,30px);letter-spacing:-.035em;line-height:1.04}#sf-home-departments .bubble-heading p{margin:0 0 16px;color:#496473;font-size:14px;line-height:1.45;max-width:440px}
#sf-home-departments .tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 4px;align-content:start;margin:11px -5px 0}
#sf-home-departments .bubble.refs .tiles{grid-template-columns:repeat(3,minmax(0,1fr))}#sf-home-departments .bubble.calc .tiles,#sf-home-departments .bubble.bench .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
#sf-home-departments .tile{padding:12px 5px 11px;border:1px solid transparent;border-radius:8px;background:transparent;color:#173246;cursor:pointer;display:flex;align-items:center;flex-direction:column;gap:7px;text-align:center;min-width:0;font-family:inherit;transition:background-color .12s,border-color .12s}
#sf-home-departments .tile:hover,#sf-home-departments .tile:focus-visible{background:#fff7ed9c;border-color:#102f452e;outline:none}#sf-home-departments .tile:active{transform:translateY(1px)}
#sf-home-departments .sketch{display:flex;align-items:center;justify-content:center;width:83px;height:79px;background:#f6f0e5;border:1px solid #17324628;border-radius:9px}
#sf-home-departments .sketch svg{height:58px;width:58px;fill:none;stroke:#193a4d;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}#sf-home-departments .sketch .detail{stroke:var(--dept);stroke-width:2.2}
#sf-home-departments .tile-name{font-weight:800;font-size:12.2px;line-height:1.19;letter-spacing:.005em;max-width:140px}#sf-home-departments .tile-desc{font-size:10.7px;line-height:1.3;color:#5b7180;max-width:148px}
/* Dialog — used only for prototype navigation review. */
#sf-home-departments .dialog-backdrop{position:fixed;inset:0;background:#041825bf;z-index:40;display:none;align-items:center;justify-content:center;padding:20px}#sf-home-departments .dialog-backdrop.open{display:flex}
#sf-home-departments .details{width:min(460px,100%);background:#f3ead9;color:#143348;border:2px solid #bba981;border-top:7px solid var(--dialog-color,#a98a56);border-radius:5px;max-height:88vh;overflow:auto;box-shadow:0 25px 60px #0007}
#sf-home-departments .details-top{display:flex;align-items:start;justify-content:space-between;gap:16px;padding:20px 22px 12px;border-bottom:1px solid #c5baaa}#sf-home-departments .details h2{margin:6px 0 0;line-height:1.08;font-size:27px;letter-spacing:-.03em}#sf-home-departments .details-tag{color:#806942;font-size:10px;font-weight:bold;letter-spacing:.15em;text-transform:uppercase}
#sf-home-departments .close{background:#e7dcca;border:1px solid #bdac93;color:#13364e;font-size:20px;width:34px;height:34px;cursor:pointer;border-radius:4px}
#sf-home-departments .details-inner{padding:16px 22px 24px}#sf-home-departments .details-inner p{color:#41596b;line-height:1.5;font-size:14px;margin:0 0 12px}#sf-home-departments .details-links{display:flex;flex-direction:column;gap:8px;margin-top:12px}
#sf-home-departments .details-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;text-decoration:none;color:#123b54;background:#fff9ee;padding:11px 13px;border:1px solid #cabfae;border-radius:4px;font-weight:bold;font-size:13px}
#sf-home-departments .details-links a:hover{background:white;border-color:#8d7c65}#sf-home-departments .smallprint{font-size:12px;color:#645b51;margin-top:14px;line-height:1.5}
@media(max-width:900px){#sf-home-departments{padding:42px 18px 52px}#sf-home-departments .bubbles{grid-template-columns:1fr;gap:20px}#sf-home-departments .bubble h3{font-size:28px}}
@media(max-width:550px){#sf-home-departments{padding:34px 14px 44px}#sf-home-departments .intro{margin-bottom:27px}#sf-home-departments .intro h2{font-size:34px}#sf-home-departments .intro p{font-size:14px}#sf-home-departments .bubble{padding:27px 15px 22px;border-radius:23px}#sf-home-departments .bubble h3{font-size:25px}#sf-home-departments .bubble-heading p{font-size:13px}#sf-home-departments .tiles,#sf-home-departments .bubble.refs .tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 5px}#sf-home-departments .sketch{width:72px;height:70px}#sf-home-departments .sketch svg{height:54px;width:54px}#sf-home-departments .tile-name{font-size:12px}#sf-home-departments .tile-desc{font-size:10px}}

/* V12: darker, matte-painted department panels — matching the selected visual direction. */
#sf-home-departments{background:#efe7d7;padding:57px 40px 68px}
#sf-home-departments .intro{margin-bottom:30px;max-width:830px}
#sf-home-departments .intro p{max-width:750px;line-height:1.5}
#sf-home-departments .bubbles{gap:20px;align-items:stretch}
#sf-home-departments .bubble{--dept:#aa4138;min-height:300px;border-radius:26px;padding:30px 25px 29px;
  background:var(--fill);border:1px solid rgba(0,0,0,.22);box-shadow:none}
#sf-home-departments .bubble.tools{--dept:#b64439;--fill:#923e38}
#sf-home-departments .bubble.refs{--dept:#b49254;--fill:#84692e}
#sf-home-departments .bubble.calc{--dept:#4a83a6;--fill:#265473}
#sf-home-departments .bubble.bench{--dept:#819269;--fill:#435d43}
#sf-home-departments .bubble::before{background:linear-gradient(rgba(255,244,217,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(255,244,217,.10) 1px,transparent 1px);background-size:25px 25px;opacity:.68}
#sf-home-departments .rail{display:none}
#sf-home-departments .department{background:#f6f0e5;color:#153248;border-color:rgba(255,255,255,.42);font-size:10px;padding:9px 13px;letter-spacing:.105em}
#sf-home-departments .department-mark{background:var(--dept);width:10px;height:10px}
#sf-home-departments .bubble h3{color:#fff4e5;font-size:clamp(24px,2.3vw,30px);letter-spacing:-.035em;margin:20px 0 8px}
#sf-home-departments .bubble-heading p{color:#f2e5d3;font-size:14px;max-width:100%;line-height:1.4;margin:0 0 26px}
#sf-home-departments .tiles{margin:0;gap:12px 4px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;justify-items:stretch}
#sf-home-departments .bubble.refs .tiles{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px 1px}
#sf-home-departments .bubble.calc .tiles,#sf-home-departments .bubble.bench .tiles{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
#sf-home-departments .tile{border-color:transparent;color:#fff4e5;border-radius:8px;padding:8px 2px 10px;gap:10px}
#sf-home-departments .tile:hover,#sf-home-departments .tile:focus-visible{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.43);outline:2px solid transparent}
#sf-home-departments .sketch{width:90px;height:88px;background:#f7f1e6;border:1px solid #d9d0bb;border-radius:9px;box-shadow:none}
#sf-home-departments .sketch svg{width:65px;height:65px;stroke:#123449;stroke-width:2.05}
#sf-home-departments .sketch .detail{stroke:var(--dept);stroke-width:2.25}
#sf-home-departments .tile-name{color:#fff5e8;font-size:12.4px;line-height:1.23;max-width:140px;letter-spacing:0}
#sf-home-departments .tile-desc{display:none}
#sf-home-departments .bubble.calc .tile-name,#sf-home-departments .bubble.bench .tile-name{font-size:14px}
@media(max-width:1050px) and (min-width:901px){#sf-home-departments .bubble.refs .tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}}
@media(max-width:900px){#sf-home-departments .bubbles{grid-template-columns:1fr}#sf-home-departments .bubble.refs .tiles{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:620px){#sf-home-departments .bubble.refs .tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px 3px}#sf-home-departments .sketch{width:78px;height:77px}#sf-home-departments .sketch svg{width:58px;height:58px}}
@media(max-width:550px){#sf-home-departments{padding:34px 14px 45px}#sf-home-departments .bubble{padding:25px 16px 28px;border-radius:23px}#sf-home-departments .bubble h3{font-size:26px}#sf-home-departments .bubble-heading p{font-size:13px;margin-bottom:22px}#sf-home-departments .tile-name{font-size:12px}#sf-home-departments .sketch{width:77px;height:74px}#sf-home-departments .tile{padding:7px 2px 9px}#sf-home-departments .bubble.refs .tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 7px}#sf-home-departments .bubble.calc .tiles,#sf-home-departments .bubble.bench .tiles{gap:10px}}
/* Simulated-phone control must obey the same single-column breakpoints even in a desktop browser. */
@media(prefers-reduced-motion:reduce){#sf-home-departments .tile{transition:none}}

/* V13: exact icon artworks from the approved reference, inside individual HTML buttons. */
#sf-home-departments .sketch{overflow:hidden;padding:0;background:#f6f0e5;border:0;border-radius:9px;box-shadow:none}
#sf-home-departments .sketch .reference-icon{display:block;width:100%;height:100%;object-fit:fill;border-radius:9px;pointer-events:none;user-select:none}
#sf-home-departments .sketch .reference-icon.approved-illustration{object-fit:contain;object-position:center}
#sf-home-departments .bubble.tools .sketch{width:102px;height:100px}
#sf-home-departments .bubble.refs .sketch{width:88px;height:102px}
#sf-home-departments .bubble.calc .sketch,#sf-home-departments .bubble.bench .sketch{width:101px;height:100px}
@media(max-width:620px){#sf-home-departments .bubble.tools .sketch,#sf-home-departments .bubble.refs .sketch,#sf-home-departments .bubble.calc .sketch,#sf-home-departments .bubble.bench .sketch{width:78px;height:78px}}

body.sf-home-v13{background:#08283b}
#sf-home-departments{position:relative;max-width:1266px;margin:0 auto;font-family:Arial,Helvetica,sans-serif;color:#122f41;line-height:normal}
#sf-home-departments *,#sf-home-departments *::before,#sf-home-departments *::after{box-sizing:border-box}
#sf-home-departments .tile{text-decoration:none;font-weight:400;text-transform:none;letter-spacing:normal;min-height:44px}
#sf-home-departments h2,#sf-home-departments h3{text-transform:none;font-family:Arial,Helvetica,sans-serif}
#sf-home-departments .tile-name{text-transform:none}
#sf-home-departments [hidden]{display:none}
#sf-home-departments .dialog-backdrop{z-index:1200}
#sf-home-departments .department-fallback{display:block;padding:10px}

#sf-home-reference-library{max-width:1266px;margin:0 auto;background:#efe7d7;color:#122f41}
#sf-home-reference-library>summary{padding:18px 24px;cursor:pointer;font:600 14px/1.5 Arial,Helvetica,sans-serif;min-height:44px;border-top:1px solid #bbaa8b}
#sf-home-departments .tile:focus-visible,#sf-home-departments .close:focus-visible,#sf-home-departments .details-links a:focus-visible{outline:3px solid #f5d89b;outline-offset:3px}

/* Scoped responsive icon bounds. */
#sf-home-departments .sketch{max-width:100%;flex-shrink:1}

/* Approved spacing-only refinement; shared header, hero and footer stay untouched. */
#sf-home-departments{margin-block-start:52px;padding-block:76px 84px}
#sf-home-departments .bubbles{gap:28px}
#sf-home-reference-library{margin-block-end:48px}
@media(max-width:900px){
 #sf-home-departments{margin-block-start:32px;padding-block:64px 76px}
 #sf-home-departments .bubbles{gap:24px}
 #sf-home-reference-library{margin-block-end:32px}
}
@media(max-width:550px){
 #sf-home-departments{margin-block-start:24px;padding-block:44px 52px}
 #sf-home-reference-library{margin-block-end:24px}
}

/* Approved homepage background refinement: reviewed Subtle Grid, established site navy. */
body.sf-home-v13{
 background-color:#041a2a;
 background-image:linear-gradient(to right,rgba(191,215,224,.078) 1px,transparent 1px),linear-gradient(to bottom,rgba(191,215,224,.078) 1px,transparent 1px),linear-gradient(to right,rgba(191,215,224,.105) 1px,transparent 1px),linear-gradient(to bottom,rgba(191,215,224,.105) 1px,transparent 1px);
 background-size:30px 30px,30px 30px,150px 150px,150px 150px;
}
