/* ============================================================
   Creative Agency X — Shared Service Detail Template V2
   Typography deliberately maps to the SAME global --type-* tokens
   used by the homepage. No independent giant type scale.
   ============================================================ */

.cax-service-detail-page{background:#fff}
.cax-service-detail{
    --sd-red:#F30101;
    --sd-black:#000;
    --sd-white:#fff;
    --sd-line:rgba(0,0,0,.24);
    background:#fff;
    color:#000;
}
.cax-service-detail,
.cax-service-detail *,
.cax-service-detail *::before,
.cax-service-detail *::after{box-sizing:border-box}

.cax-sd-shell{
    width:min(
        var(--site-width,1600px),
        calc(100% - (var(--site-gutter,24px)*2))
    );
    margin-inline:auto;
}

/* ------------------------------------------------------------
   GLOBAL TYPE NORMALISATION — MATCH HOMEPAGE TOKENS
   ------------------------------------------------------------ */
.cax-service-detail h1,
.cax-service-detail h2,
.cax-service-detail h3,
.cax-service-detail p{font-size:inherit}

.cax-service-detail .cax-sd-hero__title{
    font-size:var(--type-h2)!important;
    line-height:.94!important;
}
.cax-service-detail section h2{
    font-size:var(--type-h3)!important;
    line-height:.98!important;
}
.cax-service-detail section h3,
.cax-service-detail .cax-sd-related__grid strong,
.cax-service-detail .cax-sd-scope__list strong,
.cax-service-detail .cax-sd-process__list strong,
.cax-service-detail .cax-sd-system__layer strong{
    font-size:var(--type-h6)!important;
    line-height:1.05!important;
}
.cax-service-detail p{
    font-size:var(--type-p)!important;
    line-height:1.48!important;
}
.cax-sd-eyebrow,
.cax-sd-meta,
.cax-sd-breadcrumb{
    font-size:var(--type-ui)!important;
}

.cax-sd-eyebrow,
.cax-sd-meta{
    display:inline-flex;
    gap:8px;
    align-items:center;
    color:var(--sd-red);
    font-family:"Epic Pro",Arial,Helvetica,sans-serif;
    font-weight:700;
    line-height:1;
    text-transform:uppercase;
}
.cax-sd-meta i{color:var(--sd-red);font-style:normal}
.cax-sd-meta span:last-child{color:#000}

.cax-sd-breadcrumb{
    min-height:38px;
    padding:10px 0;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:7px;
    border-bottom:1px solid #000;
    font-family:"Epic Pro",Arial,Helvetica,sans-serif;
    font-weight:700;
    line-height:1;
    text-transform:uppercase;
}
.cax-sd-breadcrumb a{color:#000;text-decoration:none}
.cax-sd-breadcrumb a:hover{color:var(--sd-red)}
.cax-sd-breadcrumb i{color:var(--sd-red);font-style:normal}
.cax-sd-breadcrumb span[aria-current=page]{opacity:.62}

/* ------------------------------------------------------------
   HERO — intentionally smaller than previous version
   ------------------------------------------------------------ */
.cax-sd-hero__grid{
    min-height:clamp(480px,64svh,620px);
    padding:clamp(26px,2.6vw,40px) 0;
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);
    gap:clamp(34px,4vw,66px);
    align-items:stretch;
    border-bottom:1px solid #000;
}
.cax-sd-hero__copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.cax-sd-hero__title{
    max-width:780px;
    margin:clamp(12px,1.2vw,18px) 0 0;
    letter-spacing:-.03em;
    text-transform:uppercase;
}
.cax-sd-hero__title i{
    display:inline-block;
    width:.18em;
    aspect-ratio:1;
    margin-left:.08em;
    background:var(--sd-red);
    vertical-align:.1em;
}
.cax-sd-hero__summary{
    max-width:710px;
    margin:clamp(14px,1.4vw,20px) 0 0;
}
.cax-sd-actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    align-items:center;
    margin-top:clamp(17px,1.6vw,24px);
}
.cax-sd-action{
    min-height:44px;
    padding:10px 14px;
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:26px;
    font-family:Arial,Helvetica,sans-serif;
    font-size:var(--type-ui-lg);
    font-weight:700;
    line-height:1;
    text-transform:uppercase;
    text-decoration:none;
}
.cax-sd-action--primary{background:#000;color:#fff}
.cax-sd-action--text{
    padding-inline:0;
    color:#000;
    border-bottom:2px solid var(--sd-red);
}
.cax-sd-action:focus-visible,
.cax-sd-inline-cta:focus-visible,
.cax-sd-related__grid a:focus-visible{
    outline:2px solid var(--sd-red);
    outline-offset:4px;
}
.cax-sd-hero__facts{
    margin-top:auto;
    padding-top:clamp(18px,1.8vw,28px);
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    border-top:1px solid #000;
}
.cax-sd-hero__facts>div{
    min-width:0;
    padding:0 10px;
    border-right:1px solid var(--sd-line);
}
.cax-sd-hero__facts>div:first-child{padding-left:0}
.cax-sd-hero__facts>div:last-child{border-right:0}
.cax-sd-hero__facts span{
    display:block;
    color:var(--sd-red);
    font-family:"Epic Pro",Arial,Helvetica,sans-serif;
    font-size:var(--type-ui);
    font-weight:700;
    text-transform:uppercase;
}
.cax-sd-hero__facts strong{
    display:block;
    margin-top:4px;
    font-family:Arial,Helvetica,sans-serif;
    font-size:var(--type-ui-lg);
    line-height:1.15;
    text-transform:uppercase;
}

.cax-sd-hero__visual,
.cax-sd-perth__visual{
    margin:0;
    align-self:stretch;
}
.cax-sd-hero__visual img,
.cax-sd-perth__visual img{
    display:block;
    width:100%;
    height:100%;
    min-height:300px;
    object-fit:cover;
    filter:grayscale(100%);
    border:1px solid #000;
}
.cax-sd-hero__visual figcaption,
.cax-sd-perth__visual figcaption{
    padding-top:7px;
    display:flex;
    justify-content:space-between;
    gap:14px;
    font-family:"Epic Pro",Arial,Helvetica,sans-serif;
    font-size:var(--type-ui);
    line-height:1.2;
}
.cax-sd-hero__visual figcaption a,
.cax-sd-perth__visual figcaption a{
    color:#000;
    text-decoration-color:var(--sd-red);
}

/* ------------------------------------------------------------
   SHARED SECTION HEAD — more breathing room, less giant whitespace
   ------------------------------------------------------------ */
.cax-sd-section-head{
    padding:clamp(34px,4vw,58px) 0 clamp(18px,1.8vw,26px);
    display:grid;
    grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);
    gap:clamp(30px,4vw,62px);
    align-items:end;
    border-bottom:1px solid #000;
}
.cax-sd-section-head h2{
    margin:10px 0 0;
    max-width:850px;
    text-transform:uppercase;
}
.cax-sd-section-head>p{
    max-width:620px;
    margin:0;
}
.cax-sd-section-head--dark{
    border-color:rgba(255,255,255,.28);
}
.cax-sd-section-head--dark h2,
.cax-sd-section-head--dark p{color:#fff}

/* ------------------------------------------------------------
   PROBLEM
   ------------------------------------------------------------ */
.cax-sd-problem__grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    border-left:1px solid #000;
}
.cax-sd-problem__item{
    min-height:190px;
    padding:16px;
    border-right:1px solid #000;
    border-bottom:1px solid #000;
}
.cax-sd-problem__item>span,
.cax-sd-deliverables__grid article>span,
.cax-sd-requirements__grid article>span,
.cax-sd-scope__list>div>span,
.cax-sd-related__grid>a>span{
    color:var(--sd-red);
    font-family:Arial,Helvetica,sans-serif;
    font-size:var(--type-h6);
    font-weight:700;
    line-height:1;
}
.cax-sd-problem__item h3,
.cax-sd-deliverables__grid h3,
.cax-sd-requirements__grid h3{
    margin:14px 0 0;
    text-transform:uppercase;
}
.cax-sd-problem__item p,
.cax-sd-deliverables__grid p,
.cax-sd-requirements__grid p{
    margin:8px 0 0;
}
.cax-sd-problem__bridge{
    padding:clamp(18px,2vw,28px) 0;
    font-family:Arial,Helvetica,sans-serif;
    font-size:var(--type-h5);
    font-weight:700;
    line-height:1.05;
    text-align:center;
    text-transform:uppercase;
}

/* ------------------------------------------------------------
   DELIVERABLES
   ------------------------------------------------------------ */
.cax-sd-deliverables,
.cax-sd-related{background:#000;color:#fff}
.cax-sd-deliverables__grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    border-left:1px solid rgba(255,255,255,.28);
    padding-bottom:clamp(34px,4vw,58px);
}
.cax-sd-deliverables__grid article{
    min-height:175px;
    padding:16px;
    border-right:1px solid rgba(255,255,255,.28);
    border-bottom:1px solid rgba(255,255,255,.28);
}
.cax-sd-deliverables__grid h3,
.cax-sd-deliverables__grid p{color:#fff}

/* ------------------------------------------------------------
   SYSTEM
   ------------------------------------------------------------ */
.cax-sd-system__stack{
    padding:clamp(22px,2.3vw,34px) 0 clamp(34px,4vw,56px);
    display:grid;
    gap:7px;
}
.cax-sd-system__layer{
    min-height:70px;
    padding:12px 15px;
    display:grid;
    grid-template-columns:48px minmax(170px,.6fr) minmax(0,1.4fr);
    gap:18px;
    align-items:center;
    border:1px solid #000;
    background:#fff;
}
.cax-sd-system__layer:nth-child(even){
    margin-inline:3%;
    background:#000;
    color:#fff;
}
.cax-sd-system__layer>span{
    color:var(--sd-red);
    font-family:Arial,Helvetica,sans-serif;
    font-size:var(--type-h6);
    font-weight:700;
}
.cax-sd-system__layer strong{
    font-family:Arial,Helvetica,sans-serif;
    text-transform:uppercase;
}
.cax-sd-system__layer p{margin:0}

/* ------------------------------------------------------------
   PROCESS + SCOPE
   ------------------------------------------------------------ */
.cax-sd-process__list{
    margin:0 0 clamp(34px,4vw,56px);
    padding:0;
    list-style:none;
    border-top:1px solid #000;
}
.cax-sd-process__list li{
    padding:13px 0;
    display:grid;
    grid-template-columns:56px minmax(200px,.7fr) minmax(0,1.3fr);
    gap:18px;
    border-bottom:1px solid var(--sd-line);
    align-items:start;
}
.cax-sd-process__list li>span{
    color:var(--sd-red);
    font-family:Arial,Helvetica,sans-serif;
    font-size:var(--type-h6);
    font-weight:700;
}
.cax-sd-process__list strong,
.cax-sd-scope__list strong{
    font-family:Arial,Helvetica,sans-serif;
    text-transform:uppercase;
}
.cax-sd-process__list p,
.cax-sd-scope__list p{margin:0}

.cax-sd-scope__list{border-top:1px solid #000}
.cax-sd-scope__list>div{
    padding:12px 0;
    display:grid;
    grid-template-columns:52px minmax(210px,.7fr) minmax(0,1.3fr);
    gap:18px;
    border-bottom:1px solid var(--sd-line);
}
.cax-sd-inline-cta{
    width:max-content;
    margin:20px 0 clamp(34px,4vw,56px);
    padding-bottom:5px;
    display:flex;
    gap:20px;
    color:#000;
    border-bottom:2px solid var(--sd-red);
    font-family:Arial,Helvetica,sans-serif;
    font-size:var(--type-ui-lg);
    font-weight:700;
    text-decoration:none;
    text-transform:uppercase;
}
.cax-sd-inline-cta span:last-child{color:var(--sd-red)}

/* ------------------------------------------------------------
   PERTH
   ------------------------------------------------------------ */
.cax-sd-perth{background:#f7f7f7}
.cax-sd-perth__grid{
    padding:clamp(36px,4vw,60px) 0;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(390px,.85fr);
    gap:clamp(38px,5vw,76px);
    align-items:stretch;
}
.cax-sd-perth__copy h2{
    margin:10px 0 0;
    text-transform:uppercase;
}
.cax-sd-perth__copy>p{max-width:700px}
.cax-sd-perth__points{
    margin-top:18px;
    border-top:1px solid #000;
}
.cax-sd-perth__points>div{
    padding:10px 0;
    display:grid;
    grid-template-columns:minmax(190px,.6fr) 1fr;
    gap:18px;
    border-bottom:1px solid var(--sd-line);
}
.cax-sd-perth__points strong{
    font-family:Arial,Helvetica,sans-serif;
    font-size:var(--type-ui);
    text-transform:uppercase;
}
.cax-sd-perth__points span{
    font-family:"Epic Pro",Arial,Helvetica,sans-serif;
    font-size:var(--type-ui-lg);
}

/* ------------------------------------------------------------
   REQUIREMENTS + QUALITY
   ------------------------------------------------------------ */
.cax-sd-requirements__grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    border-left:1px solid #000;
    margin-bottom:clamp(34px,4vw,56px);
}
.cax-sd-requirements__grid article{
    min-height:165px;
    padding:15px;
    border-right:1px solid #000;
    border-bottom:1px solid #000;
}
.cax-sd-quality{background:var(--sd-red);color:#fff}
.cax-sd-quality__grid{
    padding:clamp(34px,4vw,56px) 0;
    display:grid;
    grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
    gap:clamp(38px,5vw,74px);
    align-items:start;
}
.cax-sd-quality .cax-sd-eyebrow{color:#fff}
.cax-sd-quality h2{
    margin:10px 0 0;
    color:#fff;
    text-transform:uppercase;
}
.cax-sd-quality p{color:#fff}
.cax-sd-quality ul{
    margin:0;
    padding:0;
    list-style:none;
    border-top:1px solid rgba(255,255,255,.65);
}
.cax-sd-quality li{
    padding:9px 0;
    border-bottom:1px solid rgba(255,255,255,.45);
    font-family:Arial,Helvetica,sans-serif;
    font-size:var(--type-ui-lg);
    font-weight:700;
    line-height:1.15;
    text-transform:uppercase;
}
.cax-sd-quality li::before{content:"→";margin-right:10px}

/* ------------------------------------------------------------
   DETAILED PRICING
   ------------------------------------------------------------ */
.cax-sd-pricing{background:#fff;color:#000}
.cax-sd-section-head--pricing{padding-bottom:22px}
.cax-sd-pricing__subhead{
    padding:20px 0 12px;
    display:grid;
    grid-template-columns:48px minmax(0,1fr);
    gap:14px;
    align-items:start;
}
.cax-sd-pricing__subhead>span{
    color:var(--sd-red);
    font-family:Arial,Helvetica,sans-serif;
    font-size:var(--type-h6);
    font-weight:700;
    line-height:1;
}
.cax-sd-pricing__subhead strong{
    display:block;
    font-family:Arial,Helvetica,sans-serif;
    font-size:var(--type-h6);
    line-height:1;
    text-transform:uppercase;
}
.cax-sd-pricing__subhead p{
    max-width:760px;
    margin:5px 0 0;
    font-size:var(--type-ui-lg)!important;
    line-height:1.3!important;
}

.cax-sd-pricing__table-wrap{
    width:100%;
    overflow-x:auto;
    border:1px solid #000;
}
.cax-sd-pricing__table{
    width:100%;
    min-width:1040px;
    border-collapse:collapse;
    table-layout:fixed;
}
.cax-sd-pricing__table th,
.cax-sd-pricing__table td{
    padding:10px 11px;
    border-right:1px solid rgba(0,0,0,.22);
    border-bottom:1px solid rgba(0,0,0,.22);
    vertical-align:top;
    text-align:left;
}
.cax-sd-pricing__table tr>:last-child{border-right:0}
.cax-sd-pricing__table tbody tr:last-child>*{border-bottom:0}
.cax-sd-pricing__table thead th{
    background:#000;
    color:#fff;
    font-family:Arial,Helvetica,sans-serif;
    font-size:var(--type-ui);
    font-weight:700;
    line-height:1.1;
    text-transform:uppercase;
}
.cax-sd-pricing__table tbody th{
    font-family:Arial,Helvetica,sans-serif;
    font-size:var(--type-ui-lg);
    line-height:1.1;
    text-transform:uppercase;
}
.cax-sd-pricing__table tbody td{
    font-family:"Epic Pro",Arial,Helvetica,sans-serif;
    font-size:var(--type-ui);
    line-height:1.3;
}
.cax-sd-pricing__table td strong{
    font-family:Arial,Helvetica,sans-serif;
    font-size:var(--type-ui-lg);
}
.cax-sd-pricing__our-price{
    background:#000;
    color:#fff;
}
.cax-sd-pricing__our-price strong{
    color:#fff;
    font-size:var(--type-ui-lg);
}
.cax-sd-pricing__table--platforms th:nth-child(1){width:12%}
.cax-sd-pricing__table--platforms th:nth-child(2){width:18%}
.cax-sd-pricing__table--platforms th:nth-child(3){width:13%}
.cax-sd-pricing__table--platforms th:nth-child(4){width:14%}
.cax-sd-pricing__table--platforms th:nth-child(5){width:20%}
.cax-sd-pricing__table--platforms th:nth-child(6){width:23%}
.cax-sd-pricing__table--addons th:nth-child(1){width:24%}
.cax-sd-pricing__table--addons th:nth-child(2){width:17%}
.cax-sd-pricing__table--addons th:nth-child(3){width:18%}
.cax-sd-pricing__table--addons th:nth-child(4){width:41%}

.cax-sd-pricing__scope-grid{
    padding:22px 0 0;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    border-left:1px solid #000;
}
.cax-sd-pricing__scope-box{
    padding:16px;
    border-right:1px solid #000;
    border-top:1px solid #000;
    border-bottom:1px solid #000;
}
.cax-sd-pricing__scope-title{
    display:grid;
    grid-template-columns:42px 1fr;
    gap:10px;
    align-items:start;
}
.cax-sd-pricing__scope-title span{
    color:var(--sd-red);
    font-family:Arial,Helvetica,sans-serif;
    font-size:var(--type-h6);
    font-weight:700;
}
.cax-sd-pricing__scope-title strong{
    font-family:Arial,Helvetica,sans-serif;
    font-size:var(--type-h6);
    line-height:1;
    text-transform:uppercase;
}
.cax-sd-pricing__scope-box ul{
    margin:14px 0 0;
    padding:0;
    list-style:none;
    border-top:1px solid rgba(0,0,0,.18);
}
.cax-sd-pricing__scope-box li{
    padding:8px 0 8px 17px;
    position:relative;
    border-bottom:1px solid rgba(0,0,0,.14);
    font-family:"Epic Pro",Arial,Helvetica,sans-serif;
    font-size:var(--type-ui-lg);
    line-height:1.25;
}
.cax-sd-pricing__scope-box li::before{
    content:"→";
    position:absolute;
    left:0;
    color:var(--sd-red);
}
.cax-sd-pricing__foot{
    padding:14px 0 clamp(34px,4vw,56px);
    display:grid;
    grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);
    gap:26px;
    align-items:start;
}
.cax-sd-pricing__foot p{
    max-width:900px;
    margin:0;
    font-size:var(--type-ui-lg)!important;
    line-height:1.35!important;
}
.cax-sd-pricing__foot>div>span{
    display:block;
    margin-top:6px;
    color:rgba(0,0,0,.62);
    font-family:"Epic Pro",Arial,Helvetica,sans-serif;
    font-size:var(--type-ui);
    font-weight:600;
}
.cax-sd-pricing__sources{border-top:1px solid #000}
.cax-sd-pricing__sources summary{
    padding:9px 0;
    cursor:pointer;
    list-style:none;
    font-family:Arial,Helvetica,sans-serif;
    font-size:var(--type-ui);
    font-weight:700;
    text-transform:uppercase;
}
.cax-sd-pricing__sources summary::-webkit-details-marker{display:none}
.cax-sd-pricing__sources summary::after{
    content:"+";
    float:right;
    color:var(--sd-red);
    font-size:1.35em;
}
.cax-sd-pricing__sources[open] summary::after{content:"−"}
.cax-sd-pricing__sources ul{margin:0;padding:0 0 8px;list-style:none}
.cax-sd-pricing__sources li{
    padding:7px 0;
    border-top:1px solid rgba(0,0,0,.14);
}
.cax-sd-pricing__sources a,
.cax-sd-pricing__sources span{
    color:#000;
    font-family:Arial,Helvetica,sans-serif;
    font-size:var(--type-ui);
    font-weight:700;
    text-decoration-color:var(--sd-red);
}
.cax-sd-pricing__sources small{
    display:block;
    margin-top:3px;
    font-family:"Epic Pro",Arial,Helvetica,sans-serif;
    font-size:var(--type-ui);
    line-height:1.2;
}

/* ------------------------------------------------------------
   RELATED
   ------------------------------------------------------------ */
.cax-sd-related__grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    border-left:1px solid rgba(255,255,255,.28);
    padding-bottom:clamp(34px,4vw,56px);
}
.cax-sd-related__grid>a{
    position:relative;
    min-height:180px;
    padding:15px;
    display:grid;
    align-content:start;
    gap:10px;
    border-right:1px solid rgba(255,255,255,.28);
    border-bottom:1px solid rgba(255,255,255,.28);
    color:#fff;
    text-decoration:none;
}
.cax-sd-related__grid>a:hover{background:#fff;color:#000}
.cax-sd-related__grid strong{
    font-family:Arial,Helvetica,sans-serif;
    text-transform:uppercase;
}
.cax-sd-related__grid p{margin:0}
.cax-sd-related__grid i{
    position:absolute;
    right:14px;
    bottom:10px;
    color:var(--sd-red);
    font-size:var(--type-h6);
    font-style:normal;
}

/* ------------------------------------------------------------
   FAQ + FINAL CTA
   ------------------------------------------------------------ */
.cax-sd-faq__grid{
    padding:clamp(36px,4vw,60px) 0;
    display:grid;
    grid-template-columns:minmax(280px,.65fr) minmax(0,1.35fr);
    gap:clamp(38px,6vw,90px);
    align-items:start;
}
.cax-sd-faq h2{margin:10px 0 0;text-transform:uppercase}
.cax-sd-faq__items{border-top:1px solid #000}
.cax-sd-faq details{border-bottom:1px solid #000}
.cax-sd-faq summary{
    min-height:50px;
    padding:9px 0;
    display:grid;
    grid-template-columns:44px minmax(0,1fr) 24px;
    gap:10px;
    align-items:center;
    cursor:pointer;
    list-style:none;
}
.cax-sd-faq summary::-webkit-details-marker{display:none}
.cax-sd-faq summary span{
    color:var(--sd-red);
    font-family:Arial,Helvetica,sans-serif;
    font-size:var(--type-ui-lg);
    font-weight:700;
}
.cax-sd-faq summary strong{
    font-family:Arial,Helvetica,sans-serif;
    font-size:var(--type-ui-lg);
    text-transform:uppercase;
}
.cax-sd-faq summary i{position:relative;width:16px;height:16px}
.cax-sd-faq summary i::before,
.cax-sd-faq summary i::after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    background:var(--sd-red);
    transform:translate(-50%,-50%);
}
.cax-sd-faq summary i::before{width:16px;height:2px}
.cax-sd-faq summary i::after{width:2px;height:16px}
.cax-sd-faq details[open] summary i::after{display:none}
.cax-sd-faq details>div{padding:0 0 14px 54px}
.cax-sd-faq details p{margin:0;max-width:850px}

.cax-sd-final{background:#000;color:#fff}
.cax-sd-final__grid{
    min-height:clamp(270px,36svh,360px);
    padding:clamp(34px,4vw,56px) 0;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(330px,.8fr);
    gap:clamp(38px,6vw,90px);
    align-items:center;
}
.cax-sd-final h2{
    margin:10px 0 0;
    color:#fff;
    text-transform:uppercase;
}
.cax-sd-final p{margin:0;color:rgba(255,255,255,.8)}
.cax-sd-final .cax-sd-action--primary{
    margin-top:18px;
    background:var(--sd-red);
}

/* ------------------------------------------------------------
   RESPONSIVE
   ------------------------------------------------------------ */
@media(max-width:1100px){
    .cax-sd-hero__grid,
    .cax-sd-perth__grid,
    .cax-sd-quality__grid,
    .cax-sd-faq__grid,
    .cax-sd-final__grid{grid-template-columns:1fr}

    .cax-sd-hero__grid{min-height:0}
    .cax-sd-hero__visual{min-height:390px}

    .cax-sd-section-head{
        grid-template-columns:1fr;
        gap:14px;
    }

    .cax-sd-problem__grid,
    .cax-sd-deliverables__grid{grid-template-columns:repeat(2,1fr)}

    .cax-sd-requirements__grid,
    .cax-sd-related__grid{grid-template-columns:repeat(2,1fr)}

    .cax-sd-system__layer,
    .cax-sd-process__list li,
    .cax-sd-scope__list>div{
        grid-template-columns:48px 1fr;
    }

    .cax-sd-system__layer p,
    .cax-sd-process__list p,
    .cax-sd-scope__list p{grid-column:2}

    .cax-sd-system__layer:nth-child(even){margin-inline:2%}
    .cax-sd-perth__visual{min-height:380px}
    .cax-sd-faq__grid{gap:24px}
    .cax-sd-pricing__foot{grid-template-columns:1fr}
}

@media(max-width:760px){
    .cax-sd-shell{
        width:min(
            var(--site-width,1600px),
            calc(100% - 36px)
        );
    }

    .cax-service-detail .cax-sd-hero__title{
        font-size:var(--type-h3)!important;
    }

    .cax-service-detail section h2{
        font-size:var(--type-h4)!important;
    }

    .cax-sd-hero__visual{min-height:300px}

    .cax-sd-hero__facts{
        grid-template-columns:repeat(2,1fr);
        gap:14px 0;
    }
    .cax-sd-hero__facts>div:nth-child(2){border-right:0}

    .cax-sd-problem__grid,
    .cax-sd-deliverables__grid,
    .cax-sd-requirements__grid,
    .cax-sd-related__grid,
    .cax-sd-pricing__scope-grid{grid-template-columns:1fr}

    .cax-sd-system__layer,
    .cax-sd-process__list li,
    .cax-sd-scope__list>div{
        grid-template-columns:40px 1fr;
    }

    .cax-sd-perth__points>div{
        grid-template-columns:1fr;
        gap:4px;
    }

    .cax-sd-quality__grid{gap:24px}

    .cax-sd-faq details>div{padding-left:0}
    .cax-sd-faq summary{
        grid-template-columns:38px minmax(0,1fr) 22px;
    }

    .cax-sd-actions{align-items:stretch}
    .cax-sd-action{width:100%}
    .cax-sd-action--text{width:max-content}

    .cax-sd-hero__visual figcaption,
    .cax-sd-perth__visual figcaption{display:block}

    .cax-sd-hero__visual figcaption a,
    .cax-sd-perth__visual figcaption a{
        display:block;
        margin-top:4px;
    }

    /* Mobile pricing becomes card-like, no horizontal scroll needed. */
    .cax-sd-pricing__table-wrap{overflow:visible;border:0}
    .cax-sd-pricing__table,
    .cax-sd-pricing__table tbody,
    .cax-sd-pricing__table tr,
    .cax-sd-pricing__table th,
    .cax-sd-pricing__table td{
        display:block;
        width:100%;
        min-width:0;
    }
    .cax-sd-pricing__table thead{
        position:absolute;
        width:1px;
        height:1px;
        padding:0;
        margin:-1px;
        overflow:hidden;
        clip:rect(0,0,0,0);
        white-space:nowrap;
        border:0;
    }
    .cax-sd-pricing__table tr{
        margin-bottom:14px;
        border:1px solid #000;
    }
    .cax-sd-pricing__table tbody th,
    .cax-sd-pricing__table td{
        border-right:0;
        border-bottom:1px solid rgba(0,0,0,.18);
    }
    .cax-sd-pricing__table tr>:last-child{border-bottom:0}
    .cax-sd-pricing__table tbody th{background:#f5f5f5}
    .cax-sd-pricing__table td::before{
        content:attr(data-label);
        display:block;
        margin-bottom:5px;
        font-family:Arial,Helvetica,sans-serif;
        font-size:var(--type-ui);
        font-weight:700;
        text-transform:uppercase;
    }
    .cax-sd-pricing__our-price::before{
        color:rgba(255,255,255,.7);
    }

    .cax-sd-pricing__scope-box{border-left:1px solid #000}
}
