
:root {
  --orange: #e95a2d;
  --orange-dark: #d84c23;
  --ink: #17191d;
  --body: #464a50;
  --muted: #72777f;
  --line: #e6e7e9;
  --soft: #f8f8f8;
  --white: #ffffff;
  --max: 1180px;
  --shadow: 0 8px 28px rgba(17, 19, 23, .06);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:#fff;font-family:Arial,"Helvetica Neue",sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea{font:inherit}
.container{width:min(var(--max),calc(100% - 48px));margin-inline:auto}
.narrow{width:min(900px,calc(100% - 48px));margin-inline:auto}
.condensed,.display,h1,h2,h3,.nav-link,.btn,.eyebrow,.feature-title,.step-title{font-family:"Arial Narrow","Liberation Sans Narrow","DejaVu Sans Condensed",Arial,sans-serif}
.eyebrow{font-size:.82rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--orange);margin:0 0 8px}
.display,h1{font-size:clamp(2.8rem,5vw,5.1rem);line-height:.96;letter-spacing:-.025em;margin:0;font-weight:800;text-transform:uppercase}
h2{font-size:clamp(2rem,3vw,3.2rem);line-height:1.04;letter-spacing:-.02em;margin:0;font-weight:800;text-transform:uppercase}
h3{font-size:1.32rem;line-height:1.12;margin:0;font-weight:800;text-transform:uppercase}
p{margin:0 0 1rem;color:var(--body)}
.lead{font-size:1.08rem;max-width:680px}
.orange{color:var(--orange)}
.muted{color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border:1.5px solid var(--orange);background:var(--orange);color:#fff;font-weight:800;text-transform:uppercase;letter-spacing:.01em;transition:.18s ease;cursor:pointer}
.btn:hover{background:var(--orange-dark);border-color:var(--orange-dark);transform:translateY(-1px)}
.btn-outline{background:#fff;color:var(--orange)}
.btn-outline:hover{color:#fff}
.btn-link{display:inline-flex;align-items:center;gap:8px;color:var(--orange);font-weight:700}
.btn-link::after{content:"→"}
.icon{width:38px;height:38px;color:var(--orange);stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.icon-lg{width:56px;height:56px}
.icon-xl{width:72px;height:72px}

.site-header{height:82px;border-bottom:1px solid var(--line);background:#fff;position:relative;z-index:50}
.header-inner{height:100%;width:min(1260px,calc(100% - 44px));margin:auto;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;flex:0 0 250px}
.brand img{width:238px;height:auto}
.site-nav{display:flex;align-items:center;gap:26px;margin-left:auto}
.nav-link{font-size:.88rem;font-weight:700;white-space:nowrap}
.nav-link:hover,.nav-link.active{color:var(--orange)}
.header-cta{margin-left:8px;white-space:nowrap;min-height:42px;padding-inline:16px;font-size:.8rem}
.mobile-toggle{display:none;margin-left:auto;background:transparent;border:0;width:44px;height:44px;padding:9px;cursor:pointer}
.mobile-toggle span{display:block;height:2px;background:var(--ink);margin:6px 0}

.hero{border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;min-height:465px}
.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:54px 52px 54px max(0px,calc((100vw - 1180px)/2))}
.hero-copy .display{font-size:clamp(3rem,4.45vw,4.9rem);max-width:680px}
.hero-copy .subline{font-size:1.13rem;margin-top:26px;max-width:620px;color:var(--body)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.hero-media{min-height:465px;background-position:center;background-size:cover;position:relative;overflow:hidden}
.hero-media::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.8) 6%,rgba(255,255,255,.12) 24%,rgba(255,255,255,0) 45%)}
.hero-home{background-image:url('../images/hero-home.jpg')}
.hero-cyber{background-image:url('../images/hero-cyber.jpg')}
.hero-insurance{background-image:url('../images/hero-insurance.jpg')}
.hero-about{background-image:url('../images/hero-about.jpg')}
.hero-method{background-image:url('../images/hero-method.jpg')}

.section{padding:66px 0;border-bottom:1px solid var(--line)}
.section-sm{padding:44px 0;border-bottom:1px solid var(--line)}
.section-head{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:34px}
.section-head p{max-width:620px;margin:0}

.home-cards{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-left:0;border-right:0;background:#fff}
.home-card{padding:30px 30px 28px;text-align:center;border-right:1px solid var(--line)}
.home-card:last-child{border-right:0}
.home-card h3{font-size:1.08rem;margin:14px 0 10px}
.home-card p{font-size:.93rem;min-height:58px}
.cyber-summary{border:1px solid rgba(233,90,45,.45);padding:34px;display:grid;grid-template-columns:90px 1.15fr .9fr;gap:28px;align-items:start}
.cyber-summary h2{font-size:2rem;margin-bottom:8px}
.cyber-summary .summary-points{list-style:none;padding:0;margin:6px 0 0;display:grid;gap:12px}
.summary-points li{position:relative;padding-left:28px;color:var(--body)}
.summary-points li::before{content:"✓";position:absolute;left:0;top:0;width:18px;height:18px;border:1.5px solid var(--orange);color:var(--orange);border-radius:50%;display:grid;place-items:center;font-size:.72rem;font-weight:800}
.cyber-summary .btn{margin-top:18px}
.contact-strip{display:flex;justify-content:center;gap:80px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}
.contact-item{display:flex;align-items:center;gap:12px;color:var(--body);font-weight:600}
.contact-item .icon{width:24px;height:24px}
.mini-benefits{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}
.mini-benefit{display:flex;gap:13px;padding:24px 22px;border-right:1px solid var(--line)}
.mini-benefit:last-child{border-right:0}
.mini-benefit .icon{width:30px;height:30px;color:var(--ink)}
.mini-benefit strong{display:block;font-family:"Arial Narrow","Liberation Sans Narrow","DejaVu Sans Condensed",Arial,sans-serif;text-transform:uppercase;font-size:.92rem}
.mini-benefit span{display:block;color:var(--muted);font-size:.78rem;line-height:1.35;margin-top:3px}

.page-hero{padding:64px 0 54px;border-bottom:1px solid var(--line)}
.page-hero.center{text-align:center}
.page-hero.center .lead{margin:22px auto 0}
.page-hero .page-sub{font-size:1.35rem;color:var(--orange);font-weight:700;margin:14px 0 0}

.method-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:42px}
.method-step{text-align:center;padding:0 28px;position:relative}
.method-step:not(:last-child)::after{content:"";position:absolute;right:-10%;top:37px;width:20%;height:1.5px;background:var(--orange)}
.step-circle{width:78px;height:78px;border-radius:50%;border:1px solid var(--line);box-shadow:var(--shadow);display:grid;place-items:center;margin:0 auto 20px;background:#fff}
.step-title{font-weight:800;font-size:1.15rem;text-transform:uppercase}
.method-close{margin-top:54px;border-top:1px solid var(--line);padding:36px 0;display:flex;align-items:center;justify-content:center;gap:28px;font-size:1.45rem;color:var(--ink)}
.method-close .icon{color:var(--ink)}

.split-hero{display:grid;grid-template-columns:1.1fr .9fr;min-height:400px;border-bottom:1px solid var(--line)}
.split-copy{padding:54px 46px 54px max(0px,calc((100vw - 1180px)/2))}
.split-copy h1{font-size:clamp(2.7rem,4vw,4.35rem)}
.split-copy .page-sub{font-size:1.15rem;color:var(--orange);font-weight:700;margin:12px 0 20px}
.split-image{background-size:cover;background-position:center;position:relative;min-height:400px}
.split-image::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.5) 13%,rgba(255,255,255,0) 38%)}

