/* ACS Global homepage. Generated by merging sections/*.html; each section scoped under .s-* */
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Inter',sans-serif;background:#ffffff;-webkit-font-smoothing:antialiased;}

/* ===== 1 Hero (hero-section.html) ===== */
.s-hero{--navy-deepest:var(--brand-navy-deep);
    --navy:var(--brand-navy);
    --navy-mid:#16336e;
    --red:#c81e2c;
    --red-dark:#8f0f1c;
    --cream:#f4f1ea;
    --white:#ffffff;
    width:100%;
    font-family:'Inter', sans-serif;
    background:var(--navy-deepest);}
.s-hero, .s-hero *{box-sizing:border-box; margin:0; padding:0;}

.s-hero .hero{position:relative;
    width:100%;
    min-height:calc(100vh - 76px);
    overflow:hidden;
    display:flex;
    flex-direction:column;}
.s-hero .hero-bg{position:absolute;
    inset:0;
    background-image:url('/assets/images/hero-bg-nancy.jpeg');
    background-size:cover;
    background-position:center 30%;
    filter:saturate(0.92) contrast(1.03);}
.s-hero .hero-scrim{position:absolute;
    inset:0;
    background:
      linear-gradient(180deg, rgba(10,23,48,0.72) 0%, rgba(10,23,48,0.30) 32%, rgba(10,23,48,0.42) 60%, rgba(10,23,48,0.92) 100%),
      linear-gradient(100deg, rgba(10,23,48,0.88) 0%, rgba(10,23,48,0.55) 32%, rgba(10,23,48,0.08) 60%);}
@media(max-width:700px){
.s-hero .hero.is-london .hero-scrim{box-shadow:inset 0 0 0 100vmax rgba(10,23,48,0.26);}
.s-hero .hero.is-abroad .hero-scrim{box-shadow:inset 0 0 0 100vmax rgba(10,23,48,0.34);}
}
.s-hero .hero-content{position:relative;
    z-index:5;
    flex:1;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding:0 clamp(20px,5vw,72px) clamp(24px,4vh,48px);}
.s-hero .content-inner{max-width:760px;}
.s-hero .eyebrow{display:inline-flex;
    align-items:center;
    gap:9px;
    color:var(--white);
    background:rgba(200,30,44,0.22);
    border:1px solid rgba(200,30,44,0.55);
    padding:6px 14px 6px 10px;
    border-radius:100px;
    font-size:12.5px;
    font-weight:600;
    letter-spacing:0.05em;
    text-transform:uppercase;
    margin-bottom:26px;
    backdrop-filter:blur(4px);}
.s-hero .eyebrow .dot{width:6px; height:6px; border-radius:50%;
    background:var(--red);
    box-shadow:0 0 0 3px rgba(200,30,44,0.28);}
.s-hero h1{font-family:'Fraunces', serif;
    font-weight:600;
    color:var(--white);
    font-size:clamp(2.4rem, 5.4vw, 4.5rem);
    line-height:1.04;
    letter-spacing:-0.01em;
    margin-bottom:26px;
    text-wrap:balance;}
.s-hero h1 em{font-style:italic;
    font-weight:400;
    color:#f2c9ce;}
.s-hero .subhead{font-size:clamp(1.02rem, 1.35vw, 1.22rem);
    line-height:1.55;
    color:rgba(255,255,255,0.86);
    max-width:560px;
    margin-bottom:38px;
    font-weight:400;}
.s-hero .cta-row{display:flex;
    align-items:center;
    gap:22px;
    flex-wrap:wrap;}
.s-hero .btn-primary{display:inline-flex;
    align-items:center;
    gap:10px;
    background:var(--red);
    color:var(--white);
    text-decoration:none;
    font-weight:600;
    font-size:15.5px;
    padding:16px 30px;
    border-radius:8px;
    border:1px solid rgba(255,255,255,0.15);
    box-shadow:0 12px 28px -8px rgba(200,30,44,0.55);
    letter-spacing:0.01em;
    cursor:pointer;}
.s-hero .btn-primary svg{transition:transform .2s ease;}
.s-hero .trust-line{display:flex;
    align-items:center;
    gap:10px;
    color:rgba(255,255,255,0.78);
    font-size:13.5px;
    font-weight:500;}
.s-hero .trust-line .badge{width:22px; height:22px;
    border-radius:50%;
    background:rgba(255,255,255,0.14);
    border:1px solid rgba(255,255,255,0.4);
    display:flex; align-items:center; justify-content:center;
    font-size:11px; font-weight:700; color:var(--white);}
.s-hero .hero-tabs{display:flex;
    justify-content:center;
    gap:12px;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    margin-bottom:6px;
    margin-top:30px;
    padding-bottom:2px;}
.s-hero .hero-tabs::-webkit-scrollbar{display:none;}
.s-hero .hero-tab{flex-shrink:0;
    white-space:nowrap;
    background:rgba(255,255,255,0.08);
    border:1px solid rgba(255,255,255,0.32);
    border-radius:100px;
    padding:11px 22px;
    font-family:'Inter', sans-serif;
    font-size:13.5px;
    font-weight:600;
    letter-spacing:0.01em;
    color:rgba(255,255,255,0.8);
    cursor:pointer;
    backdrop-filter:blur(6px);
    transition:background .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease;}
.s-hero .hero-tab:hover{background:rgba(255,255,255,0.16);
    color:var(--white);}
.s-hero .hero-tab[aria-selected="true"]{background:var(--red);
    border-color:var(--red);
    color:var(--white);
    box-shadow:0 10px 24px -10px rgba(200,30,44,0.7);}
.s-hero .hero-tab[aria-selected="true"]:hover{background:var(--red);}
.s-hero .hero-tab:focus-visible{outline:2px solid var(--white);
    outline-offset:3px;}
@media(max-width:640px){
  /* Phones: the three tabs share the width equally (text may wrap to two lines) so none is cut off. */
  .s-hero .hero-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;overflow:visible;margin-top:22px;}
  .s-hero .hero-tab{white-space:normal;padding:9px 8px;font-size:12.5px;line-height:1.25;border-radius:14px;text-align:center;min-height:46px;}
  }
