
/* =========================================================
   TORE — Service Page
   IT Audit & Assurance — V3
   Single horizontal axis + photography as section intros.
   ========================================================= */

.service-page{background:var(--white);color:var(--black)}
.service-axis{width:min(var(--max),calc(100% - 2 * var(--pad)));margin-left:auto;margin-right:auto}

/* HERO */
.service-hero{background:var(--off);border-bottom:1px solid var(--line);padding:76px 0 88px}
.service-kicker{font:600 9px/1 "Montserrat",sans-serif;letter-spacing:.13em;color:var(--muted);margin-bottom:54px}
.service-kicker span{color:var(--black)}
.service-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:9vw;align-items:end}
.service-hero .eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:26px;color:var(--black)}
.service-hero .eyebrow i{width:28px;height:2px;background:var(--yellow);display:block}
.service-hero h1{margin:0;font:400 clamp(58px,7vw,112px)/.89 "Fugaz One",sans-serif;letter-spacing:-.045em}
.service-hero h1 em{font-style:normal;color:#777}
.service-hero h1 b{color:var(--yellow)}
.service-copy{padding-bottom:4px}
.service-lead{margin:0 0 22px;font:400 19px/1.58 "Montserrat",sans-serif}
.service-lead strong{font-weight:600}
.service-copy>p:not(.service-lead){margin:0 0 30px;max-width:510px;font:400 13px/1.8 "Montserrat",sans-serif;color:#666}

/* SHARED SECTION TYPOGRAPHY */
.service-section{padding:92px 0}
.service-section h2,.service-head h2,.next h2,.service-cta h2{margin:0;font:400 clamp(42px,5vw,72px)/.94 "Fugaz One",sans-serif;letter-spacing:-.04em}
.service-section h2 span,.service-head h2 span,.next h2 span,.service-cta h2 span{color:#777}

/* INTRO + CAPABILITIES */
.service-capabilities{background:var(--white)}
.statement-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);gap:9vw;align-items:start;margin-top:30px}
.statement-grid p{margin:0 0 22px;font:400 13px/1.85 "Montserrat",sans-serif;color:#666}
.statement-grid .statement-lead{font-size:17px;line-height:1.72;color:var(--black)}
.capabilities-head{display:flex;justify-content:space-between;align-items:end;gap:60px;margin:86px 0 46px}
.capabilities-head .section-label{margin-bottom:27px}
.capabilities-head>p{width:min(100%,390px);margin:0 0 2px;font:400 12px/1.8 "Montserrat",sans-serif;color:#666}
.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.cap-grid article{min-height:230px;padding:29px 30px;background:var(--white);border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .18s ease,transform .18s ease}
.cap-grid article:hover{background:var(--yellow);transform:translateY(-3px)}
.cap-grid small{font:600 9px/1 "Montserrat",sans-serif;color:#999;letter-spacing:.12em}
.cap-grid h3{margin:44px 0 14px;font:600 19px/1.18 "Montserrat",sans-serif}
.cap-grid p{margin:0;font:400 11px/1.7 "Montserrat",sans-serif;color:#666}

/* PHOTOGRAPHY AS INTRO — NOT A STANDALONE CONTENT SECTION */
.service-image{position:relative;width:100%;overflow:hidden}
.service-image:after{content:"";position:absolute;inset:0;pointer-events:none}
.service-image-method{
  min-height:clamp(390px,36vw,560px);
  background:
    linear-gradient(90deg,rgba(17,17,17,.78) 0%,rgba(17,17,17,.35) 40%,rgba(17,17,17,.08) 76%),
    url("https://images.unsplash.com/photo-1558494949-ef010cbdcc31?auto=format&fit=crop&w=2400&q=85") center/cover no-repeat;
}
.service-image-deliverables{
  min-height:clamp(350px,31vw,500px);
  background:
    linear-gradient(90deg,rgba(17,17,17,.10) 0%,rgba(17,17,17,.28) 42%,rgba(17,17,17,.72) 100%),
    url("https://images.unsplash.com/photo-1518770660439-4636190af475?auto=format&fit=crop&w=2400&q=85") center/cover no-repeat;
}
.image-overlay{position:relative;z-index:1;min-height:inherit;display:flex;flex-direction:column;justify-content:flex-end;padding-top:55px;padding-bottom:52px;color:#fff}
.image-overlay span{font:700 8px/1 "Montserrat",sans-serif;letter-spacing:.20em;margin-bottom:22px}
.image-overlay strong{font:400 clamp(45px,5.5vw,82px)/.87 "Fugaz One",sans-serif;letter-spacing:-.045em}
.image-overlay p{max-width:450px;margin:24px 0 0;font:400 12px/1.65 "Montserrat",sans-serif;color:#ddd}
.image-overlay-right{align-items:flex-end;text-align:right}
.image-overlay-right p{max-width:390px}

/* METHOD */
.service-method{padding:105px 0 112px;background:var(--black);color:#fff}
.service-method>.service-axis>.section-label{color:#aaa}
.method-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:11vw;margin-top:52px}
.service-method h2{margin:0;font:400 clamp(58px,6.5vw,96px)/.84 "Fugaz One",sans-serif;letter-spacing:-.055em}
.service-method h2 mark{background:none;color:var(--yellow)}
.steps{border-top:1px solid #444}
.steps>div{display:grid;grid-template-columns:52px 180px 1fr;gap:18px;align-items:start;padding:25px 0;border-bottom:1px solid #333}
.steps b{font:500 11px/1.3 "Montserrat",sans-serif;color:var(--yellow)}
.steps strong{font:600 12px/1.25 "Montserrat",sans-serif;letter-spacing:.08em}
.steps span{font:400 11px/1.65 "Montserrat",sans-serif;color:#aaa}

/* DELIVERABLES + FRAMEWORKS */
.service-deliverables{background:var(--white)}
.service-head{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:48px}
.service-head .section-label{margin-bottom:27px}
.service-head>p{width:min(100%,390px);margin:0 0 2px;font:400 12px/1.8 "Montserrat",sans-serif;color:#666}
.deliverables{border-top:1px solid var(--line)}
.deliverables>div{display:grid;grid-template-columns:50px 250px minmax(0,1fr);gap:24px;align-items:start;padding:23px 0;border-bottom:1px solid var(--line)}
.deliverables small{font:600 9px/1 "Montserrat",sans-serif;color:#999}
.deliverables strong{font:600 12px/1.3 "Montserrat",sans-serif}
.deliverables p{margin:0;font:400 11px/1.55 "Montserrat",sans-serif;color:#777}
.framework-strip{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:9vw;align-items:center;margin-top:72px;padding-top:30px;border-top:1px solid var(--line)}
.framework-strip strong{display:block;margin-top:18px;font:600 18px/1.2 "Montserrat",sans-serif}
.tags{display:flex;flex-wrap:wrap;gap:9px}
.tags span{padding:13px 16px;background:var(--black);color:#fff;font:600 9px/1 "Montserrat",sans-serif;letter-spacing:.09em}

/* CONTINUOUS ASSURANCE */
.continuous{padding-top:105px;padding-bottom:105px;background:var(--off)}
.next{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.75fr);gap:10vw;align-items:end}
.next>div:last-child p{margin:0 0 24px;font:400 13px/1.8 "Montserrat",sans-serif;color:#666}
.next .text-link{font-size:12px;font-weight:700}

/* CTA */
.service-cta{background:var(--yellow);padding:82px 0 88px}
.cta-inner{display:flex;align-items:end;justify-content:space-between;gap:60px}
.service-cta .section-label{color:var(--black);margin-bottom:28px}
.service-cta h2{font-size:clamp(48px,5.4vw,78px)}
.service-cta p{max-width:620px;margin:30px 0 0;font:400 13px/1.75 "Montserrat",sans-serif;color:#222}

/* FOOTER */
.service-footer{min-height:92px;padding:28px var(--pad);background:var(--black);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:30px}
.service-footer>div{display:flex;align-items:center;gap:22px}
.service-footer img{display:block;width:118px;height:auto}
.service-footer span,.service-footer a{font:500 8px/1 "Montserrat",sans-serif;letter-spacing:.12em;color:#aaa}
.service-footer a:hover{color:#fff}

/* RESPONSIVE */
@media(max-width:1000px){
  .service-hero-grid,.statement-grid,.method-grid,.framework-strip,.next{grid-template-columns:1fr;gap:42px}
  .capabilities-head,.service-head{display:block}
  .capabilities-head>p,.service-head>p{margin-top:22px}
  .cap-grid{grid-template-columns:repeat(2,1fr)}
  .cta-inner{display:block}
  .cta-inner .btn{margin-top:32px}
}
@media(max-width:800px){
  .service-hero{padding-top:55px;padding-bottom:65px}
  .service-kicker{margin-bottom:42px}
  .service-hero h1{font-size:clamp(50px,12vw,78px)}
  .service-lead{font-size:17px}
  .service-section{padding-top:70px;padding-bottom:70px}
  .capabilities-head{margin-top:64px}
  .cap-grid{grid-template-columns:1fr}
  .service-image-method{min-height:350px}
  .service-image-deliverables{min-height:330px}
  .image-overlay strong{font-size:clamp(40px,9vw,62px)}
  .image-overlay-right{align-items:flex-start;text-align:left}
  .steps>div{grid-template-columns:40px 1fr;gap:10px}
  .steps span{grid-column:2}
  .deliverables>div{grid-template-columns:38px 1fr}
  .deliverables p{grid-column:2}
  .service-footer{align-items:flex-start;flex-direction:column}
}
@media(max-width:480px){
  .service-hero h1{font-size:50px}
  .service-lead{font-size:16px}
  .image-overlay{padding-bottom:35px}
  .image-overlay span{font-size:7px}
  .image-overlay strong{font-size:39px}
  .image-overlay p{font-size:11px}
  .service-method{padding-top:78px;padding-bottom:82px}
  .service-cta{padding-top:65px;padding-bottom:70px}
}



/* PROPOSAL BANNER */
.proposal-banner{
  position:sticky;
  bottom:0;
  z-index:90;
  min-height:88px;
  padding:16px var(--pad);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  background:var(--white);
  border-top:1px solid #d7d7d3;
  box-shadow:0 -8px 28px rgba(17,17,17,.08);
}
.proposal-banner-copy{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
  color:var(--black);
  font-family:"Montserrat",sans-serif;
  font-size:16px;
  line-height:1.35;
}
.proposal-banner-copy strong{font-weight:600}
.proposal-banner-copy span{font-weight:400}
.proposal-banner-copy i{
  display:block;
  width:1px;
  height:20px;
  background:#bdbdb8;
  flex:0 0 auto;
}
.proposal-banner-button{
  flex:0 0 auto;
  min-width:220px;
  min-height:54px;
  padding:0 27px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  border:1px solid #555;
  color:var(--black);
  background:var(--white);
  font:600 12px/1 "Montserrat",sans-serif;
  text-decoration:none;
  transition:background .18s ease,color .18s ease,border-color .18s ease;
}
.proposal-banner-button span{font-size:16px;font-weight:400}
.proposal-banner-button:hover{
  background:var(--black);
  border-color:var(--black);
  color:var(--white);
}
@media(max-width:800px){
  .proposal-banner{
    min-height:0;
    padding:14px var(--pad);
    gap:16px;
  }
  .proposal-banner-copy{
    display:block;
    font-size:11px;
    line-height:1.5;
  }
  .proposal-banner-copy i{display:none}
  .proposal-banner-copy span{display:block;color:#777}
  .proposal-banner-button{
    min-width:145px;
    min-height:46px;
    padding:0 14px;
    font-size:9px;
  }
}
@media(max-width:480px){
  .proposal-banner{
    align-items:stretch;
    flex-direction:column;
    gap:10px;
  }
  .proposal-banner-button{width:100%}
}