.four-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}
.feature{padding:28px 24px;border-right:1px solid var(--line);text-align:center}
.feature:last-child{border-right:0}
.feature h3{font-size:1.05rem;margin:14px 0 10px}
.feature p{font-size:.89rem;line-height:1.5}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.check-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.check-list li{padding-left:26px;position:relative;color:var(--body)}
.check-list li::before{content:"✓";position:absolute;left:0;top:1px;color:var(--orange);font-weight:900}
.scenario-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 40px;margin-top:24px}
.scenario-grid div{padding-left:17px;position:relative;color:var(--body)}
.scenario-grid div::before{content:"•";position:absolute;left:0;color:var(--orange);font-size:1.35rem;line-height:1}
.callout{border:1px solid rgba(233,90,45,.48);padding:28px 32px;display:flex;align-items:center;gap:26px;justify-content:space-between}
.callout-copy{display:flex;gap:20px;align-items:center}
.callout h3{font-size:1.2rem;margin-bottom:6px}

.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;max-width:900px;margin:40px auto 0}
.approach-step{text-align:center;padding:0 38px;border-right:1px solid var(--line)}
.approach-step:last-child{border-right:0}
.approach-step h3{font-size:1.08rem;margin:14px 0 8px}
.approach-arrow{color:var(--orange);font-size:2rem;position:absolute}
.insurance-close{text-align:center;max-width:900px;margin:48px auto 0}

.about-features{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.about-feature{text-align:center;padding:34px 25px;border-right:1px solid var(--line)}
.about-feature:last-child{border-right:0}
.about-feature h3{font-size:1.05rem;margin:14px 0 10px}
.about-feature p{font-size:.9rem}
.about-cta{text-align:center;padding-top:36px}

.contact-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:64px;align-items:start}
.contact-copy h1{font-size:clamp(3rem,5vw,4.8rem)}
.contact-copy .page-sub{font-size:1.55rem;color:var(--orange);font-weight:700;margin:14px 0 26px}
.contact-details{display:grid;gap:18px;margin-top:34px}
.contact-details .contact-item{font-size:1.05rem}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-field{display:flex;flex-direction:column;gap:7px}
.form-field.full{grid-column:1/-1}
.form-field label{font-size:.82rem;font-weight:700;color:var(--ink)}
.form-field input,.form-field textarea{width:100%;border:1px solid #d8dadd;background:#fff;padding:14px 15px;min-height:48px;outline:none;transition:.15s}
.form-field textarea{min-height:150px;resize:vertical}
.form-field input:focus,.form-field textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(233,90,45,.1)}
.form-actions{grid-column:1/-1;text-align:center;margin-top:4px}
.contact-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:48px}
.contact-card{border:1px solid var(--line);padding:28px;display:grid;grid-template-columns:70px 1fr;gap:18px;align-items:start}
.contact-card h3{font-size:1.15rem;margin-bottom:10px}

.site-footer{padding:24px 0 28px;background:#fff;color:var(--muted);font-size:.78rem}
.footer-inner{display:flex;justify-content:space-between;gap:24px;align-items:center}

@media (max-width: 1080px){
  .site-nav{gap:16px}.nav-link{font-size:.8rem}.brand{flex-basis:215px}.brand img{width:210px}.header-cta{font-size:.72rem;padding-inline:12px}
}
@media (max-width: 860px){
  .container,.narrow{width:min(100% - 30px,var(--max))}
  .site-header{height:70px}.header-inner{width:calc(100% - 26px)}.brand{flex-basis:auto}.brand img{width:192px}
  .mobile-toggle{display:block}.site-nav{display:none;position:absolute;left:0;right:0;top:70px;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 18px 18px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 12px 26px rgba(0,0,0,.08)}
  .site-nav.open{display:flex}.nav-link{padding:13px 6px;border-bottom:1px solid var(--line);font-size:.92rem}.header-cta{display:none}
  .hero-grid{position:relative;display:block;min-height:360px;overflow:hidden}.hero-copy{position:relative;z-index:2;width:72%;padding:40px 18px 34px}.hero-copy .display{font-size:clamp(2.3rem,8.2vw,3.1rem);line-height:1.02}.hero-copy .subline{font-size:.92rem;margin-top:16px}.hero-actions{margin-top:18px;gap:8px}.hero-actions .btn{min-height:40px;padding:0 14px;font-size:.76rem}.hero-media{position:absolute;right:0;top:0;bottom:0;width:56%;min-height:0;background-position:center}.hero-media::before{background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.95) 15%,rgba(255,255,255,.52) 43%,rgba(255,255,255,0) 68%)}
  .section{padding:42px 0}.section-sm{padding:30px 0}.section-head{display:block;margin-bottom:24px}.section-head p{margin-top:12px}
  .home-cards{grid-template-columns:1fr;border:1px solid var(--line)}.home-card{text-align:left;display:grid;grid-template-columns:48px 1fr auto;gap:14px;padding:16px 18px;border-right:0;border-bottom:1px solid var(--line);align-items:center}.home-card:last-child{border-bottom:0}.home-card .icon{grid-row:1/3}.home-card h3{margin:0;font-size:1rem}.home-card p{min-height:0;margin:0;font-size:.84rem}.home-card .btn-link{grid-column:3;grid-row:1/3;font-size:0}.home-card .btn-link::after{font-size:1.1rem}
  .cyber-summary{grid-template-columns:54px 1fr;padding:22px 18px;gap:14px}.cyber-summary .summary-points{grid-column:1/-1}.cyber-summary .btn{grid-column:1/-1;width:100%;margin-top:8px}.cyber-summary h2{font-size:1.55rem}.cyber-summary p{font-size:.9rem}
  .contact-strip{gap:28px;padding:18px 0;flex-wrap:wrap}.contact-item{font-size:.86rem}.mini-benefits{grid-template-columns:1fr 1fr}.mini-benefit:nth-child(2){border-right:0}.mini-benefit{padding:18px 16px}.mini-benefit strong{font-size:.82rem}
  .page-hero{padding:42px 0}.page-hero h1{font-size:2.55rem}.page-hero .page-sub{font-size:1.1rem}
  .method-steps{grid-template-columns:1fr;gap:18px}.method-step{display:grid;grid-template-columns:76px 1fr;text-align:left;gap:18px;padding:0;align-items:center}.method-step:not(:last-child)::after{left:37px;right:auto;top:70px;width:1.5px;height:28px}.step-circle{margin:0}.method-step p{margin-bottom:0}.method-close{justify-content:flex-start;font-size:1.15rem;padding:28px 0;margin-top:32px}
  .split-hero{position:relative;display:block;min-height:390px;overflow:hidden}.split-copy{position:relative;z-index:2;width:72%;padding:38px 18px 34px}.split-copy h1{font-size:2.55rem;line-height:1}.split-copy .page-sub{font-size:1rem}.split-copy p{font-size:.9rem}.split-image{position:absolute;right:0;top:0;bottom:0;width:58%;min-height:0}.split-image::before{background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.95) 16%,rgba(255,255,255,.45) 50%,rgba(255,255,255,0) 72%)}
  .four-grid{grid-template-columns:1fr}.feature{display:grid;grid-template-columns:52px 1fr;text-align:left;gap:12px;border-right:0;border-bottom:1px solid var(--line);padding:16px}.feature:last-child{border-bottom:0}.feature .icon{grid-row:1/3}.feature h3{margin:0}.feature p{margin:0;font-size:.82rem}
  .two-col{grid-template-columns:1fr;gap:28px}.scenario-grid{grid-template-columns:1fr}.callout{display:block}.callout .btn{width:100%;margin-top:18px}.callout-copy{align-items:flex-start}
  .approach-grid{grid-template-columns:1fr 1fr 1fr}.approach-step{padding:0 12px}.approach-step h3{font-size:.9rem}.approach-step p{font-size:.82rem}
  .about-features{grid-template-columns:1fr 1fr}.about-feature:nth-child(2){border-right:0}.about-feature{padding:24px 16px}.about-feature h3{font-size:.9rem}.about-feature p{font-size:.82rem}
  .contact-layout{grid-template-columns:1fr;gap:30px}.contact-copy h1{font-size:2.7rem}.contact-copy .page-sub{font-size:1.15rem}.contact-cards{grid-template-columns:1fr}.contact-card{grid-template-columns:54px 1fr}.form-grid{grid-template-columns:1fr}.form-field.full,.form-actions{grid-column:auto}.footer-inner{display:block;text-align:center}.footer-inner span{display:block;margin-top:6px}
}
@media (max-width:520px){
  .hero-copy{width:78%}.hero-media{width:53%}.hero-copy .display{font-size:2.18rem}.hero-copy .subline{max-width:250px}.hero-actions{display:grid}.hero-actions .btn{width:100%}
  .mini-benefits{grid-template-columns:1fr}.mini-benefit{border-right:0;border-bottom:1px solid var(--line)}.mini-benefit:last-child{border-bottom:0}
  .split-copy{width:76%}.split-image{width:55%}
  .approach-grid{grid-template-columns:1fr;gap:22px}.approach-step{border-right:0;border-bottom:1px solid var(--line);padding:0 0 22px}.approach-step:last-child{border-bottom:0}
  .about-features{grid-template-columns:1fr}.about-feature{border-right:0;border-bottom:1px solid var(--line)}.about-feature:last-child{border-bottom:0}
  .contact-strip{justify-content:flex-start}.contact-card{padding:22px 18px}
}