.s-hero .tab-panels{display:grid;}
.s-hero .tab-panel{grid-area:1 / 1;
    opacity:0;
    visibility:hidden;
    transition:opacity .3s ease, visibility 0s linear .3s;
    pointer-events:none;}
.s-hero .tab-panel.active{opacity:1;
    visibility:visible;
    transition:opacity .3s ease, visibility 0s linear 0s;
    pointer-events:auto;}
@media(prefers-reduced-motion:reduce){.s-hero .tab-panel{transition:none;}

  }
.s-hero .btn-secondary{display:inline-flex;
    align-items:center;
    gap:10px;
    background:rgba(255,255,255,0.08);
    color:var(--white);
    text-decoration:none;
    font-weight:600;
    font-size:15.5px;
    padding:15px 28px;
    border-radius:8px;
    border:1px solid rgba(255,255,255,0.4);
    letter-spacing:0.01em;
    backdrop-filter:blur(4px);}
.s-hero .stats-strip{position:relative;
    z-index:5;
    display:flex;
    flex-wrap:wrap;
    gap:0;
    border-top:1px solid rgba(255,255,255,0.16);
    background:rgba(10,23,48,0.55);
    backdrop-filter:blur(10px);}
.s-hero .stat{flex:1;
    min-width:150px;
    padding:20px clamp(20px,5vw,72px);
    border-right:1px solid rgba(255,255,255,0.12);}
.s-hero .stat:last-child{border-right:none;}
.s-hero .stat .num{font-family:'Fraunces', serif;
    font-size:1.55rem;
    font-weight:600;
    color:var(--white);}
.s-hero .stat .label{font-size:12px;
    color:rgba(255,255,255,0.68);
    text-transform:uppercase;
    letter-spacing:0.05em;
    margin-top:2px;}
@media(max-width:640px){.s-hero .stats-strip{display:none;}
.s-hero .hero-content{padding-bottom:32px;}

  }

