/* ==========================================================================
   School of Money. Design system v1.1: pure black, white, and a pinch of gold.
   ========================================================================== */
:root{
  --som-black:#000; --som-ink:#0B0B0B; --som-panel:#0B0B0B; --som-gray:#F4F4F4; --som-white:#fff;
  --som-gold:#C9A24B; --som-gold-2:#E4C877; --som-gold-d:#8A6D1F;
  --som-muted:#BDBDBD; --som-line:rgba(255,255,255,.16); --som-line-l:#E2E2E2;
  --ff-d:'Playfair Display',Georgia,'Times New Roman',serif;
  --ff-b:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
}

/* ---- Fonts (self hosted, latin + latin-ext so the Naira sign renders) ---- */
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/playfair-display-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/playfair-display-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/playfair-display-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/playfair-display-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/playfair-display-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/playfair-display-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:600;font-display:swap;src:url(../fonts/playfair-display-latin-600-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:600;font-display:swap;src:url(../fonts/playfair-display-latin-ext-600-italic.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/manrope-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/manrope-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/manrope-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/manrope-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/manrope-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/manrope-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/manrope-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/manrope-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/manrope-latin-800-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/manrope-latin-ext-800-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}


/* ---- Base ---- */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:#000;color:#E6E6E6;font-family:var(--ff-b);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:color .25s}
h1,h2,h3,h4,h5,h6,.elementor-heading-title,.elementor-counter-number-wrapper,.som-num{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1}
h1,h2,h3,h4,h5,h6{font-family:var(--ff-d);font-weight:600;line-height:1.15;color:#fff;margin:0 0 .5em}
::selection{background:#fff;color:#000}
.skip-link{position:absolute;left:-9999px;top:0;background:#fff;color:#000;padding:10px 16px;z-index:100000}
.skip-link:focus{left:10px;top:10px}
.elementor-widget-text-editor p:last-child{margin-bottom:0}
:focus-visible{outline:2px solid var(--som-gold);outline-offset:3px}

/* ---- Scroll progress + money-symbol cursor ---- */
.som-progress{position:fixed;top:0;left:0;height:2px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:var(--som-gold);z-index:100001;pointer-events:none}
.som-cursor{position:fixed;left:0;top:0;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;border:1px solid rgba(255,255,255,.7);display:grid;place-items:center;pointer-events:none;z-index:100000;opacity:0;mix-blend-mode:difference;color:#fff;transition:opacity .3s,width .3s var(--ease),height .3s var(--ease),margin .3s var(--ease),background .3s}
.som-cursor.on{opacity:1}
.som-cursor.hot{width:70px;height:70px;margin:-35px 0 0 -35px;background:rgba(255,255,255,.12)}
.som-cursor b{font:600 20px/1 system-ui,'Segoe UI','Noto Sans',Arial,sans-serif;transition:transform .45s var(--ease),opacity .25s}
.som-cursor b.flip{transform:rotateY(90deg);opacity:0}
.som-burst{position:fixed;left:0;top:0;pointer-events:none;z-index:99999;font:700 22px/1 system-ui,'Segoe UI','Noto Sans',Arial,sans-serif;color:var(--som-gold);animation:somBurst .9s var(--ease) forwards}
@keyframes somBurst{from{opacity:1;transform:translate(-50%,-50%) scale(.6)}to{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1.3) rotate(var(--r))}}
@media (hover:none),(max-width:1024px){.som-cursor{display:none}}

/* ---- Eyebrow, gold accents ---- */
.som-eyebrow .elementor-heading-title{text-transform:uppercase;letter-spacing:.26em;font-size:12.5px !important;font-weight:700;font-family:var(--ff-b) !important}
.som-eyebrow.center{text-align:center}
.som-gold-text .elementor-heading-title{color:var(--som-gold) !important}
.som-italic em,.som-italic i{font-family:var(--ff-d);font-style:italic;font-weight:600;color:var(--som-gold)}
.som-light .som-italic em{color:var(--som-gold-d)}
.somd{display:inline}
@media (max-width:1024px){.somd{display:none}}

/* ---- Section backgrounds ---- */
.som-dark{background-color:#000;color:#E6E6E6}
.som-light{position:relative;isolation:isolate;background-color:#fff;color:#444}
.som-light h1,.som-light h2,.som-light h3,.som-light h4,.som-light h5{color:#000}
/* The official pattern: faded gray rings on black. Painted as a background so Elementor containers cannot override it. */
.som-pattern{background-color:#000;background-image:radial-gradient(ellipse at 12% 0%,rgba(255,255,255,.07),transparent 52%),radial-gradient(ellipse 95% 90% at 78% 10%,rgba(0,0,0,0) 0,rgba(0,0,0,.72) 62%,#000 100%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23FFFFFF' stroke-opacity='.11' stroke-width='1'%3E%3Ccircle cx='60' cy='60' r='44'/%3E%3Ccircle cx='60' cy='60' r='30'/%3E%3Ccircle cx='60' cy='60' r='16'/%3E%3Cpath d='M60 0v16M60 104v16M0 60h16M104 60h16'/%3E%3Cpath d='M0 0l16 16M120 0l-16 16M0 120l16-16M120 120l-16-16'/%3E%3C/g%3E%3Cg fill='%23FFFFFF' fill-opacity='.13'%3E%3Ccircle cx='60' cy='60' r='2.5'/%3E%3Ccircle cx='0' cy='0' r='2.5'/%3E%3Ccircle cx='120' cy='0' r='2.5'/%3E%3Ccircle cx='0' cy='120' r='2.5'/%3E%3Ccircle cx='120' cy='120' r='2.5'/%3E%3C/g%3E%3C/svg%3E") !important;background-size:auto,auto,120px 120px !important;background-repeat:no-repeat,no-repeat,repeat !important}
.som-fade{position:relative}
.som-hero{overflow:hidden}

/* ---- Grid cells (replace card boxes). Hairline borders, hover inverts ---- */
.som-cell{position:relative;transition:background .4s var(--ease)}
.som-cell-l:hover{background:#000}
.som-cell-d:hover{background:#fff}
.som-cell .elementor-icon-box-title,.som-cell .elementor-heading-title,.som-cell .elementor-counter-number-wrapper,.som-cell .elementor-counter-title,.som-cell .elementor-icon-box-description,.som-cell .elementor-widget-text-editor{transition:color .4s var(--ease)}
.som-cell-l:hover .elementor-icon-box-title,.som-cell-l:hover .elementor-heading-title,.som-cell-l:hover .elementor-counter-number-wrapper{color:#fff !important}
.som-cell-l:hover .elementor-icon-box-description,.som-cell-l:hover .elementor-counter-title,.som-cell-l:hover .elementor-widget-text-editor{color:#BDBDBD !important}
.som-cell-l:hover .elementor-icon{color:var(--som-gold) !important;fill:var(--som-gold) !important}
.som-cell-d:hover .elementor-icon-box-title,.som-cell-d:hover .elementor-heading-title,.som-cell-d:hover .elementor-widget-text-editor,.som-cell-d:hover .elementor-icon-box-description{color:#000 !important}
.som-cell-d:hover .som-outline-num .elementor-heading-title{-webkit-text-stroke-color:#000}
.som-cell .elementor-icon{transition:color .4s,transform .5s var(--ease)}
.som-cell:hover .elementor-icon{transform:translateY(-3px)}
.som-counter .elementor-counter-title{margin-top:18px}
.som-counter .elementor-counter-number-wrapper{font-family:var(--ff-d)}
.som-outline-num .elementor-heading-title{font-family:var(--ff-d) !important;font-weight:500;color:transparent !important;-webkit-text-stroke:1px rgba(255,255,255,.6);line-height:1}
.som-light .som-outline-num .elementor-heading-title{-webkit-text-stroke-color:rgba(0,0,0,.55)}
.som-panel{transition:transform .5s var(--ease)}
.som-plan{transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.som-plan:hover{transform:translateY(-4px)}
.som-plan-featured{box-shadow:0 30px 80px -40px rgba(0,0,0,.6)}
.som-price .elementor-heading-title{font-family:var(--ff-d) !important}
.som-badge .elementor-heading-title{display:inline-block;background:#fff;color:#000 !important;font:800 11px/1 var(--ff-b) !important;letter-spacing:.18em;text-transform:uppercase;padding:9px 14px;border-radius:2px}
.som-light .elementor-icon-list-text{color:#222}
.som-oneline .elementor-icon-list-items{flex-wrap:nowrap;gap:10px 24px}
.som-oneline .elementor-icon-list-item{padding:0 !important;white-space:nowrap}
@media (max-width:767px){.som-oneline .elementor-icon-list-items{flex-wrap:wrap}}

/* ---- Timeline (Your path through the school) ---- */
.som-timeline{position:relative}
.som-timeline{position:relative}
.som-timeline::after{content:"";position:absolute;left:0;right:0;top:19px;height:1px;background:rgba(255,255,255,.3);z-index:0;pointer-events:none}
.som-tl-item{position:relative;z-index:1}
.som-tl-dot .elementor-heading-title{width:38px;height:38px;border:1px solid #fff;border-radius:50%;display:grid;place-items:center;background:#000;color:#fff !important;font-family:var(--ff-b) !important}
.som-tl-item:last-child .som-tl-dot .elementor-heading-title{background:#fff;color:#000 !important}
.som-tl-item:hover .som-tl-dot .elementor-heading-title{background:var(--som-gold);border-color:var(--som-gold);color:#000 !important}
@media (max-width:1024px){
  .som-timeline::after{left:19px;right:auto;top:10px;bottom:10px;width:1px;height:auto}
  .som-tl-item{padding-left:62px !important;min-height:56px}
  .som-tl-dot{position:absolute;left:0;top:0}
}

/* ---- Buttons ---- */
.som-btn .elementor-button{position:relative;transition:transform .35s var(--ease),background .3s,color .3s,border-color .3s,box-shadow .35s;letter-spacing:.12em}
.som-btn .elementor-button:hover{transform:translateY(-2px)}
.som-btn-white .elementor-button:hover{box-shadow:0 14px 34px -14px rgba(255,255,255,.55)}
.som-btn-dark .elementor-button:hover{box-shadow:0 14px 34px -14px rgba(0,0,0,.5)}
.som-btn .elementor-button-icon{transition:transform .3s var(--ease)}
.som-btn .elementor-button:hover .elementor-button-icon{transform:translateX(5px)}
.som-btn-pulse .elementor-button{animation:somPulse 2.8s infinite}
@keyframes somPulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.4)}70%{box-shadow:0 0 0 16px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}

/* ---- Word-by-word reveal ---- */
.som-split .elementor-heading-title{overflow:hidden}
.som-split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}
.som-split .w>span{display:inline-block;transform:translateY(112%) rotate(3deg);transition:transform .9s var(--ease);transition-delay:calc(var(--i)*70ms)}
.som-split.in .w>span{transform:none}
.js-off .som-split .w>span{transform:none}

/* ---- Marquee ---- */
.som-marquee{overflow:hidden;white-space:nowrap;position:relative;border-top:1px solid var(--som-line);border-bottom:1px solid var(--som-line);background:#000}
.som-marquee .elementor-heading-title{display:block;white-space:nowrap;font-family:var(--ff-b) !important;text-transform:uppercase;letter-spacing:.28em;font-size:12.5px !important;font-weight:600;color:#fff !important;padding:20px 0}
.som-marquee .track{display:inline-flex;animation:somMarquee 46s linear infinite}
.som-marquee:hover .track{animation-play-state:paused}
.som-marquee .track>span{padding:0 1.8em}
.som-marquee .track>i{font:600 18px/1 system-ui,'Segoe UI','Noto Sans',Arial,sans-serif;font-style:normal;letter-spacing:0;color:var(--som-gold);padding:0 .4em}
@keyframes somMarquee{to{transform:translateX(-50%)}}

/* ---- Photos ---- */
.som-photo img{width:100%;display:block;object-fit:cover}
.som-photo.r45 img{aspect-ratio:4/5}
.som-photo.r43 img{aspect-ratio:4/3}
.som-gray img{filter:grayscale(1) contrast(1.06);transition:filter .7s var(--ease)}
.som-gray:hover img{filter:none}
.som-frame{position:relative;width:100%}
.som-frame::after{content:"";position:absolute;inset:16px -16px -16px 16px;border:1px solid rgba(255,255,255,.26);z-index:-1;transition:transform .6s var(--ease);pointer-events:none}
.som-light .som-frame::after{border-color:rgba(0,0,0,.22)}
.som-frame:hover::after{transform:translate(-8px,-8px)}
.som-caption p{margin:0}
.som-caption strong{color:#fff;font-family:var(--ff-d);font-size:18px;font-weight:600}
@media (max-width:767px){.som-frame::after{inset:10px -8px -10px 10px}}

/* ---- Header (Elementor Pro template + fallback) ---- */
.som-topbar{background:#fff;overflow:hidden}
.som-tb p{margin:0;display:flex;align-items:center;justify-content:center;gap:10px 26px;flex-wrap:wrap;color:#000}
.som-tb .som-tb-txt{font-weight:600}
.som-tb .som-tb-txt b,.som-tb-amt{font-weight:800;background:#000;color:#fff;padding:2px 8px;border-radius:2px;letter-spacing:.02em;white-space:nowrap}
.som-dot{width:9px;height:9px;border-radius:50%;background:#D92D20;display:inline-block;margin-right:4px;animation:somDot 1.8s infinite;flex:0 0 auto}
@keyframes somDot{0%{box-shadow:0 0 0 0 rgba(217,45,32,.5)}70%{box-shadow:0 0 0 9px rgba(217,45,32,0)}100%{box-shadow:0 0 0 0 rgba(217,45,32,0)}}
.som-cdw{display:inline-flex}
.som-cdi{display:inline-block;font:800 12px/1 var(--ff-b);letter-spacing:.08em;font-variant-numeric:tabular-nums;background:#000;color:#E4C877;padding:8px 12px;border-radius:2px}
.som-tb a.som-tb-btn{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(160deg,#E4C877,#C9A24B);color:#000 !important;font:800 12px/1 var(--ff-b);letter-spacing:.12em;text-transform:uppercase;padding:9px 16px;border-radius:2px;text-decoration:none;transition:transform .3s var(--ease),box-shadow .3s}
.som-tb a.som-tb-btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px -10px rgba(0,0,0,.5)}
.som-arr{display:inline-block;animation:somNudge 1.4s var(--ease) infinite}
@keyframes somNudge{50%{transform:translateX(5px)}}
.som-tb-marq{display:block;overflow:hidden;white-space:nowrap;width:100%}
.som-tb-marq .track{display:inline-flex;align-items:center;animation:somMarquee 26s linear infinite}
.som-tb-marq .it{display:inline-flex;align-items:center;gap:12px;padding:0 22px;font-size:12.5px}
.som-tb-marq .it+.it{border-left:1px solid rgba(0,0,0,.18)}
.som-header{background:#000;border-bottom:0;z-index:999;transition:box-shadow .3s}
.som-header.is-stuck{box-shadow:0 14px 40px -18px rgba(0,0,0,.95)}
.som-nav .elementor-nav-menu--main .elementor-item{font-family:var(--ff-b);font-weight:600;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#fff;padding:10px 18px}
.som-nav .elementor-nav-menu--main .elementor-item:hover,.som-nav .elementor-nav-menu--main .elementor-item.elementor-item-active,.som-nav .elementor-nav-menu--main .current-menu-item>.elementor-item{color:#fff}
.som-nav .e--pointer-underline .elementor-item::after,.som-nav .e--pointer-underline .elementor-item::before{height:1px !important;background-color:#fff !important}
.som-nav .e--pointer-underline .elementor-item::after{bottom:2px}
.som-nav .sub-arrow{margin-left:8px}
.som-nav ul.sub-menu{background:#000 !important;border:1px solid rgba(255,255,255,.2);min-width:280px;box-shadow:0 28px 70px -20px rgba(0,0,0,.9);padding:6px 0}
.som-nav .elementor-sub-item{color:#fff !important;padding:14px 22px !important;font-size:12.5px !important;letter-spacing:.12em !important;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.08)}
.som-nav ul.sub-menu li:last-child .elementor-sub-item{border-bottom:0}
.som-nav .elementor-sub-item:hover,.som-nav .elementor-sub-item.elementor-item-active{background:#fff !important;color:#000 !important}
.som-nav .elementor-nav-menu--dropdown{background:#000;border:1px solid var(--som-line)}
.som-nav .elementor-nav-menu--dropdown a{color:#fff;border-bottom:1px solid rgba(255,255,255,.1);text-transform:uppercase;letter-spacing:.1em;font-size:13px}
.som-nav .elementor-menu-toggle{color:#fff;background:transparent;border:1px solid rgba(255,255,255,.35);border-radius:2px}

.som-fb-header{position:sticky;top:0;z-index:999;background:#000}
.som-fb-header .in{max-width:1240px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.som-fb-header .logo img{height:54px;width:auto}
.som-fb-header nav ul{display:flex;gap:34px;list-style:none;margin:0;padding:0}
.som-fb-header nav li{position:relative}
.som-fb-header nav a{color:#fff;font-weight:600;font-size:13px;letter-spacing:.14em;text-transform:uppercase;padding:8px 0;border-bottom:1px solid transparent;display:inline-block}
.som-fb-header nav a:hover,.som-fb-header .current-menu-item>a{border-bottom-color:#fff;color:#fff}
.som-fb-header nav .sub-menu{display:none;position:absolute;left:-18px;top:100%;min-width:260px;background:#000;border:1px solid rgba(255,255,255,.2);padding:6px 0;flex-direction:column;gap:0;z-index:5}
.som-fb-header nav li:hover>.sub-menu{display:flex}
.som-fb-header nav .sub-menu a{display:block;padding:13px 20px;border-bottom:1px solid rgba(255,255,255,.08);font-size:12.5px}
.som-fb-header nav .sub-menu a:hover{background:#fff;color:#000}
.som-fb-toggle{display:none;background:none;border:1px solid rgba(255,255,255,.35);color:#fff;padding:9px 12px;border-radius:2px;font-size:18px;line-height:1;cursor:pointer}
@media (max-width:900px){.som-fb-toggle{display:block}.som-fb-header nav{display:none;position:absolute;left:0;right:0;top:100%;background:#000;border-bottom:1px solid var(--som-line);padding:14px 24px 24px}.som-fb-header nav.open{display:block}.som-fb-header nav ul{flex-direction:column;gap:0}.som-fb-header nav li a{display:block;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1)}.som-fb-header nav .sub-menu{display:block;position:static;border:0;padding:0 0 0 16px;min-width:0}.som-fb-header .cta{display:none}}
.som-btn-fb{display:inline-block;background:linear-gradient(160deg,#fff,#d6d6d6);color:#000 !important;font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;padding:14px 26px;border-radius:2px;transition:transform .3s var(--ease)}
.som-btn-fb:hover{transform:translateY(-2px)}

/* ---- Footer ---- */
.som-footer{background:#000;border-top:1px solid var(--som-line)}
.som-footer a{color:#CFCFCF}
.som-footer a:hover{color:#fff}
.som-links .elementor-widget-container,.som-links{line-height:1}
.som-links a{display:block;padding:7px 0;font-size:15px;color:#CFCFCF;transition:color .25s,padding .3s var(--ease)}
.som-links a:hover{color:#fff;padding-left:6px}
.som-links p{margin:0}
.som-footer .elementor-icon-list-text{color:#E6E6E6}
.som-footer .elementor-icon-list-item a{display:flex;align-items:flex-start}
.som-footer .elementor-icon-list-icon{margin-top:4px}
.som-footer .elementor-icon-list-items .elementor-icon-list-item{padding:14px 0 !important}
.som-footer .elementor-icon-list-items .elementor-icon-list-item:first-child{padding-top:2px !important}
.som-footer h5{font-family:var(--ff-b);font-size:12.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--som-gold)}
.som-legal-links a{color:#8F8F8F}
.som-legal-links a:hover{color:#fff}
.som-fb-footer{padding:70px 24px 30px;max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px}
.som-fb-footer img{height:56px;width:auto;margin-bottom:18px}
.som-fb-footer ul{list-style:none;margin:0;padding:0}
.som-fb-footer li{margin:0 0 10px}
.som-fb-copy{max-width:1240px;margin:0 auto;padding:22px 24px 40px;border-top:1px solid var(--som-line);font-size:13px;color:#8F8F8F}
@media (max-width:800px){.som-fb-footer{grid-template-columns:1fr}}

/* ---- FAQ accordion ---- */
.som-faq .elementor-accordion-item{border:0 !important;border-bottom:1px solid var(--som-line) !important;border-radius:0;background:transparent}
.som-faq-light .elementor-accordion-item{border-bottom:1px solid var(--som-line-l) !important}
.som-faq .elementor-accordion-item:first-child{border-top:1px solid var(--som-line) !important}
.som-faq-light .elementor-accordion-item:first-child{border-top:1px solid var(--som-line-l) !important}
.som-faq .elementor-tab-title{padding:24px 4px;border:0 !important}
.som-faq .elementor-tab-title a{font-family:var(--ff-d);font-weight:600;font-size:20px;color:#fff !important}
.som-faq-light .elementor-tab-title a{color:#000 !important}
.som-faq .elementor-accordion-icon{color:var(--som-gold)}
.som-faq .elementor-tab-content{padding:0 4px 28px;color:#CFCFCF;border:0 !important;max-width:720px}
.som-faq-light .elementor-tab-content{color:#555}

/* ---- Marks and small helpers ---- */
.som-big-quote .elementor-heading-title{font-family:var(--ff-d) !important;font-weight:500}
.som-hover-gold:hover .elementor-heading-title{color:var(--som-gold) !important}
.elementor-widget-counter .elementor-counter-number-wrapper{font-family:var(--ff-d)}
.som-legal h3{font-size:24px;margin:1.8em 0 .5em;color:#000}
.som-legal h3:first-child{margin-top:0}
.som-legal p{margin:0 0 1em}
.som-legal a{color:#000;text-decoration:underline;text-underline-offset:3px}
.som-disclaimer{border-top:1px solid var(--som-line-l);padding-top:22px}

/* ---- Blog and generic content (theme templates) ---- */
.som-wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.som-pagehero{position:relative;isolation:isolate;padding:150px 0 90px;background:#000}
.som-pagehero::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 12% 0%,rgba(255,255,255,.075),transparent 52%)}
.som-pagehero h1{font-size:clamp(38px,6vw,68px);margin:12px 0 14px}
.som-pagehero p{max-width:640px;color:#CFCFCF;font-size:19px;margin:0}
.som-kicker{display:inline-flex;align-items:center;text-transform:uppercase;letter-spacing:.26em;font-size:12.5px;font-weight:700;color:var(--som-gold)}
.som-listing{background:#fff}
.som-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding:80px 0}
@media (max-width:1000px){.som-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.som-grid{grid-template-columns:1fr}}
.som-post{background:var(--som-gray);border:1px solid var(--som-line-l);border-radius:0;overflow:hidden;display:flex;flex-direction:column;transition:transform .5s var(--ease),border-color .4s,box-shadow .5s var(--ease)}
.som-post:hover{transform:translateY(-6px);border-color:#000;box-shadow:0 26px 60px -30px rgba(0,0,0,.35)}
.som-post .thumb{aspect-ratio:16/10;background:#000;display:grid;place-items:center;overflow:hidden}
.som-post .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.som-post:hover .thumb img{transform:scale(1.05)}
.som-post .thumb .mono{font:600 56px/1 var(--ff-d);color:#fff;opacity:.85}
.som-post .body{padding:26px 26px 30px;display:flex;flex-direction:column;gap:12px;flex:1}
.som-post .meta{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--som-gold-d);font-weight:700}
.som-post h2{font-size:24px;margin:0;color:#000}
.som-post h2 a{color:#000}
.som-post h2 a:hover{text-decoration:underline;text-underline-offset:4px}
.som-post p{margin:0;color:#555;font-size:15.5px}
.som-post .more{margin-top:auto;font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#000}
.som-pager{display:flex;gap:10px;justify-content:center;padding:0 0 90px}
.som-pager a,.som-pager span{padding:12px 18px;border:1px solid var(--som-line-l);color:#000;font-weight:700}
.som-pager .current,.som-pager a:hover{background:#000;color:#fff;border-color:#000}
.som-article-wrap{background:#fff;color:#222}
.som-article{max-width:780px;margin:0 auto;padding:70px 24px 40px}
.som-article .content{font-size:19px;line-height:1.85;color:#222}
.som-article .content h2{font-size:34px;margin:2em 0 .6em;color:#000}
.som-article .content h3{font-size:26px;margin:1.6em 0 .5em;color:#000}
.som-article .content blockquote{margin:2em 0;padding:8px 0 8px 28px;border-left:2px solid #000;font:italic 600 24px/1.5 var(--ff-d);color:#000}
.som-article .content a{text-decoration:underline;text-underline-offset:4px;color:#000}
.som-article .content ul,.som-article .content ol{padding-left:1.2em}
.som-article .content li{margin:.4em 0}
.som-article .feat{margin:0 auto;max-width:1000px;padding:0 24px}
.som-article .feat img{width:100%}
.som-post-body .elementor-widget-theme-post-content{font-size:19px;line-height:1.85;color:#222}
.som-post-content h2{font-size:34px;margin:1.8em 0 .6em;color:#000}
.som-post-content h3{font-size:26px;margin:1.6em 0 .5em;color:#000}
.som-post-content blockquote{margin:2em 0;padding:8px 0 8px 28px;border-left:2px solid #000;font:italic 600 24px/1.5 var(--ff-d);color:#000}
.som-post-content a{text-decoration:underline;text-underline-offset:4px}
.som-post-meta .elementor-icon-list-text,.som-post-meta .elementor-post-info__item{color:#BDBDBD}
.som-disclaimer-box{margin:46px 0 0;padding:20px 24px;border:1px solid var(--som-line-l);background:var(--som-gray);font-size:14.5px;color:#555}
.som-cta-band{margin:30px auto 90px;max-width:1000px;padding:56px 40px;border:1px solid var(--som-line);background:#000;text-align:center}
.som-cta-band h3{font-size:clamp(28px,4vw,40px)}
.som-default{max-width:860px;margin:0 auto;padding:60px 24px 100px;background:#fff}
.som-default .content{color:#222}
.som-404{min-height:80vh;display:grid;place-items:center;text-align:center;padding:120px 24px}
.som-404 .big{font:700 clamp(120px,22vw,260px)/1 var(--ff-d);color:#fff}
.search-form{display:flex;gap:10px;max-width:520px;margin:24px auto 0}
.search-form input[type=search]{flex:1;background:#000;border:1px solid var(--som-line);color:#fff;padding:14px 18px;font:inherit}
.search-form input[type=submit]{background:#fff;color:#000;border:0;padding:14px 26px;font-weight:700;cursor:pointer}

/* ---- Mobile bottom bar ---- */
.som-mobilebar{display:none}
@media (max-width:767px){
  .som-mobilebar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:9990;background:#000;border-top:1px solid var(--som-line);padding:10px 14px calc(10px + env(safe-area-inset-bottom));gap:10px}
  .som-mobilebar a{flex:1;text-align:center;font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;padding:14px 10px;border-radius:2px}
  .som-mobilebar .a{background:#fff;color:#000}
  .som-mobilebar .b{border:1px solid #fff;color:#fff}
  body{padding-bottom:70px}
}

/* ---- Reduced motion ---- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
  .som-split .w>span{transform:none}
  .som-marquee .track{animation:none}
}

/* ---- v1.2 ---- */
.elementor-widget-icon-list .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item{padding-top:15px !important;padding-bottom:15px !important;margin-top:0 !important}
.elementor-widget-icon-list .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:first-child{padding-top:4px !important}
.elementor-widget-icon-list .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:last-child{padding-bottom:4px !important}
.som-footer .elementor-icon-list-items .elementor-icon-list-item{padding-top:14px !important;padding-bottom:14px !important}
.som-photo.r45 img{object-position:50% 0}
.som-photo.rfull img{aspect-ratio:auto;height:auto}
.som-prods .som-prod h4,.som-prod h4{color:#000 !important}
.som-prods .som-prod p{color:#555 !important}
.som-prods .som-prod .go{color:#000 !important}
.som-prods .som-prod .pt{color:#fff !important}
.som-prods .som-prod .pt.free{color:#000 !important}
.som-post h2,.som-post h2 a{color:#000 !important}
.som-nav .elementor-menu-toggle{width:46px;height:46px;padding:0 !important;border:0 !important;background:transparent !important;position:relative;display:inline-flex;align-items:center;justify-content:center}
.som-nav .elementor-menu-toggle i,.som-nav .elementor-menu-toggle svg{display:none !important}
.som-nav .elementor-menu-toggle::before,.som-nav .elementor-menu-toggle::after{content:"";position:absolute;right:10px;height:1.5px;background:#fff;transition:transform .4s var(--ease),top .4s var(--ease),width .4s var(--ease)}
.som-nav .elementor-menu-toggle::before{top:18px;width:26px}
.som-nav .elementor-menu-toggle::after{top:27px;width:16px}
.som-nav .elementor-menu-toggle.elementor-active::before{top:22px;width:26px;transform:rotate(45deg)}
.som-nav .elementor-menu-toggle.elementor-active::after{top:22px;width:26px;transform:rotate(-45deg)}
.som-nav nav.elementor-nav-menu--dropdown{border:0 !important;border-top:1px solid rgba(255,255,255,.14) !important;max-height:calc(100vh - 110px);overflow:auto;padding:6px 24px 30px;box-shadow:0 40px 80px -20px rgba(0,0,0,.9)}
.som-nav nav.elementor-nav-menu--dropdown .elementor-nav-menu{counter-reset:som-m}
.som-nav nav.elementor-nav-menu--dropdown .elementor-nav-menu>li>a.elementor-item{counter-increment:som-m;display:flex;align-items:baseline;font:600 27px/1.2 var(--ff-d);text-transform:none;letter-spacing:0;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.1);color:#fff;background:transparent}
.som-nav nav.elementor-nav-menu--dropdown .elementor-nav-menu>li>a.elementor-item::before{content:"0" counter(som-m);font:700 11px var(--ff-b);letter-spacing:.16em;color:var(--som-gold);margin-right:18px}
.som-nav nav.elementor-nav-menu--dropdown .sub-arrow{margin-left:auto;color:#fff}
.som-nav nav.elementor-nav-menu--dropdown .sub-menu{background:transparent !important;border:0;padding:4px 0 8px 34px}
.som-nav nav.elementor-nav-menu--dropdown .sub-menu a{font:600 12.5px/1.3 var(--ff-b) !important;letter-spacing:.14em;text-transform:uppercase;color:#BDBDBD !important;padding:13px 0 !important;border-bottom:1px solid rgba(255,255,255,.07)}
.som-nav nav.elementor-nav-menu--dropdown .sub-menu a:hover{color:#fff !important;background:transparent !important}
.som-nav nav.elementor-nav-menu--dropdown a:hover,.som-nav nav.elementor-nav-menu--dropdown a.elementor-item-active{background:transparent !important}
@media (max-width:1024px){
  .som-cell{border-right-width:0 !important;border-bottom-width:1px !important}
  .som-cell:last-child{border-bottom-width:0 !important}
}
@media (max-width:767px){
  /* top bar: marquee, no countdown */
  .som-cdw{display:none !important}
  /* hero: whole story above the fold */
  #hero{padding-top:26px !important;padding-bottom:30px !important}
  #hero .e-con{gap:11px !important;--gap:11px;--row-gap:11px;--column-gap:11px}
  #hero .som-eyebrow .elementor-heading-title,.som-eb-sm .elementor-heading-title{font-size:9px !important;letter-spacing:.2em !important}
  #hero h1.elementor-heading-title{font-size:30px !important;line-height:1.1 !important}
  #hero .som-hero-sub,#hero .som-hero-sub p{font-size:15px !important;line-height:1.4 !important}
  #hero .som-hero-desc,#hero .som-hero-desc p{font-size:13.5px !important;line-height:1.5 !important;color:#BDBDBD}
  .som-md{display:none}
  #hero .som-hero-cta{gap:8px !important}
  #hero .som-hero-cta .elementor-button{padding:12px 18px !important;font-size:11.5px !important;width:100%}
  #hero .som-hero-cta .elementor-widget-button{width:100%}
  #hero .som-oneline .elementor-icon-list-items{gap:4px 14px;flex-wrap:wrap}
  #hero .som-oneline .elementor-icon-list-text{font-size:12px !important}
  .som-eyebrow .elementor-heading-title{font-size:10px !important;letter-spacing:.2em !important}
  /* counters 2 x 2 */
  .som-counter .elementor-counter-number-wrapper{font-size:38px !important}
  .som-counter .elementor-counter-title{font-size:11px !important;margin-top:10px}
  .som-counter{border-right-width:0 !important;border-bottom-width:0 !important}
  .som-counter:nth-child(odd){border-right-width:1px !important}
  .som-counter:nth-child(-n+2){border-bottom-width:1px !important}
  /* dean */
  #dean h2.elementor-heading-title{font-size:28px !important;line-height:1.12 !important}
  #dean h5.elementor-heading-title{font-size:10.5px !important;line-height:1.4 !important;letter-spacing:.12em !important}
  .som-header .elementor-widget-theme-site-logo img,.som-header .elementor-widget-image img{max-width:205px}
}