/* v2 production refinements: wider desktop canvas, clearer hero proportions */
html,body{max-width:100%;overflow-x:hidden}
:root{--max:1360px}

@media (min-width:861px){
  .container{width:min(var(--max),calc(100% - 64px))}
  .narrow{width:min(980px,calc(100% - 64px))}

  .site-header{height:88px}
  .header-inner{width:min(1440px,calc(100% - 56px));gap:24px}
  .brand{flex:0 0 270px}
  .brand img{width:255px}
  .site-nav{gap:28px}
  .nav-link{font-size:.93rem;letter-spacing:.005em}
  .header-cta{margin-left:10px;min-height:44px;padding-inline:18px;font-size:.8rem}

  .hero-grid{grid-template-columns:51% 49%;min-height:500px}
  .hero-copy{padding:58px 46px 58px max(40px,calc((100vw - var(--max))/2))}
  .hero-copy .display{font-size:clamp(3.05rem,3.55vw,3.62rem);line-height:1.01;max-width:760px}
  .hero-copy .display .orange{white-space:nowrap}
  .hero-copy .subline{font-size:1.18rem;margin-top:28px;line-height:1.55}
  .hero-actions{margin-top:28px;gap:14px}
  .hero-media{min-height:500px}
  .hero-home{background-position:center 48%}

  .section{padding:76px 0}
  .section-sm{padding:48px 0}
  .home-card{padding:34px 34px 32px}
  .home-card h3{font-size:1.12rem}
  .home-card p{font-size:.96rem;line-height:1.5}
  .cyber-summary{padding:38px 40px;grid-template-columns:94px 1.22fr .9fr;gap:32px}
  .cyber-summary h2{font-size:2.15rem}
  .contact-strip{padding:24px 0;gap:110px}
  .mini-benefit{padding:26px 24px}

  .split-hero{grid-template-columns:52% 48%;min-height:440px}
  .split-copy{padding:60px 52px 60px max(40px,calc((100vw - var(--max))/2))}
  .split-copy h1{font-size:clamp(2.85rem,3.25vw,3.58rem);line-height:1;max-width:760px}
  .split-copy .page-sub{font-size:1.18rem;line-height:1.4;margin:15px 0 22px}
  .split-copy p{font-size:1.02rem;line-height:1.65;max-width:700px}
  .split-image{min-height:440px}
  .split-image.hero-cyber{background-position:center 48%}
  .split-image.hero-insurance{background-position:center 52%}
  .split-image.hero-about{background-position:center 50%}
  .split-image.hero-method{background-position:center 46%}

  .four-grid{border-left:1px solid var(--line);border-right:1px solid var(--line)}
  .feature{padding:34px 30px}
  .feature p{font-size:.94rem}
  .two-col{gap:72px}
  .approach-grid{max-width:1060px;margin-top:46px}
  .approach-step{padding:0 52px}
  .about-feature{padding:38px 30px}
  .contact-layout{grid-template-columns:.8fr 1.2fr;gap:84px}
  .contact-cards{gap:24px;margin-top:56px}

  .site-footer{padding:28px 0 32px}
}

@media (min-width:1500px){
  :root{--max:1400px}
  .header-inner{width:min(1480px,calc(100% - 64px))}
}

@media (max-width:860px){
  .split-image.hero-cyber{background-position:66% center}
  .split-image.hero-insurance{background-position:60% center}
  .split-image.hero-about{background-position:62% center}
  .split-image.hero-method{background-position:58% center}
}

/* v3 header lock: exact supplied logo + truly centered desktop navigation */
@media (min-width: 861px){
  .header-inner{
    width:min(1500px,calc(100% - 56px));
    display:grid;
    grid-template-columns:290px minmax(0,1fr) 210px;
    align-items:center;
    gap:22px;
  }
  .brand{
    width:290px;
    max-width:290px;
    flex:none;
    justify-self:start;
    overflow:visible;
  }
  .brand img{
    width:268px;
    max-width:100%;
    height:auto;
    object-fit:contain;
    object-position:left center;
  }
  .site-nav{
    width:100%;
    margin:0;
    justify-content:center;
    gap:30px;
    min-width:0;
  }
  .nav-link{font-size:.91rem}
  .header-cta{
    margin:0;
    justify-self:end;
    min-width:190px;
    padding-inline:16px;
  }
}

@media (min-width:861px) and (max-width:1180px){
  .header-inner{
    width:calc(100% - 32px);
    grid-template-columns:220px minmax(0,1fr) 166px;
    gap:12px;
  }
  .brand{width:220px;max-width:220px}
  .brand img{width:201px}
  .site-nav{gap:14px}
  .nav-link{font-size:.78rem}
  .header-cta{min-width:158px;font-size:.72rem;padding-inline:10px}
}

/* Contact remains intentionally image-free and location-free. */
.contact-layout,.contact-cards{position:relative}

/* v4: restored Foundry Method visual hero */
.method-process-section{padding-top:46px;padding-bottom:0}
.method-process-section .method-steps{margin-top:0}


/* v5: Foundry Method composition refinement only.
   Move the clarity statement into the hero and reduce unused vertical space. */
.method-hero .split-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.method-hero-close{
  display:flex;
  align-items:center;
  gap:18px;
  max-width:620px;
  margin-top:26px;
  padding-top:22px;
  border-top:1px solid var(--line);
  color:var(--ink);
  font-size:1.04rem;
  line-height:1.4;
}
.method-hero-close .icon{
  width:44px;
  height:44px;
  color:var(--orange);
}
.method-hero-close strong{
  display:block;
  color:var(--ink);
  font-weight:700;
}
.method-hero-close span{
  display:block;
  color:var(--body);
  margin-top:2px;
}
.method-process-section{
  padding-top:38px;
}

@media (min-width:861px){
  .method-hero,
  .method-hero .split-image{
    min-height:405px;
  }
}