/* ===== 2 Trust bar (trust-bar-section.html) ===== */
.s-trust{--navy-deepest:var(--brand-navy-deep);
    --navy:var(--brand-navy);
    --navy-mid:#16336e;
    --red:#c81e2c;
    --red-dark:#8f0f1c;
    --cream:#f7f5f0;
    --white:#ffffff;
    --ink-soft:#5c6478;}
.s-trust, .s-trust *{box-sizing:border-box; margin:0; padding:0;}
.s-trust, .s-trust{font-family:'Inter', sans-serif; background:var(--cream);}
.s-trust .strip-top{height:6px;
    background:linear-gradient(90deg, var(--navy) 0%, var(--navy-mid) 45%, var(--red) 100%);}
.s-trust .trust-section{padding:clamp(56px,9vh,96px) clamp(20px,5vw,72px);
    max-width:1240px;
    margin:0 auto;}
.s-trust .section-head{text-align:center;
    max-width:640px;
    margin:0 auto clamp(40px,6vh,64px);}
.s-trust .eyebrow{display:inline-flex;
    align-items:center;
    gap:9px;
    color:var(--red-dark);
    background:rgba(200,30,44,0.08);
    border:1px solid rgba(200,30,44,0.22);
    padding:6px 14px 6px 10px;
    border-radius:100px;
    font-size:12.5px;
    font-weight:600;
    letter-spacing:0.05em;
    text-transform:uppercase;
    margin-bottom:20px;}
.s-trust .eyebrow .dot{width:6px; height:6px; border-radius:50%;
    background:var(--red);}
.s-trust h2{font-family:'Fraunces', serif;
    font-weight:600;
    color:var(--navy-deepest);
    font-size:clamp(1.7rem, 3.2vw, 2.5rem);
    line-height:1.15;
    letter-spacing:-0.01em;}
.s-trust .stats-row{display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:1px;
    background:rgba(15,35,80,0.10);
    border:1px solid rgba(15,35,80,0.10);
    border-radius:16px;
    overflow:hidden;
    margin-bottom:clamp(48px,7vh,80px);}
.s-trust .stat-card{background:var(--white);
    padding:clamp(28px,4vw,40px) 20px;
    text-align:center;}
.s-trust .stat-card .num{font-family:'Fraunces', serif;
    font-weight:700;
    font-size:clamp(2.1rem, 4vw, 3rem);
    color:var(--navy);
    line-height:1;
    margin-bottom:10px;
    font-variant-numeric:tabular-nums;}
.s-trust .stat-card .num .suffix{color:var(--red);}
.s-trust .stat-card .label{font-size:13.5px;
    font-weight:500;
    color:var(--ink-soft);
    text-transform:uppercase;
    letter-spacing:0.04em;}
@media(max-width:760px){
.s-trust .stats-row{grid-template-columns:repeat(2, 1fr);}
.s-trust .stat-card:nth-child(1), .s-trust .stat-card:nth-child(2){border-bottom:1px solid rgba(15,35,80,0.10);}
}
.s-trust .icef-block{display:flex;
    align-items:center;
    gap:clamp(24px,4vw,48px);
    background:linear-gradient(135deg, var(--navy) 0%, var(--navy-deepest) 100%);
    border-radius:20px;
    padding:clamp(32px,5vw,52px);
    position:relative;
    overflow:hidden;}
.s-trust .icef-seal{flex-shrink:0;
    width:96px; height:96px;
    position:relative;
    z-index:2;}
.s-trust .icef-text{flex:1; position:relative; z-index:2;}
.s-trust .icef-text .tag{display:inline-block;
    color:#f2c9ce;
    font-size:12.5px;
    font-weight:700;
    letter-spacing:0.08em;
    text-transform:uppercase;
    margin-bottom:10px;}
.s-trust .icef-text h3{font-family:'Fraunces', serif;
    font-weight:600;
    color:var(--white);
    font-size:clamp(1.3rem, 2.2vw, 1.7rem);
    margin-bottom:14px;
    line-height:1.2;}
.s-trust .icef-text p{color:rgba(255,255,255,0.82);
    font-size:15px;
    line-height:1.6;
    max-width:560px;
    margin-bottom:22px;}
.s-trust .btn-verify{display:inline-flex;
    align-items:center;
    gap:9px;
    background:var(--white);
    color:var(--navy-deepest);
    font-weight:600;
    font-size:14.5px;
    padding:13px 24px;
    border-radius:8px;
    text-decoration:none;
    letter-spacing:0.01em;}
@media(max-width:700px){
.s-trust .icef-block{flex-direction:column; text-align:center;}
.s-trust .icef-text p{margin-left:auto; margin-right:auto;}
}

/* ===== 3 Services overview (services-overview-section.html) ===== */
.s-services{--navy-deepest:var(--brand-navy-deep);
    --navy:var(--brand-navy);
    --navy-mid:#16336e;
    --red:#c81e2c;
    --red-dark:#8f0f1c;
    --cream:#f7f5f0;
    --white:#ffffff;
    --ink-soft:#5c6478;}
.s-services, .s-services *{box-sizing:border-box; margin:0; padding:0;}
.s-services, .s-services{font-family:'Inter', sans-serif; background:var(--white);}
.s-services .services-section{padding:clamp(64px,9vh,104px) clamp(20px,5vw,72px);
    max-width:1280px;
    margin:0 auto;}
.s-services .section-head{text-align:center;
    max-width:680px;
    margin:0 auto clamp(48px,7vh,72px);}
.s-services .eyebrow{display:inline-flex;
    align-items:center;
    gap:9px;
    color:var(--red-dark);
    background:rgba(200,30,44,0.08);
    border:1px solid rgba(200,30,44,0.22);
    padding:6px 14px 6px 10px;
    border-radius:100px;
    font-size:12.5px;
    font-weight:600;
    letter-spacing:0.05em;
    text-transform:uppercase;
    margin-bottom:20px;}
.s-services .eyebrow .dot{width:6px; height:6px; border-radius:50%; background:var(--red);}
.s-services h2{font-family:'Fraunces', serif;
    font-weight:600;
    color:var(--navy-deepest);
    font-size:clamp(1.8rem, 3.4vw, 2.6rem);
    line-height:1.15;
    letter-spacing:-0.01em;
    margin-bottom:16px;}
.s-services .section-sub{color:var(--ink-soft);
    font-size:clamp(1rem, 1.2vw, 1.1rem);
    line-height:1.6;}
.s-services .cards-grid{display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:24px;}
@media(max-width:820px){
.s-services .cards-grid{grid-template-columns:1fr;}
}
.s-services .service-card{background:var(--cream);
    border:1px solid rgba(15,35,80,0.08);
    border-radius:18px;
    padding:clamp(28px,3.5vw,38px);
    position:relative;
    overflow:hidden;
    transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;}
.s-services .service-card:hover{transform:translateY(-4px);
    box-shadow:0 20px 40px -16px rgba(15,35,80,0.18);
    border-color:rgba(200,30,44,0.25);}
.s-services .service-card::after{content:"";
    position:absolute;
    top:-30%; right:-18%;
    width:50%; height:160%;
    border:1.5px solid rgba(200,30,44,0.10);
    border-radius:50%;
    pointer-events:none;}
.s-services .card-icon{width:56px; height:56px;
    border-radius:14px;
    background:linear-gradient(145deg, var(--navy), var(--navy-mid));
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:22px;
    position:relative;
    z-index:2;}
.s-services .service-card h3{font-family:'Fraunces', serif;
    font-weight:600;
    color:var(--navy-deepest);
    font-size:clamp(1.15rem, 1.6vw, 1.35rem);
    line-height:1.28;
    margin-bottom:12px;
    position:relative; z-index:2;}
.s-services .service-card p{color:var(--ink-soft);
    font-size:14.5px;
    line-height:1.65;
    margin-bottom:22px;
    position:relative; z-index:2;}
.s-services .card-cta{display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--red-dark);
    font-weight:600;
    font-size:14px;
    text-decoration:none;
    position:relative; z-index:2;}
.s-services .card-cta svg{transition:transform .2s ease;}
.s-services .service-card:hover .card-cta svg{transform:translateX(3px);}

/* ===== 4 Destination map (list left, detail right; redesigned 11 Oct 2026) ===== */
.s-map{--m-band:var(--brand-navy-deep); --m-panel:var(--brand-navy); --m-border:#26396a; --m-text:#f4f6fb; --m-muted:#a9b4cf; --m-red:#c81e2c; --m-red-text:#e85560;
    background:var(--m-band); color:var(--m-text); font-family:'Inter', sans-serif;}
.s-map, .s-map *{box-sizing:border-box;}
.s-map [hidden]{display:none !important;}
.s-map :focus-visible{outline:2px solid #fff; outline-offset:2px;}
.s-map .map-section{padding:clamp(56px,9vh,104px) clamp(16px,5vw,72px);}
.s-map .map-wrap{max-width:1120px; margin:0 auto;}
.s-map .map-head{text-align:center; max-width:680px; margin:0 auto 36px;}
.s-map .map-chip{display:inline-block; margin:0 0 20px; padding:7px 16px; border-radius:999px; background:var(--m-red); color:#fff;
    font-size:12px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase;}
.s-map h2{margin:0 0 14px; font-family:'Fraunces', serif; font-weight:600; font-size:clamp(2rem,4.2vw,3rem); line-height:1.15; letter-spacing:-0.01em; color:#fff;}
.s-map .map-sub{margin:0 auto 18px; font-size:1.05rem; line-height:1.6; color:var(--m-muted);}
.s-map .map-hq{margin:0; font-size:0.9rem; line-height:1.5; color:var(--m-muted); text-align:center; text-wrap:balance;}
.s-map .map-hq-dot{display:inline-block; width:8px; height:8px; margin-right:8px; border-radius:50%; background:var(--m-red); vertical-align:middle; position:relative; top:-1px;}
.s-map .map-tabs{display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:0 0 32px;}
.s-map .map-tab{padding:11px 22px; border-radius:999px; border:1px solid var(--m-border); background:rgba(255,255,255,0.05); color:var(--m-muted);
    font:600 0.95rem 'Inter', sans-serif; cursor:pointer;}
.s-map .map-tab[aria-selected="true"]{background:var(--m-red); border-color:var(--m-red); color:#fff;}
.s-map .map-grid{display:grid; grid-template-columns:340px minmax(0,1fr); gap:24px; align-items:start;}
.s-map .map-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; min-width:0;}
.s-map .map-item{display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; padding:14px 16px; text-align:left;
    border:1px solid var(--m-border); border-radius:12px; background:transparent; color:var(--m-text); font-family:'Inter', sans-serif; cursor:pointer;}
.s-map .map-item[aria-current="true"]{border-color:var(--m-red); background:var(--m-panel);}
.s-map .map-item-text{display:flex; flex-direction:column; gap:2px; min-width:0;}
.s-map .map-item-name{font-weight:600; font-size:1rem; line-height:1.3;}
.s-map .map-item-sub{font-size:0.85rem; line-height:1.35; color:var(--m-muted);}
.s-map .map-item-arrow{flex-shrink:0; color:var(--m-red-text); font-size:1.1rem;}
.s-map .map-panels{min-width:0;}
.s-map .map-panel{border:1px solid var(--m-border); border-radius:16px; background:var(--m-panel); overflow:hidden;}
.s-map .map-hero{position:relative; overflow:hidden; padding:32px 32px 28px; background:linear-gradient(135deg,#143071 0%,#0a1730 100%);}
.s-map .map-code{position:absolute; top:4px; right:24px; font-family:'Fraunces', serif; font-weight:700; font-size:clamp(96px,13vw,150px); line-height:1; color:#fff; opacity:0.07; pointer-events:none; user-select:none;}
.s-map .map-tag{position:relative; margin:0 0 10px; font-size:12px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--m-red-text);}
.s-map h3{position:relative; margin:0 0 12px; font-family:'Fraunces', serif; font-weight:600; font-size:clamp(1.7rem,3vw,2.3rem); line-height:1.15; color:#fff;}
.s-map .map-intro{position:relative; margin:0; max-width:560px; font-size:1.02rem; line-height:1.65; color:var(--m-text);}
.s-map .map-body{padding:26px 32px 30px;}
.s-map .map-points{list-style:none; margin:0 0 20px; padding:0; display:flex; flex-direction:column; gap:12px;}
.s-map .map-points li{position:relative; padding-left:22px; font-size:0.98rem; line-height:1.55; color:var(--m-text);}
.s-map .map-points li::before{content:''; position:absolute; left:0; top:0.55em; width:7px; height:7px; background:var(--m-red);}
.s-map .map-best{margin:0 0 24px; font-size:0.98rem; line-height:1.55; color:var(--m-muted);}
.s-map .map-best strong{color:var(--m-red-text); font-weight:600;}
.s-map .map-actions{display:flex; flex-wrap:wrap; align-items:center; gap:14px 22px;}
.s-map .map-btn{display:inline-block; padding:14px 26px; border-radius:999px; background:var(--m-red); color:#fff; font-weight:600; font-size:1rem; line-height:1.2; text-decoration:none;}
.s-map .map-btn:hover{background:#a91825;}
/* Country guide link: a clear outlined button beside the red "Talk to us" button */
.s-map .map-guide{display:inline-flex; align-items:center; gap:8px; padding:13px 24px; border-radius:999px; border:1.5px solid rgba(255,255,255,0.55); color:#fff; font-weight:600; font-size:1rem; line-height:1.2; text-decoration:none; background:rgba(255,255,255,0.06);}
.s-map .map-guide::after{content:"\2192"; transition:transform 0.2s ease;}
.s-map .map-guide:hover{background:#fff; color:var(--m-navy, #0f2350); border-color:#fff;}
.s-map .map-guide:hover::after{transform:translateX(3px);}
.s-map .map-foot{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px 28px; margin-top:44px; padding-top:30px; border-top:1px solid var(--m-border);}
.s-map .map-foot p{margin:0; font-family:'Fraunces', serif; font-weight:600; font-size:1.35rem; line-height:1.3; color:#fff;}
@media (prefers-reduced-motion:no-preference){
.s-map .map-tab, .s-map .map-item, .s-map .map-btn{transition:background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;}
.s-map .map-panel:not([hidden]){animation:mapFade 0.25s ease-out;}
@keyframes mapFade{from{opacity:0; transform:translateY(6px);}to{opacity:1; transform:none;}}
}
@media (max-width:819px){
.s-map .map-grid{grid-template-columns:minmax(0,1fr); gap:16px;}
.s-map .map-list{flex-direction:row; gap:8px; overflow-x:auto; padding:2px 2px 10px; scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch;}
.s-map .map-list li{flex:0 0 auto; scroll-snap-align:start;}
.s-map .map-item{width:auto; padding:10px 18px; border-radius:999px; white-space:nowrap;}
.s-map .map-item-sub, .s-map .map-item-arrow{display:none;}
.s-map .map-hero{padding:26px 20px 22px;}
.s-map .map-body{padding:22px 20px 26px;}
.s-map .map-code{right:14px;}
.s-map .map-btn{width:100%; text-align:center;}
.s-map .map-guide{width:100%; justify-content:center; text-align:center; padding:13px 18px;}
.s-map .map-foot{flex-direction:column; align-items:flex-start;}
.s-map .map-foot .map-btn{width:100%;}
}

/* ===== 5 Why choose us / founder (PREVIEW - test photo) (why-choose-us-founder-section.html) ===== */
.s-founder{--navy-dark: var(--brand-navy-deep);
    --navy-mid: #13294B;
    --navy-soft: #1E3A5F;
    --red: #C81E2C;
    --red-deep: #9E1622;
    --cream: #F7F3EA;
    --cream-deep: #EFE8D8;
    --white: #FFFFFF;
    --text-navy: #1B2A41;
    --text-muted: #5B6B85;}
.s-founder, .s-founder *{margin: 0; padding: 0; box-sizing: border-box;}
.s-founder{font-family: 'Inter', sans-serif;
    background: var(--cream);
    color: var(--text-navy);
    -webkit-font-smoothing: antialiased;}
.s-founder .section-wrap{background: var(--cream);
    padding: 100px 0;
    position: relative;
    overflow: hidden;}
.s-founder .founder-band{background: var(--brand-navy-tint);}
.s-founder .ambient-arc{position: absolute;
    top: -220px;
    right: -260px;
    width: 720px;
    height: 720px;
    border: 3px solid var(--red);
    border-radius: 50%;
    opacity: 0.08;
    pointer-events: none;}
.s-founder .ambient-arc.two{top: auto;
    bottom: -320px;
    right: auto;
    left: -300px;
    width: 640px;
    height: 640px;
    opacity: 0.06;}
.s-founder .inner{max-width: 1180px;
    margin: 0 auto;
    padding: 0 32px;
    position: relative;
    z-index: 2;}
.s-founder .why-header{text-align: center;
    max-width: 640px;
    margin: 0 auto 64px;}
.s-founder .eyebrow{display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--red);
    margin-bottom: 18px;}
.s-founder .eyebrow::before, .s-founder .eyebrow::after{content: '';
    width: 22px;
    height: 1.5px;
    background: var(--red);
    opacity: 0.5;}
.s-founder .why-header h2{font-family: 'Fraunces', serif;
    font-weight: 600;
    font-size: clamp(32px, 4vw, 44px);
    line-height: 1.15;
    color: var(--navy-dark);
    letter-spacing: -0.01em;}
.s-founder .why-grid{display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;}
.s-founder .why-card{background: var(--white);
    border-radius: 18px;
    padding: 38px 30px 34px;
    box-shadow: 0 1px 2px rgba(10,23,48,0.04), 0 12px 32px -18px rgba(10,23,48,0.18);
    transition: transform 0.35s cubic-bezier(0.16,1,0.3,1), box-shadow 0.35s cubic-bezier(0.16,1,0.3,1);}
.s-founder .why-card:hover{transform: translateY(-6px);
    box-shadow: 0 1px 2px rgba(10,23,48,0.05), 0 24px 48px -20px rgba(10,23,48,0.24);}
.s-founder .why-icon{width: 56px;
    height: 56px;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--navy-mid), var(--navy-dark));
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 22px;}
.s-founder .why-icon svg{width: 28px; height: 28px;}
.s-founder .why-card h3{font-family: 'Fraunces', serif;
    font-weight: 600;
    font-size: 20px;
    color: var(--navy-dark);
    margin-bottom: 12px;
    letter-spacing: -0.01em;}
.s-founder .why-card p{font-size: 15.5px;
    line-height: 1.62;
    color: var(--text-muted);}
.s-founder .why-card .stat-line{font-family: 'Fraunces', serif;
    font-weight: 600;
    color: var(--red-deep);}
.s-founder .founder-grid{display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    gap: 64px;
    align-items: center;}
.s-founder .founder-photo-wrap{position: relative;}
.s-founder .photo-frame{position: relative;
    border-radius: 20px;
    overflow: hidden;
    aspect-ratio: 4 / 4.7;
    box-shadow: 0 30px 60px -24px rgba(10,23,48,0.35);}
.s-founder .photo-frame img{width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% center;
    display: block;}
.s-founder .photo-frame::after{content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(10,23,48,0) 55%, rgba(10,23,48,0.55) 100%);}
.s-founder .photo-arc{position: absolute;
    top: -26px;
    left: -26px;
    width: 130px;
    height: 130px;
    z-index: 3;}
.s-founder .credibility-chip{position: absolute;
    left: 24px;
    right: 24px;
    bottom: 22px;
    z-index: 3;
    background: rgba(255,255,255,0.97);
    border-radius: 12px;
    padding: 14px 18px;
    display: flex;
    justify-content: space-between;
    gap: 10px;
    box-shadow: 0 12px 28px -14px rgba(10,23,48,0.4);}
.s-founder .credibility-chip .stat{text-align: center; flex: 1;}
.s-founder .credibility-chip .stat .num{font-family: 'Fraunces', serif;
    font-weight: 700;
    font-size: 19px;
    color: var(--navy-dark);
    display: block;
    line-height: 1.1;}
.s-founder .credibility-chip .stat .lbl{font-size: 10.5px;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    display: block;
    margin-top: 3px;}
.s-founder .credibility-chip .divider{width: 1px;
    background: rgba(10,23,48,0.1);}
.s-founder .founder-copy .eyebrow{margin-bottom: 16px;}
.s-founder .founder-copy h2{font-family: 'Fraunces', serif;
    font-weight: 600;
    font-size: clamp(30px, 3.6vw, 40px);
    line-height: 1.16;
    color: var(--navy-dark);
    margin-bottom: 22px;
    letter-spacing: -0.01em;}
.s-founder .founder-copy .signature-name{color: var(--red-deep);}
.s-founder .founder-copy p{font-size: 16.5px;
    line-height: 1.72;
    color: var(--text-navy);
    margin-bottom: 18px;}
.s-founder .founder-copy p:last-of-type{margin-bottom: 0;}
.s-founder .founder-copy .signature-line{font-style: italic;}
.s-founder .founder-copy .lede{font-size: 18px;
    font-weight: 500;
    color: var(--navy-dark);}
.s-founder .icef-line{margin-top: 28px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 11px 20px 11px 16px;
    background: var(--navy-dark);
    border-radius: 100px;
    text-decoration: none;
    transition: background 0.25s ease;}
.s-founder .icef-line:hover{background: var(--navy-soft);}
.s-founder .icef-line svg{width: 18px; height: 18px; flex-shrink: 0;}
.s-founder .icef-line span{font-size: 13.5px;
    font-weight: 600;
    color: var(--white);
    letter-spacing: 0.01em;}
@media (max-width: 900px){
.s-founder .why-grid{grid-template-columns: 1fr; gap: 20px;}
.s-founder .founder-grid{grid-template-columns: 1fr; gap: 40px;}
.s-founder .photo-frame{max-width: 380px; margin: 0 auto;}
.s-founder .section-wrap{padding: 72px 0;}
}
@media (prefers-reduced-motion: reduce){
.s-founder .why-card{transition: none;}
}

/* ===== 6 Testimonials (testimonials-section.html) ===== */
.s-testimonials{--navy-dark: var(--brand-navy-deep);
    --navy-mid: #13294B;
    --navy-soft: #1E3A5F;
    --red: #C81E2C;
    --red-deep: #9E1622;
    --cream: #F7F3EA;
    --gold: #D4A94F;
    --white: #FFFFFF;
    --text-navy: #1B2A41;
    --text-muted: #5B6B85;}
.s-testimonials, .s-testimonials *{margin: 0; padding: 0; box-sizing: border-box;}
.s-testimonials{font-family: 'Inter', sans-serif; background: var(--white); color: var(--text-navy); -webkit-font-smoothing: antialiased;}
.s-testimonials .section-wrap{background: var(--white); padding: 100px 0 110px; position: relative; overflow: hidden;}
.s-testimonials .ambient-arc{position: absolute; top: -180px; left: -260px; width: 620px; height: 620px;
    border: 3px solid var(--red); border-radius: 50%; opacity: 0.05; pointer-events: none;}
.s-testimonials .inner{max-width: 1180px; margin: 0 auto; padding: 0 32px; position: relative; z-index: 2;}
.s-testimonials .head-row{display: flex; justify-content: space-between; align-items: flex-end; gap: 40px;
    margin-bottom: 56px; flex-wrap: wrap;}
.s-testimonials .eyebrow{display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600;
    letter-spacing: 0.14em; text-transform: uppercase; color: var(--red); margin-bottom: 18px;}
.s-testimonials .eyebrow::before{content: ''; width: 22px; height: 1.5px; background: var(--red); opacity: 0.5;}
.s-testimonials .head-copy h2{font-family: 'Fraunces', serif; font-weight: 600; font-size: clamp(32px, 4vw, 44px);
    line-height: 1.15; color: var(--navy-dark); letter-spacing: -0.01em; max-width: 560px;}
.s-testimonials .google-badge{display: inline-flex; align-items: center; gap: 14px; background: var(--cream);
    border-radius: 14px; padding: 16px 22px; text-decoration: none; flex-shrink: 0;
    transition: transform 0.3s cubic-bezier(0.16,1,0.3,1), box-shadow 0.3s ease;
    box-shadow: 0 1px 2px rgba(10,23,48,0.04);}
.s-testimonials .google-badge:hover{transform: translateY(-3px); box-shadow: 0 16px 32px -18px rgba(10,23,48,0.28);}
.s-testimonials .google-badge svg.gicon{width: 26px; height: 26px; flex-shrink: 0;}
.s-testimonials .google-badge .rating-num{font-family: 'Fraunces', serif; font-weight: 700; font-size: 26px; color: var(--navy-dark); line-height: 1;}
.s-testimonials .google-badge .rating-detail{display: flex; flex-direction: column; gap: 3px;}
.s-testimonials .google-badge .stars{display: flex; gap: 2px;}
.s-testimonials .google-badge .stars svg{width: 13px; height: 13px;}
.s-testimonials .google-badge .count{font-size: 12.5px; color: var(--text-muted); font-weight: 500;}
.s-testimonials .carousel-outer{position: relative;}
.s-testimonials .carousel-track{display: flex; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory;
    padding: 8px 4px 28px; margin: 0 -4px;
    scrollbar-width: none;
    scroll-padding-left: 4px;}
.s-testimonials .carousel-track::-webkit-scrollbar{display: none;}
.s-testimonials .t-card{scroll-snap-align: start; flex: 0 0 auto; width: 360px;
    background: linear-gradient(160deg, var(--navy-mid), var(--navy-dark));
    border-radius: 20px; padding: 34px 30px 28px; position: relative;
    display: flex; flex-direction: column; box-shadow: 0 20px 40px -24px rgba(10,23,48,0.4);}
.s-testimonials .t-quote-mark{font-family: 'Fraunces', serif; font-size: 64px; line-height: 1; color: var(--red);
    opacity: 0.85; margin-bottom: 4px; font-weight: 600; height: 40px;}
.s-testimonials .t-stars{display: flex; gap: 3px; margin-bottom: 16px;}
.s-testimonials .t-stars svg{width: 15px; height: 15px;}
.s-testimonials .t-quote{font-size: 15.5px; line-height: 1.68; color: var(--cream); flex-grow: 1; margin-bottom: 24px;}
.s-testimonials .t-footer{display: flex; align-items: center; justify-content: space-between; gap: 12px;
    padding-top: 18px; border-top: 1px solid rgba(247,243,234,0.14);}
.s-testimonials .t-name{font-family: 'Fraunces', serif; font-weight: 600; font-size: 15.5px; color: var(--white);}
.s-testimonials .t-verified{display: inline-flex; align-items: center; gap: 5px; font-size: 10.5px; font-weight: 600;
    letter-spacing: 0.03em; color: rgba(247,243,234,0.55); text-transform: uppercase;}
.s-testimonials .t-verified svg{width: 12px; height: 12px; flex-shrink: 0;}
.s-testimonials .carousel-controls{display: flex; align-items: center; justify-content: center; gap: 20px; margin-top: 8px;}
.s-testimonials .c-arrow{width: 44px; height: 44px; border-radius: 50%; border: 1.5px solid rgba(10,23,48,0.15);
    background: var(--white); display: flex; align-items: center; justify-content: center;
    cursor: pointer; transition: background 0.25s ease, border-color 0.25s ease, transform 0.2s ease;}
.s-testimonials .c-arrow:hover{background: var(--navy-dark); border-color: var(--navy-dark); transform: translateY(-2px);}
.s-testimonials .c-arrow:hover svg path{stroke: var(--white);}
.s-testimonials .c-arrow svg{width: 18px; height: 18px;}
.s-testimonials .c-arrow svg path{transition: stroke 0.25s ease;}
.s-testimonials .c-dots{display: flex; gap: 8px;}
.s-testimonials .c-dot{width: 7px; height: 7px; border-radius: 50%; background: rgba(10,23,48,0.18);
    cursor: pointer; transition: background 0.3s ease, transform 0.3s ease; border: none; padding: 0;}
.s-testimonials .c-dot.active{background: var(--red); transform: scale(1.3);}
@media (max-width: 720px){
.s-testimonials .section-wrap{padding: 72px 0 80px;}
.s-testimonials .head-row{align-items: flex-start;}
.s-testimonials .t-card{width: 82vw;}
}
@media (prefers-reduced-motion: reduce){
.s-testimonials .carousel-track{scroll-behavior: auto;}
}

/* ===== 7 Featured blog (featured-blog-section.html) ===== */
.s-blog{--navy: var(--brand-navy);
    --navy-2: #142B52;
    --red: #c81e2c;
    --red-2: #8f0f1c;
    --cream: #F5F1E8;
    --cream-2: #EDE7D8;
    --ink: #1A1A1A;
    --ink-soft: #4A4E57;
    --white: #FFFFFF;}
.s-blog, .s-blog *{box-sizing: border-box; margin: 0; padding: 0;}
.s-blog{font-family: 'Inter', sans-serif;
    background: var(--cream);
    color: var(--ink);
    -webkit-font-smoothing: antialiased;}
.s-blog section.blog-section{padding: 88px 24px 96px;
    max-width: 1180px;
    margin: 0 auto;}
.s-blog .section-head{text-align: center;
    max-width: 640px;
    margin: 0 auto 56px;}
.s-blog .eyebrow{display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--red);
    margin-bottom: 14px;}
.s-blog .eyebrow::before{content: '';
    width: 24px;
    height: 2px;
    background: var(--red);
    display: inline-block;}
.s-blog h2.section-title{font-family: 'Fraunces', serif;
    font-weight: 500;
    font-size: clamp(30px, 4vw, 42px);
    color: var(--navy);
    line-height: 1.15;
    margin-bottom: 14px;}
.s-blog .section-sub{font-size: 16px;
    color: var(--ink-soft);
    line-height: 1.6;}
.s-blog .card-grid{display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    position: relative;}
.s-blog article.blog-card{grid-row: 1;
    background: var(--white);
    border-radius: 18px;
    padding: 30px 28px 28px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 1px 2px rgba(15,35,80,0.04);
    border: 1px solid rgba(15,35,80,0.06);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    position: relative;
    overflow: hidden;}
.s-blog article.blog-card:hover{transform: translateY(-6px);
    box-shadow: 0 18px 34px rgba(15,35,80,0.14);}
.s-blog .card-arc{position: absolute;
    top: -40px;
    right: -40px;
    width: 130px;
    height: 130px;
    border-radius: 50%;
    border: 2px solid var(--red);
    opacity: 0.14;}
.s-blog .icon-tile{width: 56px;
    height: 56px;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--navy), var(--navy-2));
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 22px;}
.s-blog .card-tag{font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--red);
    margin-bottom: 10px;}
.s-blog h3.card-title{font-family: 'Fraunces', serif;
    font-weight: 500;
    font-size: 20px;
    line-height: 1.3;
    color: var(--navy);
    margin-bottom: 12px;}
.s-blog .card-teaser{font-size: 14.5px;
    line-height: 1.6;
    color: var(--ink-soft);
    margin-bottom: 24px;
    flex-grow: 1;}
.s-blog .card-link{display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 14px;
    font-weight: 600;
    color: var(--navy);
    text-decoration: none;
    width: fit-content;}
.s-blog .card-link svg{transition: transform 0.2s ease;}
.s-blog article.blog-card:hover .card-link svg{transform: translateX(4px);}
.s-blog .section-cta{text-align: center;
    margin-top: 52px;}
.s-blog .view-all{display: inline-flex;
    align-items: center;
    gap: 9px;
    background: var(--navy);
    color: var(--white);
    font-weight: 600;
    font-size: 15px;
    padding: 15px 30px;
    border-radius: 100px;
    text-decoration: none;
    transition: background 0.2s ease, transform 0.2s ease;}
.s-blog .view-all:hover{background: var(--red);
    transform: translateY(-2px);}
.s-blog article.blog-card:nth-of-type(1){grid-column: 1;}
.s-blog article.blog-card:nth-of-type(2){grid-column: 2;}
.s-blog article.blog-card:nth-of-type(3){grid-column: 3;}
@media (max-width: 900px){
.s-blog .card-grid{grid-template-columns: 1fr;}
.s-blog article.blog-card:nth-of-type(1), .s-blog article.blog-card:nth-of-type(2), .s-blog article.blog-card:nth-of-type(3){grid-column: 1;
      grid-row: auto;}
}
@media (prefers-reduced-motion: reduce){
.s-blog article.blog-card, .s-blog .card-link svg, .s-blog .view-all{transition: none;}
}

/* ===== 8 CTA banner (approval status to confirm) (cta-banner-section-final.html) ===== */
.s-cta{--navy: var(--brand-navy);
    --navy-deep: var(--brand-navy-deep);
    --cream: #F7F3EA;
    --red: #c81e2c;
    --red-bright: #E23744;
    --white: #FFFFFF;
    --muted: rgba(247,243,234,0.72);}
.s-cta, .s-cta *{box-sizing:border-box; margin:0; padding:0;}
.s-cta{font-family:'Inter', sans-serif; background:var(--cream);}
.s-cta .cta-banner{position:relative;
    background: var(--brand-navy-tint);
    overflow:hidden;
    padding: 6rem 1.5rem;
    color: var(--brand-navy);}
.s-cta .arc-track{position:absolute;
    top:0;
    bottom:0;
    right:0;
    width:min(240px, calc(50% - 410px));
    pointer-events:none;}
.s-cta .arc-track svg{width:100%; height:100%; display:block;}
@media (max-width:999px){
.s-cta .arc-track{display:none;}
}
.s-cta .banner-inner{position:relative;
    z-index:2;
    max-width: 860px;
    margin: 0 auto;
    text-align:center;}
.s-cta .eyebrow{display:inline-flex;
    align-items:center;
    gap:0.5rem;
    font-family:'Inter', sans-serif;
    font-weight:600;
    font-size:0.8rem;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color: var(--red);
    margin-bottom: 1.75rem;}
.s-cta .eyebrow::before{content:"";
    width: 7px; height: 7px;
    border-radius:50%;
    background: var(--red);
    box-shadow: 0 0 0 4px rgba(200,30,44,0.16);}
.s-cta h2.headline{font-family:'Fraunces', serif;
    font-optical-sizing:auto;
    font-weight:600;
    font-size: clamp(2rem, 4.4vw, 3.15rem);
    line-height:1.18;
    letter-spacing:-0.01em;
    color: var(--brand-navy);
    max-width: 780px;
    margin: 0 auto 1.5rem auto;}
.s-cta .headline em{font-style:italic;
    color: var(--red);}
.s-cta .subheadline{font-size: 1.08rem;
    line-height:1.65;
    color: #3d4a66;
    max-width: 620px;
    margin: 0 auto 2.75rem auto;}
.s-cta .cta-row{display:flex;
    align-items:center;
    justify-content:center;
    gap: 1.5rem;
    flex-wrap:wrap;
    margin-bottom: 1.75rem;}
.s-cta .btn-primary{display:inline-flex;
    align-items:center;
    gap:0.6rem;
    background: var(--red);
    color: var(--white);
    font-weight:600;
    font-size:1rem;
    padding: 1rem 2.1rem;
    border-radius: 999px;
    text-decoration:none;
    box-shadow: 0 12px 28px -8px rgba(200,30,44,0.45);
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;}
.s-cta .btn-primary:hover{transform: translateY(-2px);
    box-shadow: 0 16px 34px -6px rgba(200,30,44,0.55);
    background:#a91825;}
.s-cta .btn-primary svg{width:18px; height:18px; transition: transform 0.2s ease;}
.s-cta .btn-primary:hover svg{transform: translateX(3px);}
.s-cta .btn-secondary{display:inline-flex;
    align-items:center;
    gap:0.55rem;
    background: transparent;
    color: var(--brand-navy);
    font-weight:500;
    font-size:0.98rem;
    padding: 1rem 1.6rem;
    border-radius: 999px;
    border: 1.5px solid var(--brand-navy);
    text-decoration:none;
    transition: border-color 0.2s ease, background 0.2s ease;}
.s-cta .btn-secondary:hover{background: var(--brand-navy);
    color: var(--white);}
.s-cta .btn-secondary svg{width:18px; height:18px;}
.s-cta .microcopy{font-size:0.86rem;
    color: #4a5670;
    letter-spacing:0.01em;}
.s-cta .microcopy .divider{margin: 0 0.55rem;
    opacity:0.5;}
@media (max-width:600px){
.s-cta .cta-banner{padding: 4.5rem 1.25rem;}
.s-cta .cta-row{flex-direction:column; gap:1rem; width:100%;}
.s-cta .btn-primary, .s-cta .btn-secondary{width:100%; justify-content:center;}
.s-cta .microcopy{line-height:1.8;}
.s-cta .microcopy .divider{display:block; margin:0; opacity:0; height:0;}
}
@media (prefers-reduced-motion: reduce){
.s-cta .btn-primary, .s-cta .btn-primary svg, .s-cta .btn-secondary{transition:none;}
}