@media (max-width:860px){
  .method-hero{
    min-height:450px;
  }
  .method-hero-close{
    gap:12px;
    max-width:100%;
    margin-top:18px;
    padding-top:15px;
    font-size:.88rem;
    line-height:1.35;
  }
  .method-hero-close .icon{
    width:34px;
    height:34px;
  }
  .method-process-section{
    padding-top:30px;
  }
}

/* v6 desktop typography polish only.
   Mobile rules remain untouched and will be refined separately against the locked mobile mockups. */
@media (min-width:861px){
  /* Readability and rhythm */
  .lead,
  .split-copy p,
  .cyber-summary p,
  .section-head p,
  .method-step p,
  .contact-copy p,
  .contact-card p,
  .insurance-close p,
  .check-list li,
  .scenario-grid div{
    font-size:1.075rem;
    line-height:1.62;
  }

  /* Homepage supporting copy */
  .hero-copy .subline{
    font-size:1.22rem;
    line-height:1.58;
  }
  .home-card p{
    font-size:1rem;
    line-height:1.55;
  }
  .home-card h3{
    font-size:1.12rem;
  }
  .mini-benefit strong{
    font-size:.98rem;
  }
  .mini-benefit span{
    font-size:.88rem;
    line-height:1.45;
  }

  /* Interior page hierarchy */
  .split-copy .page-sub{
    font-size:1.22rem;
    line-height:1.45;
  }
  .feature h3,
  .about-feature h3,
  .approach-step h3{
    font-size:1.08rem;
  }
  .feature p,
  .about-feature p,
  .approach-step p{
    font-size:.98rem;
    line-height:1.58;
  }
  .step-title{
    font-size:1.12rem;
  }

  /* Foundry Method clarity statement */
  .method-hero-close{
    font-size:1rem;
    line-height:1.45;
  }
  .method-hero-close strong{
    font-size:1.28rem;
    line-height:1.25;
    letter-spacing:-.01em;
  }
  .method-hero-close span{
    font-size:1.06rem;
    line-height:1.4;
    margin-top:4px;
  }

  /* Contact page: strong but not oversized */
  .contact-copy h1{
    font-size:clamp(3.25rem,3.8vw,3.75rem);
    line-height:1;
  }
  .contact-copy .page-sub{
    font-size:1.4rem;
    line-height:1.35;
  }
  .contact-details .contact-item{
    font-size:1.075rem;
  }
  .form-field label{
    font-size:.95rem;
  }
  .form-field input,
  .form-field textarea{
    font-size:1rem;
    line-height:1.5;
  }
  .contact-card h3{
    font-size:1.18rem;
  }

  /* Buttons */
  .btn{
    font-size:.9rem;
    letter-spacing:.012em;
  }
  .btn-link{
    font-size:1rem;
  }
}

@media (min-width:1181px){
  /* Slightly stronger desktop navigation without crowding medium widths */
  .nav-link{
    font-size:.95rem;
    font-weight:700;
    letter-spacing:.008em;
  }
  .header-cta{
    font-size:.84rem;
  }
}

/* v7 desktop geometry polish only.
   Slightly narrower professional-services reading width while retaining full-width backgrounds and imagery.
   Mobile rules remain unchanged for the separate mobile refinement pass. */
@media (min-width:861px){
  :root{--max:1200px}

  /* Primary page content: centered and intentionally constrained. */
  .container{
    width:min(1200px,calc(100% - 72px));
  }

  /* Keep the homepage hero a touch more expansive, while moving text inward on large screens. */
  .hero-copy{
    padding-left:max(44px,calc((100vw - 1240px)/2));
    padding-right:48px;
  }
  .hero-copy .display{max-width:700px}
  .hero-copy .subline{max-width:600px}

  /* Interior hero copy follows the tighter 1200px content geometry. */
  .split-copy{
    padding-left:max(44px,calc((100vw - 1200px)/2));
    padding-right:50px;
  }
  .split-copy h1{max-width:700px}
  .split-copy p{max-width:720px}

  /* Comfortable reading measures for longer copy. */
  .lead{max-width:740px}
  .section-head > div:first-child{max-width:780px}
  .section-head > p{max-width:440px}
  .two-col{
    max-width:1120px;
    margin-inline:auto;
    gap:64px;
  }
  .insurance-close{max-width:780px}

  /* Keep feature rows centered rather than visually spanning the entire monitor. */
  .four-grid,
  .about-features,
  .home-cards,
  .cyber-summary,
  .mini-benefits{
    max-width:1200px;
    margin-inline:auto;
  }

  /* Contact should feel focused, not stretched. */
  .contact-layout,
  .contact-cards{
    max-width:1120px;
    margin-left:auto;
    margin-right:auto;
  }

  /* Footer follows the same centered content geometry. */
  .footer-inner{max-width:1200px}
}


/* v8 desktop finish: intentional Foundry Method closing CTA + polished site-wide footer. */
.method-final-cta{
  border-top:1px solid var(--line);
  background:#fff;
  padding:42px 0 44px;
}
.method-final-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:48px;
  max-width:1000px;
}
.method-final-inner h2{
  margin:0 0 8px;
  font-size:clamp(2rem,2.35vw,2.55rem);
  line-height:1.05;
  color:var(--ink);
}
.method-final-inner p{
  margin:0;
  color:var(--body);
  font-size:1.08rem;
  line-height:1.55;
}
.method-final-inner .btn{
  flex:0 0 auto;
  min-width:205px;
  text-align:center;
}

.site-footer{
  padding:0;
  background:#fff;
  color:var(--body);
  border-top:1px solid var(--line);
  font-size:.88rem;
}
.footer-shell{
  max-width:1200px;
}
.footer-main{
  min-height:112px;
  display:grid;
  grid-template-columns:230px minmax(0,1fr) 250px;
  align-items:center;
  gap:34px;
  padding:24px 0 22px;
}
.footer-brand{
  display:inline-flex;
  width:210px;
  max-width:100%;
}
.footer-brand img{
  display:block;
  width:100%;
  height:auto;
}
.footer-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px 22px;
  text-align:center;
}
.footer-nav a{
  color:var(--ink);
  text-decoration:none;
  font-weight:700;
  font-size:.88rem;
  white-space:nowrap;
}
.footer-nav a:hover,
.footer-nav a:focus-visible{
  color:var(--orange);
}
.footer-contact{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:7px;
  text-align:right;
}
.footer-contact a{
  color:var(--body);
  text-decoration:none;
  font-size:.9rem;
  line-height:1.35;
}
.footer-contact a:hover,
.footer-contact a:focus-visible{
  color:var(--orange);
}

.footer-social{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  margin-top:5px;
}
.footer-social-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  color:var(--ink);
  text-decoration:none;
  transition:color .18s ease, transform .18s ease;
}
.footer-social-link svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.footer-social-link svg .fill-dot{
  fill:currentColor;
  stroke:none;
}
.footer-social-link[href*="facebook"] svg{
  fill:currentColor;
  stroke:none;
}
.footer-social-link:hover,
.footer-social-link:focus-visible{
  color:var(--orange);
  transform:translateY(-1px);
}
.footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:17px 0 20px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:.76rem;
  line-height:1.45;
}
.footer-bottom span:last-child{
  text-align:right;
}

@media (min-width:861px) and (max-width:1180px){
  .footer-main{
    grid-template-columns:205px minmax(0,1fr) 220px;
    gap:22px;
  }
  .footer-brand{width:190px}
  .footer-nav{gap:9px 14px}
  .footer-nav a{font-size:.8rem}
  .footer-contact a{font-size:.82rem}
}

@media (max-width:860px){
  .method-final-cta{
    padding:32px 0 34px;
  }
  .method-final-inner{
    display:block;
    text-align:center;
  }
  .method-final-inner h2{
    font-size:1.8rem;
  }
  .method-final-inner p{
    font-size:1rem;
  }
  .method-final-inner .btn{
    margin-top:20px;
    width:100%;
    max-width:320px;
  }
  .footer-main{
    min-height:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:22px;
    padding:30px 0 26px;
  }
  .footer-brand{width:190px}
  .footer-nav{
    gap:10px 18px;
  }
  .footer-nav a{
    font-size:.85rem;
  }
  .footer-contact{
    align-items:center;
    text-align:center;
  }
  .footer-social{justify-content:center;margin-top:6px}
  .footer-contact a{
    font-size:.9rem;
  }
  .footer-bottom{
    display:block;
    padding:17px 0 22px;
    text-align:center;
    font-size:.72rem;
  }
  .footer-bottom span{
    display:block;
    margin:0;
  }
  .footer-bottom span + span{
    margin-top:7px;
  }
  .footer-bottom span:last-child{
    text-align:center;
  }
}


/* v11 MOBILE PRODUCTION PASS
   Source of truth: locked mobile mockups. Desktop V10 rules remain unchanged. */
.mobile-only{display:none}

@media (max-width:640px){
  :root{--mobile-pad:14px}
  body{font-size:15px;line-height:1.45}
  .container,.narrow{width:calc(100% - 28px);margin-inline:auto}

  /* Mobile header */
  .site-header{height:62px;position:relative}
  .header-inner{height:62px;width:calc(100% - 24px);gap:8px}
  .brand{flex:0 1 auto;max-width:176px}
  .brand img{width:168px;max-width:100%}
  .mobile-toggle{display:block;width:38px;height:38px;padding:6px;margin-left:auto}
  .mobile-toggle span{height:2px;margin:5px 0}
  .site-nav{top:62px;padding:6px 14px 12px;box-shadow:0 12px 26px rgba(0,0,0,.10)}
  .nav-link{padding:12px 4px;font-size:.9rem}
  .header-cta{display:none}

  /* Home: compact split visual from locked mobile design */
  .page-home .hero-grid{min-height:292px}
  .page-home .hero-copy{width:69%;padding:18px 14px 16px;justify-content:center}
  .page-home .hero-copy .eyebrow{display:none}
  .page-home .hero-copy .display{font-size:1.83rem;line-height:1.02;letter-spacing:-.025em}
  .page-home .hero-copy .display .orange{white-space:normal}
  .page-home .hero-copy .subline{font-size:.79rem;line-height:1.45;margin-top:12px;max-width:225px}
  .page-home .hero-actions{display:grid;gap:7px;margin-top:13px;max-width:218px}
  .page-home .hero-actions .btn{width:100%;min-height:36px;padding:0 10px;font-size:.68rem}
  .page-home .hero-media{width:52%;background-position:56% center}
  .page-home .hero-media::before{background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.97) 18%,rgba(255,255,255,.56) 46%,rgba(255,255,255,0) 72%)}
  .page-home .section-sm{padding:10px 0}
  .page-home .home-cards{border:1px solid var(--line);border-radius:3px;overflow:hidden}
  .page-home .home-card{grid-template-columns:42px 1fr 18px;gap:10px;padding:10px 12px;min-height:58px}
  .page-home .home-card .icon{width:30px;height:30px}
  .page-home .home-card h3{font-size:.76rem;line-height:1.1;margin:0 0 3px}
  .page-home .home-card p{font-size:.68rem;line-height:1.35}
  .page-home .home-card .btn-link::after{font-size:.95rem}
  .page-home .section{padding:8px 0 0;border-bottom:0}
  .page-home .cyber-summary{grid-template-columns:44px 1fr;gap:9px;padding:12px;border-radius:3px}
  .page-home .cyber-summary .icon{width:38px;height:38px}
  .page-home .cyber-summary h2{font-size:1rem;line-height:1.08;margin:0 0 4px}
  .page-home .cyber-summary p{font-size:.68rem;line-height:1.38;margin-bottom:7px}
  .page-home .cyber-summary .summary-points{display:none}
  .page-home .cyber-summary .btn{grid-column:1/-1;width:auto;justify-self:center;margin-top:3px;min-height:34px;padding:0 14px;font-size:.64rem}
  .page-home .contact-strip{width:calc(100% - 28px);padding:12px 0;gap:10px;justify-content:space-between;flex-wrap:nowrap}
  .page-home .contact-item{font-size:.66rem;gap:6px;white-space:nowrap}
  .page-home .contact-item .icon{width:17px;height:17px}
  .page-home .mini-benefits{display:none}

  /* Shared mobile split heroes */
  .page-cyber .split-hero,
  .page-insurance .split-hero,
  .page-about .split-hero{min-height:300px}
  .page-cyber .split-copy,
  .page-insurance .split-copy,
  .page-about .split-copy{width:67%;padding:18px 14px 16px}
  .page-cyber .split-copy h1,
  .page-insurance .split-copy h1,
  .page-about .split-copy h1{font-size:1.72rem;line-height:1.02;letter-spacing:-.02em}
  .page-cyber .split-copy .page-sub,
  .page-insurance .split-copy .page-sub,
  .page-about .split-copy .page-sub{font-size:.79rem;line-height:1.32;margin:8px 0 10px}
  .page-cyber .split-copy p,
  .page-insurance .split-copy p,
  .page-about .split-copy p{font-size:.69rem;line-height:1.42;margin-bottom:8px}
  .page-cyber .split-copy .btn{min-height:34px;padding:0 10px;font-size:.61rem;margin-top:1px}
  .page-cyber .split-image,
  .page-insurance .split-image,
  .page-about .split-image{width:51%}
  .page-cyber .split-image::before,
  .page-insurance .split-image::before,
  .page-about .split-image::before{background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.96) 18%,rgba(255,255,255,.44) 50%,rgba(255,255,255,0) 76%)}
  .page-cyber .split-image.hero-cyber{background-position:68% center}
  .page-insurance .split-image.hero-insurance{background-position:58% center}
  .page-about .split-image.hero-about{background-position:59% center}

  /* Foundry Method: locked mobile composition is text + vertical process; hero image stays desktop-only. */
  .mobile-only{display:flex}
  .page-method .method-hero{display:block;min-height:0;border-bottom:0}
  .page-method .method-hero .split-copy{position:static;width:100%;padding:18px 18px 8px}
  .page-method .method-hero .split-image{display:none}
  .page-method .method-hero h1{font-size:1.85rem;line-height:1.02}
  .page-method .method-hero .page-sub{font-size:.82rem;margin:8px 0 12px}
  .page-method .method-hero .split-copy > p:not(.page-sub){font-size:.75rem;line-height:1.5;margin:0}
  .page-method .method-hero-close{display:none}
  .page-method .method-process-section{padding:8px 0 10px;border-bottom:0}
  .page-method .method-steps{counter-reset:methodstep;display:grid;grid-template-columns:1fr;gap:10px;margin:0}
  .page-method .method-step{counter-increment:methodstep;grid-template-columns:62px 1fr;gap:12px;min-height:66px;align-items:center}
  .page-method .method-step:not(:last-child)::after{left:30px;top:58px;height:20px;width:1.5px}
  .page-method .step-circle{width:58px;height:58px;margin:0;box-shadow:0 4px 14px rgba(17,19,23,.05)}
  .page-method .step-circle .icon{width:34px;height:34px}
  .page-method .step-title{font-size:.88rem;line-height:1.1;margin-bottom:4px}
  .page-method .step-title::before{content:counter(methodstep) ". ";}
  .page-method .method-step p{font-size:.7rem;line-height:1.38;margin:0}
  .page-method .method-mobile-close{align-items:center;gap:12px;margin-top:12px;padding:12px 14px;border:1px solid var(--line);border-radius:3px;background:#fff}
  .page-method .method-mobile-close .icon{width:36px;height:36px;color:var(--ink)}
  .page-method .method-mobile-close strong{display:block;font-size:.77rem;line-height:1.25}
  .page-method .method-mobile-close span{display:block;color:var(--body);font-size:.73rem;line-height:1.25;margin-top:2px}
  .page-method .method-final-cta{display:none}

  /* Cyber: locked phone top shows cards immediately after the hero. */
  .page-cyber .split-hero{min-height:310px}
  .page-cyber .split-copy{width:68%;padding-top:16px}
  .page-cyber .split-copy h1{font-size:1.65rem}
  .page-cyber .split-copy p{font-size:.66rem}
  .page-cyber .split-copy .page-sub{font-size:.76rem}
  .page-cyber .split-copy .btn{font-size:.57rem;padding-inline:8px}
  .page-cyber .split-hero + .section{padding:8px 0 4px}
  .page-cyber .split-hero + .section .section-head{display:none}
  .page-cyber .four-grid{border:1px solid var(--line);border-radius:3px;overflow:hidden}
  .page-cyber .feature{grid-template-columns:40px 1fr;gap:8px;padding:9px 10px}
  .page-cyber .feature .icon{width:30px;height:30px}
  .page-cyber .feature h3{font-size:.7rem;line-height:1.1}
  .page-cyber .feature p{font-size:.61rem;line-height:1.32}
  .page-cyber .section{padding:14px 0}
  .page-cyber .section-sm{padding:14px 0}
  .page-cyber .two-col{gap:10px}
  .page-cyber h2{font-size:1.35rem;line-height:1.05}
  .page-cyber .eyebrow{font-size:.63rem;margin-bottom:4px}
  .page-cyber .two-col p,
  .page-cyber .check-list li,
  .page-cyber .scenario-grid div,
  .page-cyber .lead{font-size:.7rem;line-height:1.42}
  .page-cyber .check-list{gap:6px}
  .page-cyber .scenario-grid{gap:6px}
  .page-cyber .callout{padding:14px;gap:8px}
  .page-cyber .callout-copy{gap:10px}
  .page-cyber .callout-copy .icon{width:40px;height:40px}
  .page-cyber .callout h3{font-size:.83rem}
  .page-cyber .callout p{font-size:.68rem}
  .page-cyber .callout .btn{min-height:36px;font-size:.62rem;margin-top:10px}

  /* Insurance: retain the locked three-column process even on phone. */
  .page-insurance .split-hero{min-height:265px}
  .page-insurance .split-copy{width:66%}
  .page-insurance .split-copy h1{font-size:1.62rem}
  .page-insurance .split-copy p{font-size:.65rem;line-height:1.38}
  .page-insurance .section{padding:16px 0 20px}
  .page-insurance .page-hero.center{padding:0;border:0}
  .page-insurance .page-hero.center h2{font-size:1.15rem;margin-bottom:10px}
  .page-insurance .approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:8px auto 0;max-width:100%}
  .page-insurance .approach-step{position:relative;border-right:0;border-bottom:0;padding:0 7px 0}
  .page-insurance .approach-step:not(:last-child)::after{content:"→";position:absolute;right:-7px;top:17px;color:var(--orange);font-size:1.05rem;font-weight:700}
  .page-insurance .approach-step .icon{width:35px;height:35px}
  .page-insurance .approach-step h3{font-size:.67rem;margin:6px 0 5px}
  .page-insurance .approach-step p{font-size:.62rem;line-height:1.35;margin:0}
  .page-insurance .insurance-close{margin:18px auto 0;max-width:94%}
  .page-insurance .insurance-close p{font-size:.68rem;line-height:1.4;margin-bottom:10px}
  .page-insurance .insurance-close .btn{min-height:36px;font-size:.67rem;padding-inline:18px}

  /* About: preserve the locked compact four-pillar row. */
  .page-about .split-hero{min-height:300px}
  .page-about .split-copy{width:68%;padding-top:16px}
  .page-about .split-copy h1{font-size:1.55rem}
  .page-about .split-copy p{font-size:.63rem;line-height:1.36;margin-bottom:6px}
  .page-about .section{padding:14px 0 18px}
  .page-about .about-features{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:0}
  .page-about .about-feature{padding:10px 5px;border-right:1px solid var(--line);border-bottom:0}
  .page-about .about-feature:last-child{border-right:0}
  .page-about .about-feature .icon{width:32px;height:32px}
  .page-about .about-feature h3{font-size:.61rem;margin:6px 0 4px}
  .page-about .about-feature p{font-size:.56rem;line-height:1.32;margin:0}
  .page-about .about-cta{padding-top:14px}
  .page-about .about-cta .btn{min-height:36px;font-size:.66rem;padding-inline:18px}

  /* Contact: compact two-column phone layout from locked mockup. */
  .page-contact .section{padding:18px 0 20px}
  .page-contact .contact-layout{display:grid;grid-template-columns:42% 58%;gap:10px;align-items:start}
  .page-contact .contact-copy h1{font-size:1.72rem;line-height:1}
  .page-contact .contact-copy .page-sub{font-size:.78rem;line-height:1.25;margin:7px 0 10px}
  .page-contact .contact-copy p{font-size:.64rem;line-height:1.38;margin-bottom:8px}
  .page-contact .contact-details{gap:8px;margin-top:12px}
  .page-contact .contact-details .contact-item{font-size:.61rem;gap:6px;line-height:1.2}
  .page-contact .contact-details .icon{width:17px;height:17px}
  .page-contact .form-grid{grid-template-columns:1fr 1fr;gap:6px}
  .page-contact .form-field{gap:3px}
  .page-contact .form-field.full{grid-column:1/-1}
  .page-contact .form-field label{font-size:.57rem;line-height:1.1}
  .page-contact .form-field input,
  .page-contact .form-field textarea{padding:7px 8px;min-height:34px;font-size:.67rem}
  .page-contact .form-field textarea{min-height:88px}
  .page-contact .form-actions{grid-column:1/-1;margin-top:2px}
  .page-contact .form-actions .btn{min-height:34px;font-size:.63rem;padding:0 14px}
  .page-contact .contact-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:14px}
  .page-contact .contact-card{grid-template-columns:36px 1fr;gap:7px;padding:10px 9px}
  .page-contact .contact-card .icon{width:31px;height:31px}
  .page-contact .contact-card h3{font-size:.66rem;line-height:1.15;margin-bottom:4px}
  .page-contact .contact-card p{font-size:.57rem;line-height:1.35;margin-bottom:6px}
  .page-contact .contact-card .btn-link{font-size:.58rem}

  /* Mobile footer: keep it useful but visually secondary. */
  .site-footer{margin-top:0}
  .footer-main{gap:14px;padding:20px 0 16px}
  .footer-brand{width:155px}
  .footer-nav{gap:7px 12px}
  .footer-nav a{font-size:.67rem}
  .footer-contact{gap:4px}
  .footer-contact a{font-size:.68rem}
  .footer-bottom{font-size:.59rem;line-height:1.35;padding:12px 0 15px}
}

@media (max-width:390px){
  .page-home .hero-copy .display{font-size:1.72rem}
  .page-home .home-card{grid-template-columns:38px 1fr 16px;padding:9px 10px}
  .page-home .contact-item{font-size:.61rem}
  .page-cyber .split-copy h1{font-size:1.55rem}
  .page-cyber .split-copy p{font-size:.62rem}
  .page-insurance .split-copy p{font-size:.61rem}
  .page-about .split-copy p{font-size:.59rem}
  .page-contact .contact-copy p{font-size:.6rem}
  .page-contact .contact-details .contact-item{font-size:.57rem}
}

/* v11.1 mobile QA corrections */
@media (max-width:640px){
  .page-home .hero-media{background-position:30% center}
  .page-home .cyber-summary > div:last-child{grid-column:1/-1}
  .page-home .cyber-summary > div:last-child .summary-points{display:none}
  .page-home .cyber-summary > div:last-child .btn{display:flex;width:100%;max-width:100%;justify-content:center;margin-top:2px;white-space:normal;text-align:center}
}

/* v12 MOBILE-FIRST REFINEMENT
   Readability, hierarchy, mobile stacking, CTA consistency, and quieter footer.
   Desktop remains unchanged. */
@media (max-width:640px){
  :root{--mobile-pad:16px}
  body{font-size:16px;line-height:1.5}
  .container,.narrow{width:calc(100% - 32px)}

  /* Tighter header, while preserving a comfortable 44px tap target. */
  .site-header,.header-inner{height:58px}
  .header-inner{width:calc(100% - 22px)}
  .brand{max-width:164px}
  .brand img{width:158px}
  .mobile-toggle{width:44px;height:44px;padding:8px}
  .mobile-toggle span{margin:5px 0}
  .site-nav{top:58px;padding:8px 16px 14px}
  .nav-link{min-height:44px;display:flex;align-items:center;padding:10px 4px;font-size:.95rem}

  /* Keep interactive targets comfortable across the site. */
  .btn{min-height:44px;padding-inline:16px;font-size:.78rem}
  .btn-link{min-height:44px;align-items:center}

  /* Home remains visually compact, but no longer relies on tiny copy. */
  .page-home .hero-grid{min-height:350px}
  .page-home .hero-copy{width:75%;padding:24px 16px 22px}
  .page-home .hero-copy .display{font-size:2.08rem;line-height:1.02}
  .page-home .hero-copy .subline{font-size:.94rem;line-height:1.45;margin-top:14px;max-width:260px}
  .page-home .hero-actions{gap:9px;margin-top:16px;max-width:250px}
  .page-home .hero-actions .btn{min-height:44px;font-size:.76rem;padding-inline:12px}
  .page-home .hero-media{width:50%;background-position:31% center}
  .page-home .section-sm{padding:14px 0}
  .page-home .home-card{grid-template-columns:46px 1fr 24px;gap:12px;padding:15px 14px;min-height:78px}
  .page-home .home-card .icon{width:34px;height:34px}
  .page-home .home-card h3{font-size:.92rem;line-height:1.15;margin:0 0 4px}
  .page-home .home-card p{font-size:.84rem;line-height:1.4}
  .page-home .home-card .btn-link{min-height:44px}
  .page-home .home-card .btn-link::after{font-size:1.12rem}
  .page-home .section{padding:12px 0 0}
  .page-home .cyber-summary{grid-template-columns:48px 1fr;gap:12px;padding:16px}
  .page-home .cyber-summary .icon{width:40px;height:40px}
  .page-home .cyber-summary h2{font-size:1.28rem}
  .page-home .cyber-summary p{font-size:.91rem;line-height:1.48;margin-bottom:10px}
  .page-home .cyber-summary > div:last-child .btn{min-height:44px;font-size:.74rem}
  .page-home .contact-strip{width:calc(100% - 32px);padding:14px 0;gap:12px;flex-wrap:wrap;justify-content:flex-start}
  .page-home .contact-item{font-size:.88rem;gap:8px;white-space:normal}
  .page-home .contact-item .icon{width:20px;height:20px}

  /* Interior split heroes: preserve the Foundry image treatment while giving copy room to breathe. */
  .page-cyber .split-hero,
  .page-insurance .split-hero,
  .page-about .split-hero{min-height:430px}
  .page-cyber .split-copy,
  .page-insurance .split-copy,
  .page-about .split-copy{width:78%;padding:26px 16px 24px;justify-content:center}
  .page-cyber .split-copy h1,
  .page-insurance .split-copy h1,
  .page-about .split-copy h1{font-size:2rem;line-height:1.02}
  .page-cyber .split-copy .page-sub,
  .page-insurance .split-copy .page-sub,
  .page-about .split-copy .page-sub{font-size:1rem;line-height:1.35;margin:10px 0 14px}
  .page-cyber .split-copy p,
  .page-insurance .split-copy p,
  .page-about .split-copy p{font-size:.91rem;line-height:1.48;margin-bottom:11px}
  .page-cyber .split-copy .btn{min-height:44px;font-size:.72rem;margin-top:5px}
  .page-cyber .split-image,
  .page-insurance .split-image,
  .page-about .split-image{width:47%}

  /* Method copy and process. */
  .page-method .method-hero .split-copy{padding:26px 16px 14px}
  .page-method .method-hero h1{font-size:2rem}
  .page-method .method-hero .page-sub{font-size:1rem;margin:10px 0 14px}
  .page-method .method-hero .split-copy > p:not(.page-sub){font-size:.95rem;line-height:1.5}
  .page-method .method-process-section{padding:10px 0 16px}
  .page-method .method-steps{gap:12px}
  .page-method .method-step{grid-template-columns:68px 1fr;gap:14px;min-height:82px}
  .page-method .method-step:not(:last-child)::after{left:33px;top:66px;height:30px}
  .page-method .step-circle{width:64px;height:64px}
  .page-method .step-circle .icon{width:36px;height:36px}
  .page-method .step-title{font-size:1rem;margin-bottom:5px}
  .page-method .method-step p{font-size:.9rem;line-height:1.45}
  .page-method .method-mobile-close{gap:14px;margin-top:16px;padding:16px}
  .page-method .method-mobile-close .icon{width:40px;height:40px}
  .page-method .method-mobile-close strong{font-size:.95rem}
  .page-method .method-mobile-close span{font-size:.88rem;line-height:1.35;margin-top:3px}

  /* Cyber content: readable cards and supporting sections. */
  .page-cyber .split-hero{min-height:470px}
  .page-cyber .split-copy{width:80%;padding-top:24px}
  .page-cyber .split-copy h1{font-size:1.95rem}
  .page-cyber .split-copy .page-sub{font-size:.98rem}
  .page-cyber .split-copy p{font-size:.88rem;line-height:1.46}
  .page-cyber .split-copy .btn{font-size:.71rem;padding-inline:12px}
  .page-cyber .split-hero + .section{padding:14px 0 8px}
  .page-cyber .feature{grid-template-columns:46px 1fr;gap:12px;padding:14px}
  .page-cyber .feature .icon{width:34px;height:34px}
  .page-cyber .feature h3{font-size:.94rem;line-height:1.15}
  .page-cyber .feature p{font-size:.86rem;line-height:1.42}
  .page-cyber .section,.page-cyber .section-sm{padding:24px 0}
  .page-cyber .two-col{gap:18px}
  .page-cyber h2{font-size:1.65rem}
  .page-cyber .eyebrow{font-size:.78rem;margin-bottom:6px}
  .page-cyber .two-col p,
  .page-cyber .check-list li,
  .page-cyber .scenario-grid div,
  .page-cyber .lead{font-size:.94rem;line-height:1.5}
  .page-cyber .check-list{gap:9px}
  .page-cyber .scenario-grid{gap:9px}
  .page-cyber .callout{padding:18px}
  .page-cyber .callout-copy{gap:12px}
  .page-cyber .callout h3{font-size:1rem}
  .page-cyber .callout p{font-size:.91rem;line-height:1.45}
  .page-cyber .callout .btn{min-height:44px;font-size:.74rem;margin-top:14px}

  /* Insurance: vertical process on phones rather than three compressed columns. */
  .page-insurance .split-hero{min-height:430px}
  .page-insurance .split-copy{width:80%}
  .page-insurance .split-copy h1{font-size:2rem}
  .page-insurance .split-copy p{font-size:.91rem;line-height:1.48}
  .page-insurance .section{padding:26px 0 30px}
  .page-insurance .page-hero.center h2{font-size:1.6rem;margin-bottom:16px}
  .page-insurance .approach-grid{display:grid;grid-template-columns:1fr;gap:0;margin:0 auto;max-width:520px}
  .page-insurance .approach-step{display:grid;grid-template-columns:64px 1fr;text-align:left;gap:16px;align-items:center;min-height:98px;padding:16px 4px;border-bottom:1px solid var(--line);position:relative}
  .page-insurance .approach-step:last-child{border-bottom:0}
  .page-insurance .approach-step:not(:last-child)::after{content:"";position:absolute;left:31px;top:76px;width:1.5px;height:44px;background:var(--orange)}
  .page-insurance .approach-step .icon{width:44px;height:44px;grid-row:1 / span 2;justify-self:center}
  .page-insurance .approach-step h3{font-size:1rem;margin:0 0 3px}
  .page-insurance .approach-step p{font-size:.93rem;line-height:1.42;margin:0}
  .page-insurance .insurance-close{margin:24px auto 0;max-width:100%}
  .page-insurance .insurance-close p{font-size:.94rem;line-height:1.5;margin-bottom:16px}
  .page-insurance .insurance-close .btn{min-height:44px;font-size:.78rem}

  /* About: 2x2 grid instead of four compressed columns. */
  .page-about .split-hero{min-height:450px}
  .page-about .split-copy{width:80%;padding-top:24px}
  .page-about .split-copy h1{font-size:1.9rem}
  .page-about .split-copy p{font-size:.9rem;line-height:1.46;margin-bottom:9px}
  .page-about .section{padding:24px 0 28px}
  .page-about .about-features{grid-template-columns:repeat(2,1fr);border:1px solid var(--line)}
  .page-about .about-feature{padding:20px 14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
  .page-about .about-feature:nth-child(2n){border-right:0}
  .page-about .about-feature:nth-last-child(-n+2){border-bottom:0}
  .page-about .about-feature .icon{width:40px;height:40px}
  .page-about .about-feature h3{font-size:.92rem;margin:10px 0 7px}
  .page-about .about-feature p{font-size:.83rem;line-height:1.42}
  .page-about .about-cta{padding-top:20px}
  .page-about .about-cta .btn{min-height:44px;font-size:.76rem}

  /* Contact: true phone-first flow. Intro, then form, then stacked choices. */
  .page-contact .section{padding:28px 0 30px}
  .page-contact .contact-layout{display:grid;grid-template-columns:1fr;gap:28px}
  .page-contact .contact-copy h1{font-size:2.35rem}
  .page-contact .contact-copy .page-sub{font-size:1.08rem;line-height:1.3;margin:10px 0 14px}
  .page-contact .contact-copy p{font-size:.97rem;line-height:1.5;margin-bottom:10px}
  .page-contact .contact-details{gap:10px;margin-top:18px}
  .page-contact .contact-details .contact-item{font-size:.93rem;gap:9px;line-height:1.35;min-height:44px}
  .page-contact .contact-details .icon{width:22px;height:22px}
  .page-contact .form-grid{grid-template-columns:1fr;gap:14px}
  .page-contact .form-field,.page-contact .form-field.full,.page-contact .form-actions{grid-column:1}
  .page-contact .form-field{gap:6px}
  .page-contact .form-field label{font-size:.9rem;line-height:1.2}
  .page-contact .form-field input,
  .page-contact .form-field textarea{padding:12px 13px;min-height:48px;font-size:1rem}
  .page-contact .form-field textarea{min-height:140px}
  .page-contact .form-actions{text-align:left;margin-top:2px}
  .page-contact .form-actions .btn{min-height:46px;font-size:.8rem;padding-inline:22px}
  .page-contact .contact-cards{grid-template-columns:1fr;gap:12px;margin-top:28px}
  .page-contact .contact-card{grid-template-columns:50px 1fr;gap:12px;padding:18px 16px}
  .page-contact .contact-card .icon{width:40px;height:40px}
  .page-contact .contact-card h3{font-size:1rem;line-height:1.15;margin-bottom:6px}
  .page-contact .contact-card p{font-size:.9rem;line-height:1.45;margin-bottom:4px}
  .page-contact .contact-card .btn-link{font-size:.88rem}

  /* Footer: quieter, easier to scan, no five-link squeeze. */
  .site-footer{margin-top:0}
  .footer-main{gap:18px;padding:24px 0 20px}
  .footer-brand{width:150px}
  .footer-nav{display:grid;grid-template-columns:1fr 1fr;width:100%;max-width:330px;gap:0;text-align:center}
  .footer-nav a{font-size:.81rem;min-height:42px;display:flex;align-items:center;justify-content:center;padding:6px 8px;border-bottom:1px solid var(--line)}
  .footer-nav a:nth-child(odd){border-right:1px solid var(--line)}
  .footer-nav a:last-child{grid-column:1/-1;border-right:0;border-bottom:0}
  .footer-contact{gap:3px}
  .footer-contact a{font-size:.84rem;min-height:36px;display:flex;align-items:center}
  .footer-bottom{font-size:.7rem;line-height:1.45;padding:14px 0 18px}
}

@media (max-width:390px){
  .page-home .hero-copy .display{font-size:1.98rem}
  .page-cyber .split-copy h1{font-size:1.85rem}
  .page-about .split-copy h1{font-size:1.8rem}
}

/* v13 MOBILE HERO CONTRAST POLISH
   Targeted phone-only correction from live iPhone QA: protect copy from image detail
   on Cyber, Insurance, and About while keeping the approved split-image concept. */
@media (max-width:640px){
  .page-cyber .split-image,
  .page-insurance .split-image,
  .page-about .split-image{width:44%}

  .page-cyber .split-image::before,
  .page-insurance .split-image::before,
  .page-about .split-image::before{
    background:linear-gradient(90deg,
      #fff 0%,
      rgba(255,255,255,1) 24%,
      rgba(255,255,255,.99) 42%,
      rgba(255,255,255,.95) 58%,
      rgba(255,255,255,.76) 72%,
      rgba(255,255,255,.38) 86%,
      rgba(255,255,255,0) 100%);
  }

  .page-cyber .split-image.hero-cyber{background-position:78% center}
  .page-insurance .split-image.hero-insurance{background-position:72% center}
  .page-about .split-image.hero-about{background-position:72% center}
}

/* v14 FINAL MOBILE POLISH
   Live iPhone QA follow-up: tighten interior hero endings, streamline the contact form,
   and give the primary Cyber hero CTA more visual weight. Desktop remains unchanged. */
@media (max-width:640px){
  /* Remove excess vertical tail without changing the approved image/gradient treatment. */
  .page-cyber .split-hero{min-height:420px}
  .page-insurance .split-hero{min-height:380px}
  .page-about .split-hero{min-height:400px}

  /* Stronger primary action in the Cyber hero; fills the available copy column up to 310px. */
  .page-cyber .split-copy .btn{
    width:min(100%,310px);
    min-height:46px;
    padding-inline:18px;
    font-size:.76rem;
  }

  /* Keep phone form controls comfortable while reducing unnecessary vertical length. */
  .page-contact .form-grid{gap:10px}
  .page-contact .form-field input{
    min-height:44px;
    padding:9px 12px;
  }
  .page-contact .form-field textarea{
    min-height:118px;
    padding:10px 12px;
  }
}
