/*
Theme Name: ARCHER PRASANTA
Theme URI: https://archerprasanta.com/
Author: ARCHER PRASANTA
Description: Custom premium motorcycle restoration studio theme.
Version: 1.1.0
Text Domain: archer-prasanta
*/

/* ======================================================================
   AP BRAND PALETTE — START
   Brand references, not an exclusive website palette. Studio V4 uses
   ivory, stone, copper and graphite alongside the two brand colours.
   ====================================================================== */
:root {
  --ap-brand-bg:#111A3D;
  --ap-brand-bg-rgb:17,26,61;
  --ap-brand-deep:#0B122C;
  --ap-brand-deep-rgb:11,18,44;
  --ap-brand-surface:#18234B;
  --ap-brand-surface-alt:#1E2C57;
  --ap-brand-accent:#6FEFFF;
  --ap-brand-accent-rgb:111,239,255;
  --ap-brand-accent-hover:#A5F6FF;
  --ap-brand-text:#F5F7FF;
  --ap-brand-soft:#CDD5E8;
  --ap-brand-muted:#B4BFD8;
  --ap-brand-subtle:#899ABB;
  --ap-brand-border:rgba(var(--ap-brand-accent-rgb),.18);
  --ap-brand-outline:#62789E;
  --ap-brand-on-accent:#111A3D;
}
/* AP BRAND PALETTE — END */

:root{
  --ap-navy:var(--ap-brand-bg);
  --ap-navy-2:var(--ap-brand-surface);
  --ap-navy-3:var(--ap-brand-surface-alt);
  --ap-cyan:var(--ap-brand-accent);
  --ap-cyan-strong:var(--ap-brand-accent-hover);
  --ap-white:var(--ap-brand-text);
  --ap-muted:var(--ap-brand-muted);
  --ap-border:rgba(111,239,255,.20);
  --ap-border-soft:rgba(255,255,255,.10);
  --ap-container:1700px;
  --ap-header-height:86px;
  --ap-radius:18px;
}

html{
  margin:0!important;
  padding:0;
  background:var(--ap-navy);
  scroll-behavior:smooth;
}

body.ap-custom-theme{
  margin:0!important;
  padding:0;
  min-height:100vh;
  background:var(--ap-navy);
  color:var(--ap-white);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}

body.ap-custom-theme *,
body.ap-custom-theme *::before,
body.ap-custom-theme *::after{box-sizing:border-box}

body.ap-custom-theme img{max-width:100%;height:auto}
body.ap-custom-theme a{color:inherit;text-decoration:none}
body.ap-custom-theme button,
body.ap-custom-theme input,
body.ap-custom-theme select,
body.ap-custom-theme textarea{font:inherit}

body.ap-custom-theme #page,
body.ap-custom-theme .site,
body.ap-custom-theme .site-content,
body.ap-custom-theme .site-main,
body.ap-custom-theme .content,
body.ap-custom-theme .page-content,
body.ap-custom-theme .entry-content,
body.ap-custom-theme .wp-site-blocks{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
}

body.ap-custom-theme .wf-wrap,
body.ap-custom-theme .wf-container,
body.ap-custom-theme .elementor,
body.ap-custom-theme .elementor-section,
body.ap-custom-theme .wp-block-group,
body.ap-custom-theme .wp-block-cover,
body.ap-custom-theme .wp-block-columns{
  max-width:none;
}

/* GLOBAL CONTENT HELPERS */
.ap-site-main{min-height:60vh}
.ap-page-shell{width:min(calc(100% - 48px),1200px);margin:0 auto;padding:100px 0}


/* =========================================================
   HOMEPAGE
   ========================================================= */
/* =========================================================
   ARCHER PRASANTA — HOMEPAGE / STEP 01
   ========================================================= */

.ap-homepage{
    background:#050A1F;
    color:#F5F7FA;
}

.ap-home-container{
    width:min(calc(100% - 48px),1440px);
    margin:0 auto;
}

/* HERO */
.ap-hero{
    position:relative;
    min-height:calc(100vh - 86px);
    display:flex;
    align-items:center;
    overflow:hidden;
    isolation:isolate;
}

.ap-hero-bg{
    position:absolute;
    inset:0;
    z-index:-3;
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
    transform:scale(1.02);
}

.ap-hero-overlay{
    position:absolute;
    inset:0;
    z-index:-2;
    background:
        linear-gradient(90deg,rgba(5,10,31,.97) 0%,rgba(5,10,31,.78) 38%,rgba(5,10,31,.30) 72%,rgba(5,10,31,.70) 100%),
        linear-gradient(0deg,rgba(5,10,31,.94) 0%,transparent 45%,rgba(5,10,31,.35) 100%);
}

.ap-hero-grid{
    position:absolute;
    inset:0;
    z-index:-1;
    opacity:.18;
    background-image:
        linear-gradient(rgba(111,239,255,.08) 1px,transparent 1px),
        linear-gradient(90deg,rgba(111,239,255,.08) 1px,transparent 1px);
    background-size:80px 80px;
    mask-image:linear-gradient(90deg,#000,transparent 82%);
}

.ap-hero-content{
    padding:100px 0 110px;
}

.ap-hero-kicker,
.ap-section-label{
    display:flex;
    align-items:center;
    gap:10px;
    margin:0 0 22px;
    color:#6FEFFF;
    font-size:10px;
    font-weight:800;
    letter-spacing:.18em;
}

.ap-hero-kicker span{
    width:28px;
    height:1px;
    background:#6FEFFF;
}

.ap-hero h1{
    max-width:900px;
    margin:0;
    color:#F5F7FA;
    font-size:clamp(54px,8vw,126px);
    line-height:.86;
    font-weight:800;
    letter-spacing:-.065em;
}

.ap-hero h1 span{
    color:#6FEFFF;
}

.ap-hero-copy{
    max-width:540px;
    margin:34px 0 0;
    color:rgba(245,247,250,.72);
    font-size:16px;
    line-height:1.75;
}

.ap-hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:34px;
}

.ap-home-primary,
.ap-home-ghost{
    min-height:48px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:22px;
    padding:0 19px;
    border:1px solid rgba(111,239,255,.55);
    font-size:10px;
    font-weight:900;
    letter-spacing:.13em;
    transition:.25s ease;
}

.ap-home-primary{
    color:#03101D;
    background:#6FEFFF;
}

.ap-home-primary:hover{
    color:#03101D;
    background:#3DDBF4;
    transform:translateY(-2px);
    box-shadow:0 14px 35px rgba(61,219,244,.18);
}

.ap-home-primary span{
    font-size:17px;
    font-weight:400;
}

.ap-home-ghost{
    color:#EAFBFF;
    background:rgba(5,10,31,.35);
}

.ap-home-ghost:hover{
    color:#6FEFFF;
    border-color:#6FEFFF;
    background:rgba(111,239,255,.06);
}

.ap-hero-meta{
    display:flex;
    gap:34px;
    margin-top:68px;
}

.ap-hero-meta div{
    display:flex;
    flex-direction:column;
    gap:4px;
    padding-left:12px;
    border-left:1px solid rgba(111,239,255,.35);
}

.ap-hero-meta strong{
    color:#6FEFFF;
    font-size:10px;
}

.ap-hero-meta span{
    color:rgba(245,247,250,.56);
    font-size:9px;
    font-weight:800;
    letter-spacing:.14em;
}

.ap-scroll-note{
    position:absolute;
    right:38px;
    bottom:34px;
    display:flex;
    align-items:center;
    gap:9px;
    color:rgba(245,247,250,.45);
    font-size:8px;
    font-weight:800;
    letter-spacing:.18em;
    writing-mode:vertical-rl;
}

.ap-scroll-note span{
    width:1px;
    height:32px;
    background:#6FEFFF;
}

/* INTRO */
.ap-intro-section{
    padding:145px 0;
    background:#07112A;
    border-top:1px solid rgba(111,239,255,.10);
}

.ap-intro-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:100px;
}

.ap-intro-section h2,
.ap-section-head h2,
.ap-standard-section h2,
.ap-projects-section h2,
.ap-cta-section h2{
    margin:0;
    color:#F5F7FA;
    font-size:clamp(42px,5.4vw,82px);
    line-height:.9;
    letter-spacing:-.055em;
}

.ap-intro-section h2 em,
.ap-section-head h2 em,
.ap-standard-section h2 em,
.ap-projects-section h2 em,
.ap-cta-section h2 em{
    color:#6FEFFF;
    font-style:normal;
}

.ap-intro-copy{
    padding-top:36px;
    max-width:570px;
}

.ap-intro-copy p,
.ap-standard-copy p,
.ap-section-head > p,
.ap-cta-inner > p{
    color:rgba(245,247,250,.65);
    font-size:14px;
    line-height:1.85;
}

.ap-intro-copy .ap-lead,
.ap-standard-copy .ap-lead{
    color:#F5F7FA;
    font-size:20px;
    line-height:1.55;
    margin-bottom:20px;
}

.ap-text-link{
    display:inline-flex;
    align-items:center;
    gap:14px;
    margin-top:25px;
    color:#6FEFFF;
    font-size:10px;
    font-weight:900;
    letter-spacing:.15em;
}

.ap-text-link span{
    font-size:17px;
    transition:transform .2s ease;
}

.ap-text-link:hover{
    color:#F5F7FA;
}

.ap-text-link:hover span{
    transform:translateX(5px);
}

/* SERVICES — ORIGINAL 6-CARD DESIGN */
.ap-services{
    width:100%;
    max-width:none;
    padding:100px 0 110px;
    position:relative;
    overflow:hidden;
    background:#050A1F;
}

.ap-services-header{
    width:100%;
    max-width:760px;
    margin:0 auto 60px;
    text-align:center;
    position:relative;
    z-index:2;
}

.ap-services-header > span{
    display:block;
    margin-bottom:14px;
    color:#6FEFFF;
    font-size:13px;
    font-weight:800;
    letter-spacing:4px;
}

.ap-services-header h2{
    margin:0;
    color:#fff;
    font-size:46px;
    line-height:1.12;
    font-weight:800;
    letter-spacing:-1px;
}

.ap-services-header h2 strong{
    color:#6FEFFF;
    font-weight:800;
}

.ap-services-header p{
    max-width:650px;
    margin:22px auto 0;
    color:#9fb8cf;
    font-size:16px;
    line-height:1.7;
}

.ap-services-grid{
    width:100%;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
    position:relative;
    z-index:2;
}

.ap-services .ap-service-card{
    position:relative;
    display:block;
    width:100%;
    min-width:0;
    height:360px;
    overflow:hidden;
    border-radius:24px;
    text-decoration:none;
    background:#071629;
    border:1px solid rgba(111,239,255,.18);
    box-shadow:0 18px 50px rgba(0,0,0,.28);
    isolation:isolate;
    cursor:pointer;
    transition:
        transform .55s cubic-bezier(.16,1,.3,1),
        border-color .45s ease,
        box-shadow .55s ease;
}

.ap-services .ap-service-card:hover{
    transform:translateY(-9px) scale(1.012);
    border-color:rgba(111,239,255,.75);
    box-shadow:
        0 30px 75px rgba(0,0,0,.50),
        0 0 40px rgba(111,239,255,.13);
}

.ap-services .ap-service-card img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    z-index:-3;
    transform:scale(1.08);
    transition:
        transform 1.4s cubic-bezier(.16,1,.3,1),
        filter .7s ease;
}

.ap-services .ap-service-card.ap-service-show img{
    transform:scale(1.04);
}

.ap-services .ap-service-card:hover img{
    transform:scale(1.10);
    filter:brightness(.70) saturate(1.08);
}

.ap-service-overlay{
    position:absolute;
    inset:0;
    z-index:-2;
    background:
        linear-gradient(
            180deg,
            rgba(3,12,22,.10) 0%,
            rgba(3,12,22,.38) 32%,
            rgba(3,12,22,.95) 100%
        );
    transition:background .6s ease;
}

.ap-service-card:hover .ap-service-overlay{
    background:
        linear-gradient(
            180deg,
            rgba(3,12,22,.06) 0%,
            rgba(3,12,22,.42) 30%,
            rgba(3,12,22,.98) 100%
        );
}

.ap-service-content{
    position:absolute;
    left:28px;
    right:28px;
    bottom:27px;
    z-index:3;
}

.ap-service-number{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:26px;
    margin-bottom:14px;
    overflow:hidden;
    border-radius:6px;
    background:rgba(111,239,255,.10);
    border:1px solid rgba(111,239,255,.25);
    color:#6FEFFF;
    font-size:11px;
    font-weight:800;
    letter-spacing:1px;
    transition:
        background .35s ease,
        border-color .35s ease,
        box-shadow .35s ease,
        transform .35s ease;
}

.ap-service-number::before{
    content:"";
    position:absolute;
    top:0;
    left:-130%;
    width:70%;
    height:100%;
    background:
        linear-gradient(
            110deg,
            transparent,
            rgba(255,255,255,.45),
            transparent
        );
    transform:skewX(-20deg);
}

.ap-service-card:hover .ap-service-number{
    background:rgba(111,239,255,.18);
    border-color:rgba(111,239,255,.75);
    box-shadow:0 0 20px rgba(111,239,255,.16);
    transform:translateY(-2px);
}

.ap-service-card:hover .ap-service-number::before{
    animation:apServicesNumberShine .7s ease;
}

@keyframes apServicesNumberShine{
    from{left:-130%}
    to{left:130%}
}

.ap-service-content h3{
    margin:0;
    color:#fff;
    font-size:27px;
    line-height:1.15;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.3px;
    transition:
        color .35s ease,
        transform .35s ease,
        letter-spacing .35s ease;
}

.ap-service-card:hover .ap-service-content h3{
    color:#6FEFFF;
    transform:translateX(2px);
    letter-spacing:.6px;
}

.ap-service-content p{
    max-width:450px;
    margin:11px 0 17px;
    color:#b7cada;
    font-size:14px;
    line-height:1.55;
    transition:
        color .35s ease,
        transform .35s ease;
}

.ap-service-card:hover .ap-service-content p{
    color:#d3e0eb;
    transform:translateX(2px);
}

.ap-service-link{
    position:relative;
    display:inline-flex;
    align-items:center;
    gap:9px;
    width:max-content;
    color:#6FEFFF;
    font-size:14px;
    font-weight:800;
    transition:
        color .3s ease,
        transform .3s ease;
}

.ap-service-link::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-5px;
    width:0;
    height:1px;
    background:#6FEFFF;
    transition:
        width .4s cubic-bezier(.16,1,.3,1);
}

.ap-service-card:hover .ap-service-link{
    color:#fff;
    transform:translateX(2px);
}

.ap-service-card:hover .ap-service-link::after{
    width:100%;
}

.ap-service-link b{
    display:inline-block;
    color:#6FEFFF;
    font-size:18px;
    font-weight:500;
    transition:
        transform .45s cubic-bezier(.16,1,.3,1);
}

.ap-service-card:hover .ap-service-link b{
    transform:translateX(8px);
}

.ap-services-bottom{
    display:flex;
    justify-content:center;
    width:100%;
    margin-top:48px;
    position:relative;
    z-index:2;
}

.ap-services-button{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    min-width:190px;
    padding:15px 25px;
    overflow:hidden;
    border-radius:12px;
    background:#6FEFFF;
    color:#071629!important;
    text-decoration:none;
    font-size:15px;
    font-weight:800;
    transition:
        transform .4s ease,
        box-shadow .4s ease;
}

.ap-services-button:hover{
    transform:translateY(-5px) scale(1.02);
    box-shadow:
        0 20px 50px rgba(111,239,255,.30),
        0 0 30px rgba(111,239,255,.12);
}

.ap-services-button span{
    position:relative;
    z-index:2;
    font-size:20px;
    line-height:0;
    transition:
        transform .4s cubic-bezier(.16,1,.3,1);
}

.ap-services-button:hover span{
    transform:translateX(7px);
}

.ap-services-button::before{
    content:"";
    position:absolute;
    top:0;
    left:-120%;
    width:65%;
    height:100%;
    background:
        linear-gradient(
            110deg,
            transparent,
            rgba(255,255,255,.50),
            transparent
        );
    transform:skewX(-20deg);
    pointer-events:none;
}

.ap-services-button:hover::before{
    animation:apServicesButtonShine 1s ease;
}

@keyframes apServicesButtonShine{
    from{left:-120%}
    to{left:140%}
}

/* Scroll reveal */
.ap-services .ap-service-reveal{
    opacity:0;
    transform:translate3d(0,60px,0) scale(.96);
    filter:blur(6px);
    will-change:opacity,transform,filter;
}

.ap-services .ap-service-reveal.ap-service-show{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
    filter:blur(0);
    transition:
        opacity .85s cubic-bezier(.16,1,.3,1),
        transform 1s cubic-bezier(.16,1,.3,1),
        filter .8s cubic-bezier(.16,1,.3,1);
}

.ap-services-header > span.ap-service-reveal{
    transform:translate3d(0,-20px,0);
}
.ap-services-header h2.ap-service-reveal{
    transform:translate3d(0,35px,0) scale(.96);
}
.ap-services-header p.ap-service-reveal{
    transform:translate3d(0,25px,0);
}

.ap-services-header > span.ap-service-show{transition-delay:.00s}
.ap-services-header h2.ap-service-show{transition-delay:.10s}
.ap-services-header p.ap-service-show{transition-delay:.20s}

.ap-service-card:nth-child(1).ap-service-show{transition-delay:.00s}
.ap-service-card:nth-child(2).ap-service-show{transition-delay:.10s}
.ap-service-card:nth-child(3).ap-service-show{transition-delay:.20s}
.ap-service-card:nth-child(4).ap-service-show{transition-delay:.05s}
.ap-service-card:nth-child(5).ap-service-show{transition-delay:.15s}
.ap-service-card:nth-child(6).ap-service-show{transition-delay:.25s}

.ap-services-bottom.ap-service-show{transition-delay:.15s}

/* Responsive */
@media(max-width:1050px){
    .ap-services{padding-left:22px;padding-right:22px}
    .ap-services-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .ap-services .ap-service-card{height:340px}
    .ap-service-content{left:24px;right:24px}
}

@media(max-width:700px){
    .ap-services{
        width:100%;
        max-width:100%;
        padding:70px 16px 80px;
    }

    .ap-services-header{
        width:100%;
        max-width:100%;
        margin:0 auto 38px;
    }

    .ap-services-header > span{
        margin-bottom:12px;
        font-size:10px;
        letter-spacing:3px;
    }

    .ap-services-header h2{
        font-size:31px;
        line-height:1.18;
        letter-spacing:-.5px;
    }

    .ap-services-header p{
        width:100%;
        max-width:100%;
        margin-top:15px;
        font-size:14px;
        line-height:1.65;
    }

    .ap-services-grid{
        width:100%;
        max-width:100%;
        grid-template-columns:1fr;
        gap:18px;
    }

    .ap-services .ap-service-card{
        width:100%;
        max-width:100%;
        min-width:0;
        height:330px;
        border-radius:20px;
    }

    .ap-service-content{
        left:22px;
        right:22px;
        bottom:22px;
    }

    .ap-service-content h3{font-size:24px}

    .ap-service-content p{
        max-width:100%;
        font-size:13px;
        line-height:1.55;
        margin:9px 0 14px;
    }

    .ap-service-number{
        width:38px;
        height:25px;
        margin-bottom:11px;
        font-size:10px;
    }

    .ap-service-link{font-size:13px}
    .ap-service-link b{font-size:17px}

    .ap-services-bottom{
        width:100%;
        margin-top:34px;
    }

    .ap-services-button{
        min-width:180px;
        padding:14px 22px;
        font-size:14px;
    }

    .ap-services .ap-service-reveal{
        transform:translate3d(0,45px,0) scale(.97);
        filter:blur(4px);
    }

    .ap-services-header > span.ap-service-reveal{
        transform:translate3d(0,-15px,0);
    }

    .ap-services-header h2.ap-service-reveal{
        transform:translate3d(0,25px,0) scale(.97);
    }

    .ap-services-header p.ap-service-reveal{
        transform:translate3d(0,20px,0);
    }

    .ap-service-card.ap-service-reveal{
        transform:translate3d(0,50px,0) scale(.96);
    }

    .ap-services-bottom.ap-service-reveal{
        transform:translate3d(0,30px,0);
    }

    .ap-service-card:nth-child(1).ap-service-show{transition-delay:.00s}
    .ap-service-card:nth-child(2).ap-service-show{transition-delay:.08s}
    .ap-service-card:nth-child(3).ap-service-show{transition-delay:.16s}
    .ap-service-card:nth-child(4).ap-service-show{transition-delay:.04s}
    .ap-service-card:nth-child(5).ap-service-show{transition-delay:.12s}
    .ap-service-card:nth-child(6).ap-service-show{transition-delay:.20s}
}

@media(max-width:400px){
    .ap-services{
        padding-left:14px;
        padding-right:14px;
    }

    .ap-services-header h2{font-size:29px}
    .ap-services-header p{font-size:13px}
    .ap-services .ap-service-card{height:310px}

    .ap-service-content{
        left:19px;
        right:19px;
        bottom:19px;
    }

    .ap-service-content h3{font-size:22px}
    .ap-service-content p{font-size:12px}
}

@media(prefers-reduced-motion:reduce){
    .ap-services .ap-service-reveal{
        opacity:1!important;
        transform:none!important;
        filter:none!important;
        transition:none!important;
    }
}

/* STANDARD */

.ap-standard-section{
    padding:145px 0;
    background:#07112A;
}

.ap-standard-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:100px;
}

.ap-standard-copy{
    max-width:620px;
}

.ap-standard-copy > p{
    max-width:520px;
}

.ap-standard-list{
    border-top:1px solid rgba(255,255,255,.10);
}

.ap-standard-list > div{
    display:grid;
    grid-template-columns:45px 130px 1fr;
    gap:20px;
    align-items:center;
    min-height:120px;
    border-bottom:1px solid rgba(255,255,255,.10);
}

.ap-standard-list strong{
    color:#6FEFFF;
    font-size:10px;
}

.ap-standard-list span{
    color:#F5F7FA;
    font-size:11px;
    font-weight:900;
    letter-spacing:.14em;
}

.ap-standard-list p{
    margin:0;
    color:rgba(245,247,250,.55);
    font-size:11px;
    line-height:1.6;
}

/* PROJECTS */
.ap-projects-section{
    padding:145px 0;
    background:#050A1F;
}

.ap-project-placeholder{
    min-height:520px;
    padding:55px;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:50px;
    background:
        radial-gradient(circle at 78% 35%,rgba(111,239,255,.13),transparent 26%),
        linear-gradient(135deg,#0A1733,#050A1F);
    border:1px solid rgba(111,239,255,.15);
    position:relative;
    overflow:hidden;
}

.ap-project-placeholder::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg,transparent 49.8%,rgba(111,239,255,.08) 50%,transparent 50.2%),
        linear-gradient(0deg,transparent 49.8%,rgba(111,239,255,.08) 50%,transparent 50.2%);
    background-size:90px 90px;
    opacity:.35;
}

.ap-project-placeholder > *{
    position:relative;
    z-index:1;
}

.ap-project-placeholder-kicker{
    color:#6FEFFF;
    font-size:9px;
    font-weight:800;
    letter-spacing:.18em;
}

.ap-project-placeholder h3{
    margin:16px 0 18px;
    color:#F5F7FA;
    font-size:clamp(45px,6vw,90px);
    line-height:.84;
    letter-spacing:-.06em;
}

.ap-project-placeholder p{
    max-width:430px;
    margin:0;
    color:rgba(245,247,250,.55);
    font-size:12px;
    line-height:1.75;
}

/* CTA */
.ap-cta-section{
    padding:150px 0;
    background:#07112A;
    border-top:1px solid rgba(111,239,255,.10);
}

.ap-cta-inner{
    max-width:900px;
}

.ap-cta-inner > p{
    max-width:560px;
    margin:28px 0 0;
}














/* RESPONSIVE */
@media(max-width:900px){
    .ap-home-container{
        width:calc(100% - 34px);
    }

    .ap-hero{
        min-height:calc(100vh - 68px);
    }

    .ap-hero-content{
        padding:80px 0 90px;
    }

    .ap-intro-grid,
    .ap-standard-grid{
        grid-template-columns:1fr;
        gap:55px;
    }

    .ap-section-head{
        display:block;
    }

    .ap-section-head > p{
        margin-top:30px;
    }

    .ap-services-grid{
        grid-template-columns:1fr;
    }

    .ap-project-placeholder{
        min-height:430px;
        display:block;
        padding:35px;
    }

    .ap-project-placeholder .ap-home-primary{
        margin-top:35px;
    }
}

@media(max-width:600px){
    .ap-home-container{
        width:calc(100% - 30px);
    }

    .ap-hero{
        min-height:calc(100vh - 68px);
    }

    .ap-hero-bg{
        background-position:58% center;
    }

    .ap-hero-overlay{
        background:
            linear-gradient(90deg,rgba(5,10,31,.96),rgba(5,10,31,.62)),
            linear-gradient(0deg,rgba(5,10,31,.95),transparent 60%);
    }

    .ap-hero-copy{
        font-size:14px;
    }

    .ap-hero-meta{
        gap:18px;
        flex-wrap:wrap;
        margin-top:48px;
    }

    .ap-scroll-note{
        display:none;
    }

    .ap-intro-section,
    .ap-services-section,
    .ap-standard-section,
    .ap-projects-section,
    .ap-cta-section{
        padding:95px 0;
    }

    .ap-service-card{
        min-height:280px;
        padding:26px;
    }

    .ap-standard-list > div{
        grid-template-columns:35px 95px 1fr;
        gap:10px;
    }

    .ap-project-placeholder{
        min-height:460px;
        padding:28px;
    }




}








/* =========================================================
   HOMEPAGE STEP 02 — STUDIO SHOWCASE + REFINED SERVICES
   ========================================================= */

.ap-reveal-section{
  opacity:0;
  transform:translateY(34px);
  transition:opacity .8s cubic-bezier(.2,.7,.2,1),
             transform .8s cubic-bezier(.2,.7,.2,1);
}
.ap-reveal-section.ap-is-visible{
  opacity:1;
  transform:none;
}

/* Studio */
.ap-intro-section{
  position:relative;
  overflow:hidden;
}
.ap-intro-section::before{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  right:-260px;
  top:-180px;
  border-radius:50%;
  background:rgba(111,239,255,.055);
  filter:blur(2px);
  pointer-events:none;
}
.ap-intro-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,460px);
  gap:80px;
  align-items:end;
  margin-bottom:70px;
}
.ap-intro-top h2{
  margin:0;
}
.ap-intro-statement{
  max-width:420px;
  margin:0 0 4px;
  color:rgba(245,247,250,.62);
  font-size:18px;
  line-height:1.55;
}
.ap-intro-showcase{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:80px;
  align-items:stretch;
}
.ap-intro-image{
  position:relative;
  min-height:570px;
  overflow:hidden;
  border:1px solid rgba(111,239,255,.16);
  background:#050A1F;
}
.ap-intro-image-inner{
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(180deg,rgba(5,10,31,.02),rgba(5,10,31,.50)),
    url('https://archerprasanta.com/wp-content/uploads/2026/09/a_wide_cinematic_ultra_detailed_photo_cg_styled.webp');
  background-size:cover;
  background-position:center;
  transform:scale(1.02);
  transition:transform 1s cubic-bezier(.2,.7,.2,1);
}
.ap-intro-image:hover .ap-intro-image-inner{
  transform:scale(1.065);
}
.ap-intro-image::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(5,10,31,.22),transparent 55%,rgba(5,10,31,.16));
  pointer-events:none;
}
.ap-image-tag{
  position:absolute;
  left:20px;
  bottom:20px;
  z-index:2;
  padding:8px 11px;
  color:#6FEFFF;
  background:rgba(5,10,31,.72);
  border:1px solid rgba(111,239,255,.22);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  font-size:8px;
  font-weight:800;
  letter-spacing:.15em;
}
.ap-intro-copy{
  align-self:center;
  max-width:570px;
  padding:15px 0;
}
.ap-intro-copy p{
  margin-top:0;
}
.ap-intro-copy .ap-lead{
  margin-bottom:24px;
}
.ap-intro-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  margin-top:48px;
  border-top:1px solid rgba(255,255,255,.10);
  border-bottom:1px solid rgba(255,255,255,.10);
}
.ap-intro-stats div{
  padding:19px 12px 18px 0;
  border-right:1px solid rgba(255,255,255,.10);
}
.ap-intro-stats div:last-child{
  border-right:0;
}
.ap-intro-stats strong{
  display:block;
  color:#6FEFFF;
  font-size:10px;
  font-weight:800;
  margin-bottom:7px;
}
.ap-intro-stats span{
  color:rgba(245,247,250,.60);
  font-size:8px;
  font-weight:800;
  letter-spacing:.16em;
}

/* Services refinement */
.ap-services-grid-premium{
  position:relative;
}
.ap-services-grid-premium .ap-service-card{
  min-height:340px;
}
.ap-services-grid-premium .ap-service-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:0;
  height:2px;
  background:#6FEFFF;
  transition:width .35s ease;
}
.ap-services-grid-premium .ap-service-card:hover::before{
  width:100%;
}
.ap-card-content{
  position:relative;
  z-index:1;
}
.ap-services-grid-premium .ap-service-card h3{
  transition:transform .3s ease,color .3s ease;
}
.ap-services-grid-premium .ap-service-card:hover h3{
  transform:translateX(4px);
  color:#6FEFFF;
}
.ap-services-grid-premium .ap-card-number{
  position:relative;
  z-index:1;
}

/* Standard/project/CTA visual continuity */
.ap-standard-section,
.ap-projects-section,
.ap-cta-section{
  position:relative;
  overflow:hidden;
}
.ap-standard-section::after,
.ap-projects-section::after,
.ap-cta-section::after{
  content:"";
  position:absolute;
  width:1px;
  top:0;
  bottom:0;
  right:5.5%;
  background:rgba(111,239,255,.07);
  pointer-events:none;
}

@media(max-width:900px){
  .ap-intro-top,
  .ap-intro-showcase{
    grid-template-columns:1fr;
    gap:45px;
  }
  .ap-intro-top{
    margin-bottom:50px;
  }
  .ap-intro-image{
    min-height:430px;
  }
  .ap-intro-copy{
    padding:0;
  }
}

@media(max-width:600px){
  .ap-intro-section::before{
    width:300px;
    height:300px;
    right:-170px;
    top:-80px;
  }
  .ap-intro-statement{
    font-size:16px;
  }
  .ap-intro-image{
    min-height:350px;
  }
  .ap-image-tag{
    left:14px;
    bottom:14px;
    font-size:7px;
  }
  .ap-intro-stats{
    margin-top:35px;
  }
  .ap-intro-stats div{
    padding-right:7px;
  }
  .ap-intro-stats span{
    font-size:7px;
  }
}


/* =========================================================
   STEP 03 — CINEMATIC SERVICE PHOTO CARDS
   ========================================================= */

.ap-services-photo-grid{
  background:rgba(111,239,255,.16);
  border:1px solid rgba(111,239,255,.18);
}

.ap-services-photo-grid .ap-service-photo-card{
  position:relative;
  min-height:430px;
  padding:0;
  display:flex;
  align-items:flex-end;
  isolation:isolate;
  overflow:hidden;
  background:#07112A;
  border:0;
  transform:none;
}

.ap-services-photo-grid .ap-service-photo-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:4;
  border:1px solid rgba(111,239,255,.08);
  pointer-events:none;
}

.ap-service-card-image{
  position:absolute;
  inset:0;
  z-index:-3;
  background-image:var(--ap-card-image);
  background-size:cover;
  background-position:center;
  transform:scale(1.015);
  filter:saturate(.88) contrast(1.08);
  transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .6s ease;
}

.ap-service-photo-paint .ap-service-card-image{
  background-position:center 42%;
}
.ap-service-photo-engine .ap-service-card-image{
  background-position:center 58%;
}
.ap-service-photo-detailing .ap-service-card-image{
  background-position:center 65%;
}

.ap-service-card-overlay{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(180deg,rgba(3,8,22,.10) 0%,rgba(3,8,22,.16) 28%,rgba(3,8,22,.76) 72%,rgba(3,8,22,.97) 100%),
    linear-gradient(90deg,rgba(3,8,22,.55),transparent 62%);
  transition:background .5s ease;
}

.ap-services-photo-grid .ap-service-photo-card:hover .ap-service-card-image{
  transform:scale(1.075);
  filter:saturate(1.05) contrast(1.1);
}

.ap-services-photo-grid .ap-service-photo-card:hover .ap-service-card-overlay{
  background:
    linear-gradient(180deg,rgba(3,8,22,.04) 0%,rgba(3,8,22,.12) 28%,rgba(3,8,22,.68) 68%,rgba(3,8,22,.96) 100%),
    linear-gradient(90deg,rgba(3,8,22,.42),transparent 68%);
}

/* Floating editorial content */
.ap-services-photo-grid .ap-card-number{
  position:absolute;
  top:27px;
  left:29px;
  z-index:5;
  color:#6FEFFF;
  font-size:9px;
  font-weight:900;
  letter-spacing:.16em;
  text-shadow:0 2px 12px rgba(0,0,0,.5);
}

.ap-services-photo-grid .ap-card-content{
  position:relative;
  z-index:5;
  width:calc(100% - 58px);
  margin:0 29px 30px;
  padding:0;
  transform:translateY(5px);
  transition:transform .45s cubic-bezier(.2,.7,.2,1);
}

.ap-services-photo-grid .ap-service-photo-card:hover .ap-card-content{
  transform:translateY(0);
}

.ap-services-photo-grid .ap-card-kicker{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  margin-bottom:10px;
  padding:0 9px;
  color:#6FEFFF;
  background:rgba(4,10,27,.60);
  border:1px solid rgba(111,239,255,.22);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  font-size:7px;
  font-weight:900;
  letter-spacing:.17em;
}

.ap-services-photo-grid .ap-service-photo-card h3{
  max-width:600px;
  margin:0 0 13px;
  color:#F5F7FA;
  font-size:clamp(34px,4vw,62px);
  line-height:.84;
  font-weight:850;
  letter-spacing:-.055em;
  text-shadow:0 5px 25px rgba(0,0,0,.45);
  transition:color .3s ease;
}

.ap-services-photo-grid .ap-service-photo-card:hover h3{
  color:#6FEFFF;
}

.ap-services-photo-grid .ap-service-photo-card p{
  max-width:390px;
  margin:0;
  color:rgba(245,247,250,.78);
  font-size:11px;
  line-height:1.65;
  text-shadow:0 2px 12px rgba(0,0,0,.5);
}

.ap-services-photo-grid .ap-card-arrow{
  position:absolute;
  right:29px;
  bottom:28px;
  z-index:5;
  width:45px;
  height:45px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#6FEFFF;
  background:rgba(4,10,27,.48);
  border:1px solid rgba(111,239,255,.35);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  font-size:21px;
  line-height:1;
  transition:transform .35s ease,background .3s ease,color .3s ease,border-color .3s ease;
}

.ap-services-photo-grid .ap-service-photo-card:hover .ap-card-arrow{
  transform:translate(4px,-4px);
  color:#03101D;
  background:#6FEFFF;
  border-color:#6FEFFF;
}

/* subtle corner marker */
.ap-services-photo-grid .ap-service-photo-card::after{
  content:"";
  position:absolute;
  right:0;
  top:0;
  width:82px;
  height:82px;
  z-index:5;
  border-top:1px solid rgba(111,239,255,.30);
  border-right:1px solid rgba(111,239,255,.30);
  opacity:.55;
  pointer-events:none;
}

@media(max-width:900px){
  .ap-services-photo-grid .ap-service-photo-card{
    min-height:390px;
  }
}

@media(max-width:600px){
  .ap-services-photo-grid .ap-service-photo-card{
    min-height:380px;
  }
  .ap-services-photo-grid .ap-card-content{
    width:calc(100% - 42px);
    margin:0 21px 24px;
  }
  .ap-services-photo-grid .ap-card-number{
    top:21px;
    left:21px;
  }
  .ap-services-photo-grid .ap-card-arrow{
    right:21px;
    bottom:22px;
    width:40px;
    height:40px;
  }
  .ap-services-photo-grid .ap-service-photo-card h3{
    font-size:clamp(32px,10vw,48px);
  }
  .ap-services-photo-grid .ap-service-photo-card p{
    max-width:calc(100% - 45px);
  }
}



/* =========================================================
   ARCHER PRASANTA — SERVICE CARDS FINAL TEXT POSITION
   STEP 03 OVERRIDE
   ========================================================= */

/* Card becomes a cinematic image canvas */
.ap-services-grid-premium .ap-service-card{
    position:relative;
    min-height:340px;
    padding:0;
    overflow:hidden;
    isolation:isolate;
}

/* Keep the service number floating at the top */
.ap-services-grid-premium .ap-service-card > .ap-card-number{
    position:absolute;
    top:22px;
    left:26px;
    z-index:5;
    color:#6FEFFF;
    font-size:9px;
    font-weight:900;
    letter-spacing:.16em;
    line-height:1;
}

/* Dark cinematic overlay for readability */
.ap-services-grid-premium .ap-service-card::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:
        linear-gradient(
            180deg,
            rgba(3,8,22,.08) 0%,
            rgba(3,8,22,.05) 35%,
            rgba(3,8,22,.40) 58%,
            rgba(3,8,22,.94) 100%
        );
}

/* Content is now anchored at the BOTTOM of the photo */
.ap-services-grid-premium .ap-service-card .ap-card-content{
    position:absolute;
    left:26px;
    right:70px;
    bottom:25px;
    z-index:4;
    margin:0;
    padding:0;
}

/* Small floating category label */
.ap-services-grid-premium .ap-card-kicker{
    display:inline-flex;
    align-items:center;
    min-height:22px;
    margin:0 0 9px;
    padding:0 8px;
    color:#6FEFFF;
    background:rgba(5,10,31,.52);
    border:1px solid rgba(111,239,255,.24);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    font-size:7px;
    font-weight:900;
    letter-spacing:.17em;
}

/* Main service title at the bottom */
.ap-services-grid-premium .ap-service-card h3{
    margin:0 0 9px;
    color:#F5F7FA;
    font-size:clamp(32px,3.1vw,52px);
    line-height:.86;
    font-weight:850;
    letter-spacing:-.055em;
    text-shadow:0 4px 22px rgba(0,0,0,.38);
    transition:transform .3s ease,color .3s ease;
}

/* Description directly under title */
.ap-services-grid-premium .ap-service-card p{
    max-width:430px;
    margin:0;
    color:rgba(245,247,250,.72);
    font-size:11px;
    line-height:1.55;
    text-shadow:0 2px 12px rgba(0,0,0,.55);
}

/* Floating arrow button */
.ap-services-grid-premium .ap-card-arrow{
    position:absolute;
    right:24px;
    bottom:24px;
    z-index:5;
    width:38px;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#6FEFFF;
    background:rgba(5,10,31,.48);
    border:1px solid rgba(111,239,255,.34);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    font-size:19px;
    line-height:1;
    transition:transform .3s ease,background .3s ease,border-color .3s ease;
}

/* Image zoom / premium hover */
.ap-services-grid-premium .ap-service-card:hover{
    z-index:3;
    transform:translateY(-3px);
}

.ap-services-grid-premium .ap-service-card:hover h3{
    transform:translateX(4px);
    color:#6FEFFF;
}

.ap-services-grid-premium .ap-service-card:hover .ap-card-arrow{
    transform:translate(4px,-4px);
    background:rgba(111,239,255,.10);
    border-color:rgba(111,239,255,.75);
}

/* Make the photo layer zoom without moving text */
.ap-services-grid-premium .ap-service-card::before{
    z-index:0;
    background-size:cover;
    background-position:center;
    transform:scale(1);
    transition:transform .8s cubic-bezier(.2,.7,.2,1);
}

.ap-services-grid-premium .ap-service-card:hover::before{
    transform:scale(1.055);
}

/* Desktop spacing */
@media (min-width:901px){
    .ap-services-grid-premium .ap-service-card{
        min-height:365px;
    }
}

/* Tablet */
@media (max-width:900px){
    .ap-services-grid-premium .ap-service-card{
        min-height:380px;
    }

    .ap-services-grid-premium .ap-service-card .ap-card-content{
        left:24px;
        right:65px;
        bottom:23px;
    }
}

/* Mobile */
@media (max-width:600px){
    .ap-services-grid-premium .ap-service-card{
        min-height:340px;
    }

    .ap-services-grid-premium .ap-service-card > .ap-card-number{
        top:18px;
        left:20px;
    }

    .ap-services-grid-premium .ap-service-card .ap-card-content{
        left:20px;
        right:58px;
        bottom:20px;
    }

    .ap-services-grid-premium .ap-card-kicker{
        margin-bottom:7px;
        font-size:6.5px;
    }

    .ap-services-grid-premium .ap-service-card h3{
        font-size:clamp(30px,9vw,43px);
        margin-bottom:8px;
    }

    .ap-services-grid-premium .ap-service-card p{
        font-size:10px;
        line-height:1.5;
    }

    .ap-services-grid-premium .ap-card-arrow{
        right:18px;
        bottom:18px;
        width:34px;
        height:34px;
        font-size:17px;
    }
}


/* =========================================================
   SERVICES FINAL OVERRIDE — 6 CARD PHOTO GRID
========================================================= */
body.ap-custom-theme .ap-services-section .ap-services-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
    background:transparent;
    border:0;
}
body.ap-custom-theme .ap-services-section .ap-service-card{
    min-height:0;
    padding:0;
    display:block;
    background:#071629;
}
body.ap-custom-theme .ap-services-section .ap-service-card h3{
    margin:0;
    color:#fff;
    font-size:27px;
    line-height:1.15;
    letter-spacing:.3px;
}
body.ap-custom-theme .ap-services-section .ap-service-card p{
    max-width:450px;
    margin:11px 0 17px;
    color:#b7cada;
    font-size:14px;
    line-height:1.55;
}
@media(max-width:1050px){
    body.ap-custom-theme .ap-services-section .ap-services-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:700px){
    body.ap-custom-theme .ap-services-section .ap-services-grid{
        grid-template-columns:1fr;
        gap:18px;
    }
}


/* =========================================================
   SERVICES HEADER — LEFT HEADING / RIGHT PARAGRAPH
========================================================= */
body.ap-custom-theme .ap-services .ap-services-header-split{
    width:100%;
    max-width:none;
    margin:0 0 58px;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(320px,460px);
    align-items:end;
    gap:80px;
    text-align:left;
}

body.ap-custom-theme .ap-services .ap-services-header-left{
    min-width:0;
}

body.ap-custom-theme .ap-services .ap-services-header-left .ap-section-label{
    display:flex;
    align-items:center;
    gap:10px;
    margin:0 0 20px;
    color:#6FEFFF;
    font-size:10px;
    font-weight:800;
    letter-spacing:.18em;
}

body.ap-custom-theme .ap-services .ap-services-header-left h2{
    margin:0;
    color:#F5F7FA;
    font-size:clamp(44px,5.2vw,78px);
    line-height:.90;
    font-weight:800;
    letter-spacing:-.055em;
}

body.ap-custom-theme .ap-services .ap-services-header-left h2 em{
    color:#6FEFFF;
    font-style:normal;
}

body.ap-custom-theme .ap-services .ap-services-header-right{
    padding-bottom:3px;
}

body.ap-custom-theme .ap-services .ap-services-header-right p{
    max-width:460px;
    margin:0;
    color:rgba(245,247,250,.65);
    font-size:14px;
    line-height:1.85;
}

/* Final CTA — right aligned */
body.ap-custom-theme .ap-services .ap-services-bottom{
    width:100%;
    display:flex;
    justify-content:flex-end;
    margin-top:34px;
}

body.ap-custom-theme .ap-services .ap-services-button{
    min-width:0;
    min-height:48px;
    padding:0 18px;
    border-radius:0;
    border:1px solid rgba(111,239,255,.42);
    background:rgba(111,239,255,.035);
    color:#6FEFFF!important;
    font-size:10px;
    font-weight:900;
    letter-spacing:.15em;
    transition:
        color .25s ease,
        background .25s ease,
        border-color .25s ease,
        transform .3s ease,
        box-shadow .3s ease;
}

body.ap-custom-theme .ap-services .ap-services-button:hover{
    color:#03101D!important;
    background:#6FEFFF;
    border-color:#6FEFFF;
    transform:translateY(-3px);
    box-shadow:0 15px 35px rgba(111,239,255,.18);
}

body.ap-custom-theme .ap-services .ap-services-button span{
    font-size:17px;
    line-height:1;
}

@media(max-width:900px){
    body.ap-custom-theme .ap-services .ap-services-header-split{
        grid-template-columns:1fr;
        gap:25px;
        margin-bottom:42px;
    }

    body.ap-custom-theme .ap-services .ap-services-header-left h2{
        font-size:clamp(42px,8vw,65px);
    }

    body.ap-custom-theme .ap-services .ap-services-header-right p{
        max-width:560px;
    }
}

@media(max-width:700px){
    body.ap-custom-theme .ap-services .ap-services-header-split{
        margin-bottom:38px;
    }

    body.ap-custom-theme .ap-services .ap-services-header-left .ap-section-label{
        font-size:9px;
        margin-bottom:15px;
    }

    body.ap-custom-theme .ap-services .ap-services-header-left h2{
        font-size:clamp(34px,10vw,48px);
    }

    body.ap-custom-theme .ap-services .ap-services-header-right p{
        font-size:13px;
        line-height:1.7;
    }

    body.ap-custom-theme .ap-services .ap-services-bottom{
        justify-content:flex-end;
        margin-top:28px;
    }
}

/* Split header reveal directions */
body.ap-custom-theme .ap-services-header-left .ap-section-label.ap-service-reveal{
    transform:translate3d(-28px,0,0);
}
body.ap-custom-theme .ap-services-header-left h2.ap-service-reveal{
    transform:translate3d(-35px,25px,0) scale(.97);
}
body.ap-custom-theme .ap-services-header-right p.ap-service-reveal{
    transform:translate3d(35px,25px,0);
}
body.ap-custom-theme .ap-services-header-left .ap-section-label.ap-service-show,
body.ap-custom-theme .ap-services-header-left h2.ap-service-show,
body.ap-custom-theme .ap-services-header-right p.ap-service-show{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
    filter:blur(0);
    transition:
        opacity .85s cubic-bezier(.16,1,.3,1),
        transform 1s cubic-bezier(.16,1,.3,1),
        filter .8s cubic-bezier(.16,1,.3,1);
}
body.ap-custom-theme .ap-services-header-left h2.ap-service-show{
    transition-delay:.08s;
}
body.ap-custom-theme .ap-services-header-right p.ap-service-show{
    transition-delay:.16s;
}
@media(max-width:700px){
    body.ap-custom-theme .ap-services-header-left .ap-section-label.ap-service-reveal{
        transform:translate3d(0,-15px,0);
    }
    body.ap-custom-theme .ap-services-header-left h2.ap-service-reveal{
        transform:translate3d(0,25px,0) scale(.97);
    }
    body.ap-custom-theme .ap-services-header-right p.ap-service-reveal{
        transform:translate3d(0,20px,0);
    }
}



/* =========================================================
   ARCHER PRASANTA — OUR STANDARD / CLEAN CINEMATIC V2
   Match the visual language of the surrounding sections.
   No scan lines, moving bars, floating orbs or ghost graphics.
========================================================= */

/* Keep the Studio intro and Standard section on the same base tone. */
.ap-intro-section,
.ap-standard-section{
    background:#07112A!important;
}

/* Remove the extra atmospheric graphics from the previous version. */
.ap-standard-section{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    min-height:0;
    padding:145px 0!important;
}

.ap-standard-section::before,
.ap-standard-section::after{
    content:none!important;
}

.ap-standard-atmosphere,
.ap-standard-process-line,
.ap-standard-process-footer,
.ap-standard-ghost-number,
.ap-standard-copy-top,
.ap-standard-title-wrap{
    display:none!important;
}

/* The section returns to the same clean editorial two-column rhythm. */
.ap-standard-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:100px;
    align-items:center;
}

.ap-standard-copy{
    max-width:620px;
}

.ap-standard-copy .ap-section-label{
    margin:0 0 28px;
}

.ap-standard-copy h2{
    margin:0!important;
    color:#F5F7FA;
    font-size:clamp(48px,5.4vw,82px)!important;
    line-height:.9!important;
    font-weight:800;
    letter-spacing:-.055em!important;
}

.ap-standard-copy h2 em{
    color:#6FEFFF!important;
    font-style:normal;
}

.ap-standard-copy .ap-lead{
    max-width:560px;
    margin:30px 0 0!important;
    color:#F5F7FA!important;
    font-size:19px!important;
    line-height:1.55!important;
}

.ap-standard-copy > p:not(.ap-section-label):not(.ap-lead){
    max-width:560px;
    margin:18px 0 0;
    color:rgba(245,247,250,.55);
    font-size:13px;
    line-height:1.85;
}

/* Clean process list — matching the original site language. */
.ap-standard-list{
    border-top:1px solid rgba(255,255,255,.10);
}

.ap-standard-list > div{
    position:relative;
    display:grid;
    grid-template-columns:45px 130px minmax(0,1fr);
    gap:20px;
    align-items:center;
    min-height:120px;
    padding:0;
    border-bottom:1px solid rgba(255,255,255,.10);
    overflow:hidden;
    transition:
        background .35s ease,
        padding .35s cubic-bezier(.16,1,.3,1),
        border-color .35s ease;
}

/* Very restrained hover accent — no moving scan effect. */
.ap-standard-list > div::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:2px;
    background:#6FEFFF;
    transform:scaleY(0);
    transform-origin:center;
    transition:transform .35s cubic-bezier(.16,1,.3,1);
}

.ap-standard-list > div:hover{
    padding-left:10px;
    background:rgba(111,239,255,.025);
    border-bottom-color:rgba(111,239,255,.16);
}

.ap-standard-list > div:hover::before{
    transform:scaleY(1);
}

.ap-standard-list strong{
    color:#6FEFFF;
    font-size:10px;
    font-weight:900;
}

.ap-standard-list span{
    color:#F5F7FA;
    font-size:11px;
    font-weight:900;
    letter-spacing:.14em;
    transition:color .3s ease,transform .3s ease;
}

.ap-standard-list p{
    margin:0;
    color:rgba(245,247,250,.48);
    font-size:11px;
    line-height:1.6;
    transition:color .3s ease,transform .3s ease;
}

.ap-standard-list > div:hover span{
    color:#6FEFFF;
    transform:translateX(3px);
}

.ap-standard-list > div:hover p{
    color:rgba(245,247,250,.68);
    transform:translateX(3px);
}

/* Clean section entrance. */
.ap-standard-section .ap-standard-copy,
.ap-standard-section .ap-standard-list{
    opacity:0;
    transform:translateY(28px);
    filter:blur(2px);
}

.ap-standard-section.ap-is-visible .ap-standard-copy,
.ap-standard-section.ap-is-visible .ap-standard-list{
    opacity:1;
    transform:none;
    filter:none;
    transition:
        opacity .8s cubic-bezier(.16,1,.3,1),
        transform .85s cubic-bezier(.16,1,.3,1),
        filter .7s ease;
}

.ap-standard-section.ap-is-visible .ap-standard-list{
    transition-delay:.10s;
}

/* Keep the Studio section's ambient circle extremely restrained so
   its background still feels like the same site, not a separate visual system. */
.ap-intro-section::before{
    background:rgba(111,239,255,.035)!important;
    filter:blur(4px)!important;
}

/* Responsive */
@media(max-width:900px){
    .ap-standard-section{
        padding:105px 0!important;
    }

    .ap-standard-grid{
        grid-template-columns:1fr;
        gap:55px;
    }
}

@media(max-width:600px){
    .ap-standard-section{
        padding:90px 0!important;
    }

    .ap-standard-copy h2{
        font-size:clamp(40px,10.5vw,56px)!important;
    }

    .ap-standard-copy .ap-lead{
        font-size:17px!important;
        margin-top:26px!important;
    }

    .ap-standard-copy > p:not(.ap-section-label):not(.ap-lead){
        font-size:12px;
        line-height:1.75;
    }

    .ap-standard-list > div{
        grid-template-columns:32px 82px minmax(0,1fr);
        gap:10px;
        min-height:105px;
    }

    .ap-standard-list strong{
        font-size:9px;
    }

    .ap-standard-list span{
        font-size:9px;
    }

    .ap-standard-list p{
        font-size:9px;
    }
}

@media(prefers-reduced-motion:reduce){
    .ap-standard-section .ap-standard-copy,
    .ap-standard-section .ap-standard-list{
        opacity:1!important;
        transform:none!important;
        filter:none!important;
        transition:none!important;
    }
}









/* =========================================================
   ARCHER PRASANTA — PAINT OPTIONS
   Card design inspired by existing main-site paint cards.
   Header / spacing / background follow staging 02 / WHAT WE DO.
   ========================================================= */

body.ap-custom-theme .ap-paint-options{
    width:100%;
    padding:100px 0 110px;
    position:relative;
    overflow:hidden;
    background:#050A1F;
}

body.ap-custom-theme .ap-paint-options .ap-paint-header-split{
    width:100%;
    margin:0 0 58px;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(320px,460px);
    align-items:end;
    gap:80px;
    text-align:left;
}

body.ap-custom-theme .ap-paint-header-left{
    min-width:0;
}

body.ap-custom-theme .ap-paint-header-left .ap-section-label{
    margin:0 0 20px;
}

body.ap-custom-theme .ap-paint-header-left h2{
    margin:0;
    color:#F5F7FA;
    font-size:clamp(44px,5.2vw,78px);
    line-height:.90;
    font-weight:800;
    letter-spacing:-.055em;
}

body.ap-custom-theme .ap-paint-header-left h2 em{
    color:#6FEFFF;
    font-style:normal;
}

body.ap-custom-theme .ap-paint-header-right{
    padding-bottom:3px;
}

body.ap-custom-theme .ap-paint-header-right p{
    max-width:460px;
    margin:0;
    color:rgba(245,247,250,.65);
    font-size:14px;
    line-height:1.85;
}


/* GRID */

body.ap-custom-theme .ap-paint-grid{
    width:100%;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:20px;
}


/* CARD */

body.ap-custom-theme .ap-paint-card{
    position:relative;
    display:block;
    width:100%;
    min-width:0;
    overflow:hidden;
    text-decoration:none;
    cursor:pointer;
    background:linear-gradient(180deg,#12263b 0%,#08192b 100%);
    border:1px solid rgba(111,239,255,.15);
    border-radius:22px;
    isolation:isolate;
    box-shadow:0 18px 45px rgba(0,0,0,.25);

    opacity:0;
    transform:translate3d(0,45px,0) scale(.97);
    filter:blur(3px);

    transition:
        opacity .75s cubic-bezier(.16,1,.3,1),
        transform .75s cubic-bezier(.16,1,.3,1),
        filter .65s ease,
        border-color .28s ease,
        box-shadow .28s ease;
}

body.ap-custom-theme .ap-paint-card.ap-paint-show{
    opacity:1;
    transform:none;
    filter:none;
}


/* stagger */

body.ap-custom-theme .ap-paint-card:nth-child(1).ap-paint-show{transition-delay:.05s}
body.ap-custom-theme .ap-paint-card:nth-child(2).ap-paint-show{transition-delay:.12s}
body.ap-custom-theme .ap-paint-card:nth-child(3).ap-paint-show{transition-delay:.19s}
body.ap-custom-theme .ap-paint-card:nth-child(4).ap-paint-show{transition-delay:.26s}
body.ap-custom-theme .ap-paint-card:nth-child(5).ap-paint-show{transition-delay:.33s}
body.ap-custom-theme .ap-paint-card:nth-child(6).ap-paint-show{transition-delay:.40s}
body.ap-custom-theme .ap-paint-card:nth-child(7).ap-paint-show{transition-delay:.47s}
body.ap-custom-theme .ap-paint-card:nth-child(8).ap-paint-show{transition-delay:.54s}


/* IMAGE */

body.ap-custom-theme .ap-paint-image{
    position:relative;
    width:100%;
    aspect-ratio:4/3;
    overflow:hidden;
    background:#071629;
}

body.ap-custom-theme .ap-paint-image img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transform:scale(1.04);
    filter:brightness(.78) saturate(.90);
    transition:
        transform .75s cubic-bezier(.16,1,.3,1),
        filter .45s ease;
}

body.ap-custom-theme .ap-paint-card.ap-paint-show .ap-paint-image img{
    transform:scale(1);
    filter:brightness(.92) saturate(1);
}

body.ap-custom-theme .ap-paint-image::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(
        180deg,
        rgba(3,12,22,.03) 35%,
        rgba(3,12,22,.48) 100%
    );
}


/* NUMBER */

body.ap-custom-theme .ap-paint-number{
    position:absolute;
    left:14px;
    top:14px;
    z-index:3;
    display:flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:26px;
    border-radius:7px;
    background:rgba(4,18,32,.75);
    border:1px solid rgba(111,239,255,.30);
    color:#6FEFFF;
    font-size:10px;
    font-weight:800;
    letter-spacing:1px;
    backdrop-filter:blur(8px);
}


/* INFO */

body.ap-custom-theme .ap-paint-info{
    padding:20px 18px 21px;
}

body.ap-custom-theme .ap-paint-info h3{
    margin:0;
    color:#fff;
    font-size:20px;
    line-height:1.2;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.15px;
    transition:
        color .25s ease,
        transform .25s ease;
}

body.ap-custom-theme .ap-paint-info p{
    min-height:62px;
    margin:10px 0 17px;
    color:#b7cada;
    font-size:12px;
    line-height:1.58;
    transition:color .25s ease;
}

body.ap-custom-theme .ap-paint-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#6FEFFF;
    font-size:12px;
    font-weight:800;
    transition:color .25s ease,transform .25s ease;
}

body.ap-custom-theme .ap-paint-link b{
    display:inline-block;
    font-size:17px;
    font-weight:400;
    transition:transform .25s cubic-bezier(.16,1,.3,1);
}


/* HOVER */

body.ap-custom-theme .ap-paint-card:not(.ap-paint-coming):hover{
    transform:translateY(-8px) scale(1.008);
    border-color:rgba(111,239,255,.65);
    box-shadow:
        0 28px 65px rgba(0,0,0,.42),
        0 0 30px rgba(111,239,255,.10);
}

body.ap-custom-theme .ap-paint-card:not(.ap-paint-coming):hover .ap-paint-image img{
    transform:scale(1.075);
    filter:brightness(1) saturate(1.08);
}

body.ap-custom-theme .ap-paint-card:not(.ap-paint-coming):hover .ap-paint-info h3{
    color:#6FEFFF;
    transform:translateX(2px);
}

body.ap-custom-theme .ap-paint-card:not(.ap-paint-coming):hover .ap-paint-info p{
    color:#d3e0eb;
}

body.ap-custom-theme .ap-paint-card:not(.ap-paint-coming):hover .ap-paint-link{
    color:#fff;
    transform:translateX(2px);
}

body.ap-custom-theme .ap-paint-card:not(.ap-paint-coming):hover .ap-paint-link b{
    transform:translateX(7px);
}


/* COMING SOON */

body.ap-custom-theme .ap-paint-coming{
    cursor:default;
}

body.ap-custom-theme .ap-coming-badge{
    position:absolute;
    right:14px;
    top:14px;
    z-index:3;
    padding:7px 9px;
    border-radius:7px;
    background:rgba(4,18,32,.82);
    border:1px solid rgba(111,239,255,.25);
    color:#6FEFFF;
    font-size:8px;
    font-weight:800;
    letter-spacing:1px;
    backdrop-filter:blur(8px);
}


/* BOTTOM CTA — right aligned, like staging services */

body.ap-custom-theme .ap-paint-bottom{
    width:100%;
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:28px;
    margin-top:34px;
}

body.ap-custom-theme .ap-paint-bottom p{
    margin:0;
    color:rgba(245,247,250,.62);
    font-size:13px;
    line-height:1.7;
}

body.ap-custom-theme .ap-paint-bottom strong{
    color:#F5F7FA;
}

body.ap-custom-theme .ap-paint-button{
    min-height:48px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:0 18px;
    border:1px solid rgba(111,239,255,.42);
    background:rgba(111,239,255,.035);
    color:#6FEFFF!important;
    font-size:10px;
    font-weight:900;
    letter-spacing:.15em;
    text-decoration:none;
    transition:
        color .25s ease,
        background .25s ease,
        border-color .25s ease,
        transform .3s ease,
        box-shadow .3s ease;
}

body.ap-custom-theme .ap-paint-button span{
    font-size:17px;
    line-height:1;
}

body.ap-custom-theme .ap-paint-button:hover{
    color:#03101D!important;
    background:#6FEFFF;
    border-color:#6FEFFF;
    transform:translateY(-3px);
    box-shadow:0 15px 35px rgba(111,239,255,.18);
}


/* HEADER REVEAL */

body.ap-custom-theme .ap-paint-options .ap-paint-header-left,
body.ap-custom-theme .ap-paint-options .ap-paint-header-right{
    opacity:0;
    filter:blur(4px);
    transition:
        opacity .8s cubic-bezier(.16,1,.3,1),
        transform .9s cubic-bezier(.16,1,.3,1),
        filter .7s ease;
}

body.ap-custom-theme .ap-paint-options .ap-paint-header-left{
    transform:translate3d(-28px,20px,0);
}

body.ap-custom-theme .ap-paint-options .ap-paint-header-right{
    transform:translate3d(28px,20px,0);
}

body.ap-custom-theme .ap-paint-options.ap-paint-visible .ap-paint-header-left,
body.ap-custom-theme .ap-paint-options.ap-paint-visible .ap-paint-header-right{
    opacity:1;
    transform:none;
    filter:none;
}

body.ap-custom-theme .ap-paint-options.ap-paint-visible .ap-paint-header-right{
    transition-delay:.12s;
}


/* SECTION REVEAL */

body.ap-custom-theme .ap-paint-options.ap-paint-visible .ap-paint-bottom{
    animation:apPaintBottomIn .8s cubic-bezier(.16,1,.3,1) .65s both;
}

@keyframes apPaintBottomIn{
    from{
        opacity:0;
        transform:translateY(25px);
    }
    to{
        opacity:1;
        transform:none;
    }
}


/* RESPONSIVE */

@media(max-width:1100px){

    body.ap-custom-theme .ap-paint-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

}

@media(max-width:900px){

    body.ap-custom-theme .ap-paint-options{
        padding:95px 0;
    }

    body.ap-custom-theme .ap-paint-options .ap-paint-header-split{
        grid-template-columns:1fr;
        gap:25px;
        margin-bottom:42px;
    }

    body.ap-custom-theme .ap-paint-header-left h2{
        font-size:clamp(42px,8vw,65px);
    }

    body.ap-custom-theme .ap-paint-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:16px;
    }

    body.ap-custom-theme .ap-paint-bottom{
        justify-content:flex-end;
        align-items:flex-end;
        flex-direction:column;
        gap:18px;
    }

}

@media(max-width:700px){

    body.ap-custom-theme .ap-paint-options{
        padding:80px 0;
    }

    body.ap-custom-theme .ap-paint-grid{
        grid-template-columns:1fr 1fr;
        gap:12px;
    }

    body.ap-custom-theme .ap-paint-header-left .ap-section-label{
        font-size:9px;
        margin-bottom:15px;
    }

    body.ap-custom-theme .ap-paint-header-left h2{
        font-size:clamp(34px,10vw,48px);
    }

    body.ap-custom-theme .ap-paint-header-right p{
        font-size:13px;
        line-height:1.7;
    }

    body.ap-custom-theme .ap-paint-info{
        padding:15px 13px 17px;
    }

    body.ap-custom-theme .ap-paint-info h3{
        font-size:15px;
    }

    body.ap-custom-theme .ap-paint-info p{
        min-height:0;
        margin:8px 0 12px;
        font-size:10px;
        line-height:1.5;
    }

    body.ap-custom-theme .ap-paint-link{
        font-size:10px;
    }

    body.ap-custom-theme .ap-paint-number{
        left:9px;
        top:9px;
        width:29px;
        height:22px;
        font-size:8px;
    }

    body.ap-custom-theme .ap-coming-badge{
        right:8px;
        top:8px;
        padding:5px 6px;
        font-size:7px;
    }

    body.ap-custom-theme .ap-paint-bottom{
        margin-top:28px;
        align-items:stretch;
        text-align:right;
    }

    body.ap-custom-theme .ap-paint-button{
        width:max-content;
    }

}

@media(max-width:390px){

    body.ap-custom-theme .ap-paint-grid{
        gap:9px;
    }

    body.ap-custom-theme .ap-paint-info{
        padding:13px 11px 15px;
    }

    body.ap-custom-theme .ap-paint-info h3{
        font-size:13px;
    }

    body.ap-custom-theme .ap-paint-info p{
        font-size:9px;
    }

}

@media(prefers-reduced-motion:reduce){

    body.ap-custom-theme .ap-paint-options .ap-paint-header-left,
    body.ap-custom-theme .ap-paint-options .ap-paint-header-right,
    body.ap-custom-theme .ap-paint-card{
        opacity:1!important;
        transform:none!important;
        filter:none!important;
        transition:none!important;
    }

}
/* =========================================================
   ARCHER PRASANTA — 06 / SOCIAL
   Premium social gallery for the custom staging theme.
   Background intentionally matches 03 / OUR STANDARD.
========================================================= */

body.ap-custom-theme .ap-social-modern,
body.ap-custom-theme .ap-social-modern *,
body.ap-custom-theme .ap-social-modern *::before,
body.ap-custom-theme .ap-social-modern *::after{
    box-sizing:border-box;
}

body.ap-custom-theme .ap-social-modern{
    width:100%;
    max-width:100%;
    margin:0;
    padding:145px 0 135px;
    position:relative;
    overflow:hidden;
    isolation:isolate;
    background:#07112A!important;
    color:#F5F7FA;
}

body.ap-custom-theme .ap-social-modern-inner{
    width:min(calc(100% - 48px),1440px);
    margin:0 auto;
    position:relative;
}

/* Subtle atmosphere — deliberately restrained to match OUR STANDARD. */
body.ap-custom-theme .ap-social-modern::before{
    content:"";
    position:absolute;
    width:560px;
    height:560px;
    right:-310px;
    top:-220px;
    border-radius:50%;
    background:rgba(111,239,255,.025);
    filter:blur(4px);
    pointer-events:none;
}

body.ap-custom-theme .ap-social-modern::after{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    left:-280px;
    bottom:-220px;
    border-radius:50%;
    background:rgba(111,239,255,.018);
    filter:blur(5px);
    pointer-events:none;
}

/* =========================================================
   HEADER
========================================================= */
body.ap-custom-theme .ap-social-modern-header{
    width:100%;
    max-width:850px;
    margin:0 auto 30px;
    text-align:center;
    position:relative;
    z-index:2;
    opacity:0;
    visibility:hidden;
    transform:translate3d(0,55px,0) scale(.97);
    filter:blur(8px);
    will-change:opacity,transform,filter;
    transition:
        opacity .75s cubic-bezier(.16,1,.3,1),
        transform .85s cubic-bezier(.16,1,.3,1),
        filter .65s ease;
}

body.ap-custom-theme .ap-social-modern-label{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    margin-bottom:18px;
    color:#6FEFFF;
    font-size:11px;
    font-weight:800;
    letter-spacing:4px;
    opacity:0;
    transform:translate3d(0,-18px,0);
    filter:blur(5px);
    transition:
        opacity .55s ease,
        transform .65s cubic-bezier(.16,1,.3,1),
        filter .55s ease;
}

body.ap-custom-theme .ap-social-modern-label span{
    width:30px;
    height:1px;
    display:block;
    flex:0 0 30px;
    background:#6FEFFF;
    opacity:.6;
    transform:scaleX(.4);
    transition:
        transform .65s cubic-bezier(.16,1,.3,1),
        opacity .4s ease;
}

body.ap-custom-theme .ap-social-modern-header h2{
    margin:0;
    color:#ffffff;
    font-size:clamp(46px,4.3vw,64px);
    line-height:1.06;
    font-weight:800;
    letter-spacing:-.045em;
    opacity:0;
    transform:translate3d(0,28px,0) scale(.97);
    filter:blur(5px);
    transition:
        opacity .65s cubic-bezier(.16,1,.3,1),
        transform .75s cubic-bezier(.16,1,.3,1),
        filter .6s ease;
}

body.ap-custom-theme .ap-social-modern-header h2 em{
    color:#6FEFFF;
    font-style:normal;
}

body.ap-custom-theme .ap-social-modern-header p{
    max-width:650px;
    margin:18px auto 0;
    color:rgba(245,247,250,.62);
    font-size:14px;
    line-height:1.85;
    opacity:0;
    transform:translate3d(0,20px,0);
    filter:blur(4px);
    transition:
        opacity .6s ease,
        transform .7s cubic-bezier(.16,1,.3,1),
        filter .55s ease;
}

/* =========================================================
   SOCIAL NAV
========================================================= */
body.ap-custom-theme .ap-social-modern-nav{
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
    margin:0 0 52px;
    opacity:0;
    transform:translate3d(0,25px,0) scale(.98);
    filter:blur(4px);
    transition:
        opacity .65s cubic-bezier(.16,1,.3,1),
        transform .75s cubic-bezier(.16,1,.3,1),
        filter .55s ease;
}

body.ap-custom-theme .ap-social-modern-nav a{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:40px;
    padding:0 16px;
    border:1px solid rgba(111,239,255,.25);
    border-radius:50px;
    background:rgba(111,239,255,.015);
    color:#d8f8fc!important;
    text-decoration:none!important;
    font-size:11px;
    font-weight:800;
    letter-spacing:.02em;
    overflow:hidden;
    transition:
        transform .25s cubic-bezier(.22,.8,.2,1),
        background .2s ease,
        border-color .2s ease,
        color .2s ease,
        box-shadow .25s ease;
}

body.ap-custom-theme .ap-social-modern-nav a::before{
    content:"";
    position:absolute;
    top:0;
    left:-120%;
    width:70%;
    height:100%;
    pointer-events:none;
    background:linear-gradient(110deg,transparent,rgba(255,255,255,.35),transparent);
    transform:skewX(-20deg);
}

body.ap-custom-theme .ap-social-modern-nav .social-symbol{
    position:relative;
    z-index:1;
    color:#6FEFFF;
    font-weight:900;
    line-height:1;
    transition:transform .22s cubic-bezier(.22,.8,.2,1),color .2s ease;
}

body.ap-custom-theme .ap-social-modern-nav a:hover{
    background:#6FEFFF;
    border-color:#6FEFFF;
    color:#071629!important;
    transform:translateY(-4px) scale(1.025);
    box-shadow:0 10px 25px rgba(111,239,255,.18);
}

body.ap-custom-theme .ap-social-modern-nav a:hover .social-symbol{
    color:#071629;
    transform:scale(1.1);
}

/* =========================================================
   GALLERY
========================================================= */
body.ap-custom-theme .ap-social-modern-grid{
    width:100%;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    position:relative;
    z-index:2;
}

body.ap-custom-theme .ap-social-modern-item{
    position:relative;
    display:block;
    width:100%;
    min-width:0;
    aspect-ratio:4/3;
    overflow:hidden;
    border-radius:18px;
    border:1px solid rgba(111,239,255,.16);
    text-decoration:none!important;
    background:#071629;
    opacity:0;
    visibility:hidden;
    transform:translate3d(0,60px,0) scale(.94);
    filter:blur(5px);
    will-change:opacity,transform,filter;
    box-shadow:0 15px 40px rgba(0,0,0,.18);
    transition:
        opacity .7s cubic-bezier(.16,1,.3,1),
        transform .38s cubic-bezier(.22,.8,.2,1),
        filter .6s ease,
        border-color .22s ease,
        box-shadow .28s ease;
}

body.ap-custom-theme .ap-social-modern-item::before{
    content:"";
    position:absolute;
    top:-20%;
    left:-120%;
    width:60%;
    height:150%;
    z-index:10;
    pointer-events:none;
    background:linear-gradient(105deg,transparent,rgba(255,255,255,.16),rgba(111,239,255,.08),transparent);
    transform:skewX(-20deg);
    opacity:0;
}

body.ap-custom-theme .ap-social-modern-item img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transform:scale(1.06);
    filter:brightness(.82) saturate(.90);
    will-change:transform,filter;
    transition:
        transform .40s cubic-bezier(.22,.8,.2,1),
        filter .25s ease;
}

body.ap-custom-theme .ap-social-modern-item::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:2;
    pointer-events:none;
    background:linear-gradient(180deg,rgba(2,10,20,0) 45%,rgba(2,10,20,.75) 100%);
    opacity:0;
    transition:opacity .25s ease;
}

body.ap-custom-theme .ap-social-modern-overlay{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    z-index:5;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:15px;
    width:100%;
    padding:22px;
    background:linear-gradient(transparent,rgba(4,12,28,.94));
    opacity:0;
    transform:translate3d(0,16px,0);
    transition:opacity .25s ease,transform .30s cubic-bezier(.22,.8,.2,1);
}

body.ap-custom-theme .ap-social-modern-overlay small{
    display:block;
    margin-bottom:6px;
    color:#6FEFFF;
    font-size:9px;
    font-weight:800;
    letter-spacing:2px;
}

body.ap-custom-theme .ap-social-modern-overlay strong{
    display:block;
    color:#ffffff;
    font-size:16px;
    line-height:1.25;
    font-weight:800;
}

body.ap-custom-theme .ap-social-modern-arrow{
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    flex:0 0 42px;
    border:1px solid #6FEFFF;
    border-radius:50%;
    color:#6FEFFF;
    font-size:20px;
    transition:background .22s ease,color .22s ease,transform .28s cubic-bezier(.22,.8,.2,1);
}

body.ap-custom-theme .ap-social-modern-item:hover{
    transform:translate3d(0,-8px,0) scale(1.008);
    border-color:rgba(111,239,255,.65);
    box-shadow:0 25px 55px rgba(0,0,0,.35),0 0 25px rgba(111,239,255,.08);
}

body.ap-custom-theme .ap-social-modern-item:hover img{
    transform:scale(1.09);
    filter:brightness(.62) saturate(1.08);
}

body.ap-custom-theme .ap-social-modern-item:hover::after{
    opacity:1;
}

body.ap-custom-theme .ap-social-modern-item:hover::before{
    opacity:1;
    animation:apSocialCardSweep .65s cubic-bezier(.2,.7,.2,1) 1;
}

body.ap-custom-theme .ap-social-modern-item:hover .ap-social-modern-overlay{
    opacity:1;
    transform:translate3d(0,0,0);
}

body.ap-custom-theme .ap-social-modern-item:hover .ap-social-modern-arrow{
    background:#6FEFFF;
    color:#071629;
    transform:rotate(45deg) scale(1.04);
}

@keyframes apSocialCardSweep{
    0%{left:-120%}
    100%{left:140%}
}

/* =========================================================
   BOTTOM CTA
========================================================= */
body.ap-custom-theme .ap-social-modern-bottom{
    width:100%;
    margin-top:48px;
    opacity:0;
    visibility:hidden;
    transform:translate3d(0,35px,0) scale(.98);
    filter:blur(4px);
    transition:
        opacity .65s cubic-bezier(.16,1,.3,1),
        transform .75s cubic-bezier(.16,1,.3,1),
        filter .55s ease;
}

body.ap-custom-theme .ap-social-modern-line{
    width:100%;
    height:1px;
    background:rgba(111,239,255,.16);
    transform:scaleX(.5);
    transform-origin:center;
    transition:transform .8s cubic-bezier(.16,1,.3,1);
}

body.ap-custom-theme .ap-social-modern-cta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:22px 5px;
}

body.ap-custom-theme .ap-social-modern-cta > span{
    color:#91aabd;
    font-size:13px;
}

body.ap-custom-theme .ap-social-modern-cta > span strong{
    color:#6FEFFF;
}

body.ap-custom-theme .ap-social-modern-cta a{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:#6FEFFF!important;
    text-decoration:none!important;
    font-size:12px;
    font-weight:800;
    letter-spacing:.03em;
    transition:color .2s ease;
}

body.ap-custom-theme .ap-social-modern-cta a b{
    display:inline-block;
    font-size:19px;
    font-weight:400;
    transition:transform .25s cubic-bezier(.22,.8,.2,1);
}

body.ap-custom-theme .ap-social-modern-cta a:hover{
    color:#ffffff!important;
}

body.ap-custom-theme .ap-social-modern-cta a:hover b{
    transform:translateX(6px);
}

/* =========================================================
   VIEWPORT ACTIVE
========================================================= */
body.ap-custom-theme .ap-social-modern.ap-social-visible .ap-social-modern-header{
    opacity:1;
    visibility:visible;
    transform:translate3d(0,0,0) scale(1);
    filter:blur(0);
}

body.ap-custom-theme .ap-social-modern.ap-social-visible .ap-social-modern-label{
    opacity:1;
    transform:translate3d(0,0,0);
    filter:blur(0);
    transition-delay:.05s;
}

body.ap-custom-theme .ap-social-modern.ap-social-visible .ap-social-modern-label span{
    transform:scaleX(1);
    opacity:.65;
    transition-delay:.10s;
}

body.ap-custom-theme .ap-social-modern.ap-social-visible .ap-social-modern-header h2{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
    filter:blur(0);
    transition-delay:.16s;
}

body.ap-custom-theme .ap-social-modern.ap-social-visible .ap-social-modern-header p{
    opacity:1;
    transform:translate3d(0,0,0);
    filter:blur(0);
    transition-delay:.28s;
}

body.ap-custom-theme .ap-social-modern.ap-social-visible .ap-social-modern-nav{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
    filter:blur(0);
    transition-delay:.38s;
}

body.ap-custom-theme .ap-social-modern.ap-social-visible .ap-social-modern-item{
    opacity:1;
    visibility:visible;
    transform:translate3d(0,0,0) scale(1);
    filter:blur(0);
}

body.ap-custom-theme .ap-social-modern.ap-social-visible .ap-social-modern-item:nth-child(1){transition-delay:.48s}
body.ap-custom-theme .ap-social-modern.ap-social-visible .ap-social-modern-item:nth-child(2){transition-delay:.58s}
body.ap-custom-theme .ap-social-modern.ap-social-visible .ap-social-modern-item:nth-child(3){transition-delay:.68s}
body.ap-custom-theme .ap-social-modern.ap-social-visible .ap-social-modern-item:nth-child(4){transition-delay:.78s}
body.ap-custom-theme .ap-social-modern.ap-social-visible .ap-social-modern-item:nth-child(5){transition-delay:.88s}
body.ap-custom-theme .ap-social-modern.ap-social-visible .ap-social-modern-item:nth-child(6){transition-delay:.98s}

body.ap-custom-theme .ap-social-modern.ap-social-visible .ap-social-modern-item::before{
    opacity:1;
    animation:apSocialRevealSweep 1.1s cubic-bezier(.2,.7,.2,1) .55s 1;
}

@keyframes apSocialRevealSweep{
    0%{left:-120%}
    100%{left:140%}
}

body.ap-custom-theme .ap-social-modern.ap-social-visible .ap-social-modern-bottom{
    opacity:1;
    visibility:visible;
    transform:translate3d(0,0,0) scale(1);
    filter:blur(0);
    transition-delay:1.15s;
}

body.ap-custom-theme .ap-social-modern.ap-social-visible .ap-social-modern-line{
    transform:scaleX(1);
    transition-delay:1.25s;
}

/* =========================================================
   TABLET
========================================================= */
@media(max-width:1100px){
    body.ap-custom-theme .ap-social-modern{
        padding:115px 0 110px;
    }

    body.ap-custom-theme .ap-social-modern-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    body.ap-custom-theme .ap-social-modern.ap-social-visible .ap-social-modern-item:nth-child(1){transition-delay:.45s}
    body.ap-custom-theme .ap-social-modern.ap-social-visible .ap-social-modern-item:nth-child(2){transition-delay:.55s}
    body.ap-custom-theme .ap-social-modern.ap-social-visible .ap-social-modern-item:nth-child(3){transition-delay:.65s}
    body.ap-custom-theme .ap-social-modern.ap-social-visible .ap-social-modern-item:nth-child(4){transition-delay:.75s}
    body.ap-custom-theme .ap-social-modern.ap-social-visible .ap-social-modern-item:nth-child(5){transition-delay:.85s}
    body.ap-custom-theme .ap-social-modern.ap-social-visible .ap-social-modern-item:nth-child(6){transition-delay:.95s}
}

@media(max-width:900px){
    body.ap-custom-theme .ap-social-modern-header h2{
        font-size:clamp(40px,6vw,54px);
    }
}

/* =========================================================
   MOBILE
========================================================= */
@media(max-width:600px){
    body.ap-custom-theme .ap-social-modern{
        width:100%;
        max-width:100%;
        padding:90px 0 85px;
    }

    body.ap-custom-theme .ap-social-modern-inner{
        width:calc(100% - 30px);
        max-width:100%;
    }

    body.ap-custom-theme .ap-social-modern-header{
        max-width:100%;
        margin:0 auto 25px;
    }

    body.ap-custom-theme .ap-social-modern-label{
        gap:8px;
        margin-bottom:14px;
        font-size:9px;
        letter-spacing:2.8px;
    }

    body.ap-custom-theme .ap-social-modern-label span{
        width:21px;
        flex-basis:21px;
    }

    body.ap-custom-theme .ap-social-modern-header h2{
        width:100%;
        font-size:clamp(30px,8.8vw,42px);
        line-height:1.12;
        letter-spacing:-.035em;
    }

    body.ap-custom-theme .ap-social-modern-header p{
        width:100%;
        margin:14px auto 0;
        font-size:12px;
        line-height:1.7;
    }

    body.ap-custom-theme .ap-social-modern-nav{
        width:100%;
        gap:7px;
        margin-bottom:32px;
    }

    body.ap-custom-theme .ap-social-modern-nav a{
        min-height:36px;
        padding:0 11px;
        font-size:10px;
    }

    body.ap-custom-theme .ap-social-modern-grid{
        grid-template-columns:1fr 1fr;
        gap:10px;
    }

    body.ap-custom-theme .ap-social-modern-item{
        aspect-ratio:1/1;
        border-radius:13px;
    }

    body.ap-custom-theme .ap-social-modern.ap-social-visible .ap-social-modern-item:nth-child(1){transition-delay:.35s}
    body.ap-custom-theme .ap-social-modern.ap-social-visible .ap-social-modern-item:nth-child(2){transition-delay:.43s}
    body.ap-custom-theme .ap-social-modern.ap-social-visible .ap-social-modern-item:nth-child(3){transition-delay:.51s}
    body.ap-custom-theme .ap-social-modern.ap-social-visible .ap-social-modern-item:nth-child(4){transition-delay:.59s}
    body.ap-custom-theme .ap-social-modern.ap-social-visible .ap-social-modern-item:nth-child(5){transition-delay:.67s}
    body.ap-custom-theme .ap-social-modern.ap-social-visible .ap-social-modern-item:nth-child(6){transition-delay:.75s}

    body.ap-custom-theme .ap-social-modern-item img{
        transform:scale(1.04);
    }

    body.ap-custom-theme .ap-social-modern-overlay{
        opacity:1;
        transform:translate3d(0,0,0);
        padding:12px;
        background:linear-gradient(transparent,rgba(4,12,28,.90));
    }

    body.ap-custom-theme .ap-social-modern-overlay small{
        margin-bottom:3px;
        font-size:7px;
        letter-spacing:1.3px;
    }

    body.ap-custom-theme .ap-social-modern-overlay strong{
        max-width:calc(100% - 34px);
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
        font-size:10px;
    }

    body.ap-custom-theme .ap-social-modern-arrow{
        width:28px;
        height:28px;
        flex-basis:28px;
        font-size:14px;
    }

    body.ap-custom-theme .ap-social-modern-item:hover{
        transform:translate3d(0,-5px,0) scale(1.005);
    }

    body.ap-custom-theme .ap-social-modern-item:hover img{
        transform:scale(1.065);
    }

    body.ap-custom-theme .ap-social-modern-bottom{
        margin-top:30px;
    }

    body.ap-custom-theme .ap-social-modern-cta{
        padding:18px 2px;
        gap:12px;
    }

    body.ap-custom-theme .ap-social-modern-cta > span{
        max-width:55%;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
        font-size:10px;
    }

    body.ap-custom-theme .ap-social-modern-cta a{
        max-width:45%;
        flex-shrink:1;
        white-space:nowrap;
        font-size:10px;
    }
}

@media(max-width:380px){
    body.ap-custom-theme .ap-social-modern{
        padding-top:78px;
    }

    body.ap-custom-theme .ap-social-modern-inner{
        width:calc(100% - 26px);
    }

    body.ap-custom-theme .ap-social-modern-grid{
        gap:8px;
    }

    body.ap-custom-theme .ap-social-modern-nav{
        gap:5px;
    }

    body.ap-custom-theme .ap-social-modern-nav a{
        padding:0 9px;
        font-size:9px;
    }

    body.ap-custom-theme .ap-social-modern-header h2{
        font-size:27px;
    }

    body.ap-custom-theme .ap-social-modern-header p{
        font-size:11px;
    }
}

/* =========================================================
   REDUCED MOTION
========================================================= */
@media(prefers-reduced-motion:reduce){
    body.ap-custom-theme .ap-social-modern-header,
    body.ap-custom-theme .ap-social-modern-label,
    body.ap-custom-theme .ap-social-modern-header h2,
    body.ap-custom-theme .ap-social-modern-header p,
    body.ap-custom-theme .ap-social-modern-nav,
    body.ap-custom-theme .ap-social-modern-item,
    body.ap-custom-theme .ap-social-modern-bottom{
        opacity:1!important;
        visibility:visible!important;
        transform:none!important;
        filter:none!important;
        transition:none!important;
    }

    body.ap-custom-theme .ap-social-modern-item img,
    body.ap-custom-theme .ap-social-modern-item:hover img{
        transform:none!important;
        transition:none!important;
    }

    body.ap-custom-theme .ap-social-modern-item::before{
        animation:none!important;
    }

    body.ap-custom-theme .ap-social-modern-label span,
    body.ap-custom-theme .ap-social-modern-line{
        transform:none!important;
    }
}


/* =========================================================
   05 / THE ARCHER PRASANTA STORY — PREMIUM FINAL
   Full-bleed editorial section
   ========================================================= */

.ap-story-section{
  position:relative;
  width:100vw;
  max-width:none;
  margin-left:calc(50% - 50vw);
  padding:150px 0 155px;
  overflow:hidden;
  isolation:isolate;
  background:#07112A !important;
  color:#F5F7FA;
  
}

/* Keep the entire section — including the outside edges — one colour */
.ap-story-section::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-3;
  background:#07112A;
  pointer-events:none;
}

/* Very subtle studio atmosphere; no visible block separation */
.ap-story-section::after{
  content:"";
  position:absolute;
  width:760px;
  height:760px;
  right:-330px;
  top:-250px;
  z-index:-2;
  border-radius:50%;
  background:radial-gradient(circle,
    rgba(111,239,255,.075) 0%,
    rgba(111,239,255,.025) 34%,
    transparent 70%);
  filter:blur(8px);
  pointer-events:none;
}

.ap-story-section .ap-home-container{
  position:relative;
  z-index:1;
  width:min(calc(100% - 48px),1440px);
  margin:0 auto;
}

.ap-story-grid{
  display:grid;
  grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);
  gap:86px;
  align-items:center;
}

/* -------------------------
   LEFT / STORY COPY
   ------------------------- */

.ap-story-copy{
  position:relative;
  min-width:0;
  padding:4px 0;
}

.ap-story-copy::after{
  content:"BUILT WITH INTENTION";
  position:absolute;
  right:-47px;
  top:50%;
  transform:translateY(-50%) rotate(-90deg);
  color:rgba(111,239,255,.52);
  font-size:7px;
  font-weight:900;
  letter-spacing:.30em;
  white-space:nowrap;
  writing-mode:horizontal-tb;
}

.ap-story-copy .ap-section-label{
  margin:0 0 27px;
  color:#6FEFFF;
  font-size:10px;
  font-weight:900;
  letter-spacing:.22em;
  line-height:1.2;
}

.ap-story-copy .ap-section-label::before{
  content:"";
  display:inline-block;
  width:28px;
  height:1px;
  margin:0 10px 3px 0;
  background:#6FEFFF;
  box-shadow:0 0 10px rgba(111,239,255,.35);
}

.ap-story-copy h2{
  max-width:650px;
  margin:0;
  color:#F5F7FA;
  font-size:clamp(56px,6.3vw,94px);
  line-height:.88;
  font-weight:850;
  letter-spacing:-.065em;
}

.ap-story-copy h2 em{
  display:inline-block;
  color:#6FEFFF;
  font-style:normal;
  position:relative;
}

.ap-story-copy h2 em::after{
  content:"";
  position:absolute;
  left:2px;
  right:10%;
  bottom:-9px;
  height:1px;
  background:linear-gradient(90deg,#6FEFFF,transparent);
  opacity:.42;
}

.ap-story-lead{
  max-width:590px;
  margin:38px 0 0;
  color:#F5F7FA;
  font-size:18px;
  line-height:1.65;
  font-weight:650;
}

.ap-story-description{
  max-width:570px;
  margin:20px 0 0;
  color:rgba(245,247,250,.57);
  font-size:13px;
  line-height:1.85;
}

/* Principles — three refined columns */
.ap-story-principles{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:43px;
  border-top:1px solid rgba(255,255,255,.13);
  border-bottom:1px solid rgba(255,255,255,.13);
}

.ap-story-principle{
  min-width:0;
  min-height:138px;
  padding:21px 19px 20px 0;
  border-right:1px solid rgba(255,255,255,.11);
}

.ap-story-principle:not(:first-child){
  padding-left:20px;
}

.ap-story-principle:last-child{
  border-right:0;
}

.ap-story-principle > strong{
  display:flex;
  align-items:center;
  justify-content:center;
  width:35px;
  height:35px;
  margin-bottom:17px;
  border:1px solid rgba(111,239,255,.48);
  border-radius:50%;
  color:#6FEFFF;
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
  background:rgba(111,239,255,.035);
  box-shadow:inset 0 0 18px rgba(111,239,255,.025);
}

.ap-story-principle span{
  display:block;
  color:#F5F7FA;
  font-size:10px;
  font-weight:900;
  letter-spacing:.10em;
  line-height:1.25;
}

.ap-story-principle p{
  margin:8px 0 0;
  color:rgba(245,247,250,.48);
  font-size:10px;
  line-height:1.6;
}

/* Story CTAs */
.ap-story-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:27px;
  margin-top:34px;
}

.ap-story-actions .ap-home-primary{
  min-height:56px;
  padding:0 20px;
  border-radius:2px;
}

.ap-story-text-link{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:11px;
  min-height:48px;
  color:#F5F7FA;
  font-size:10px;
  font-weight:900;
  letter-spacing:.13em;
  transition:color .25s ease,transform .25s ease;
}

.ap-story-text-link::after{
  content:"";
  position:absolute;
  left:0;
  right:29px;
  bottom:2px;
  height:1px;
  background:rgba(111,239,255,.45);
  transform-origin:left;
  transition:transform .35s ease;
}

.ap-story-text-link span{
  color:#6FEFFF;
  font-size:18px;
  font-weight:400;
  transition:transform .35s cubic-bezier(.16,1,.3,1);
}

.ap-story-text-link:hover{
  color:#6FEFFF;
  transform:translateY(-1px);
}

.ap-story-text-link:hover::after{
  transform:scaleX(.45);
}

.ap-story-text-link:hover span{
  transform:translateX(6px);
}

/* -------------------------
   RIGHT / STUDIO FRAME
   ------------------------- */

.ap-story-visual{
  position:relative;
  min-width:0;
  padding:0;
}

.ap-story-frame{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(111,239,255,.42);
  border-radius:19px;
  background:#050A1F;
  box-shadow:
    0 30px 90px rgba(0,0,0,.38),
    0 0 55px rgba(111,239,255,.055);
  transform:translateZ(0);
}

.ap-story-frame::before{
  content:"";
  position:absolute;
  inset:7px;
  z-index:8;
  border:1px solid rgba(255,255,255,.055);
  border-radius:13px;
  pointer-events:none;
}

.ap-story-frame-top{
  min-height:96px;
  padding:0 25px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  background:linear-gradient(180deg,#09132F,#07102A);
  border-bottom:1px solid rgba(111,239,255,.09);
}

.ap-story-index{
  display:flex;
  align-items:center;
  gap:15px;
}

.ap-story-index strong{
  color:#6FEFFF;
  font-size:28px;
  line-height:1;
  font-weight:500;
  letter-spacing:-.05em;
}

.ap-story-index > span{
  width:1px;
  height:34px;
  background:rgba(111,239,255,.45);
}

.ap-story-index div{
  display:flex;
  flex-direction:column;
  gap:3px;
}

.ap-story-index small{
  color:#F5F7FA;
  font-size:7px;
  line-height:1;
  font-weight:900;
  letter-spacing:.25em;
}

.ap-story-index b{
  color:#F5F7FA;
  font-size:10px;
  line-height:1;
  font-weight:900;
  letter-spacing:.20em;
}

.ap-story-status{
  display:flex;
  align-items:center;
  gap:8px;
  color:rgba(245,247,250,.48);
  font-size:7px;
  font-weight:900;
  letter-spacing:.23em;
  white-space:nowrap;
}

.ap-story-status i{
  width:5px;
  height:5px;
  border-radius:50%;
  background:#6FEFFF;
  box-shadow:0 0 13px rgba(111,239,255,.9);
}

/* Image stage */
.ap-story-image{
  position:relative;
  margin:16px;
  height:clamp(390px,31vw,500px);
  overflow:hidden;
  background:#02060D;
  border:1px solid rgba(111,239,255,.10);
}

.ap-story-image::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(90deg,rgba(2,6,13,.18),transparent 35%,rgba(2,6,13,.12)),
    linear-gradient(0deg,rgba(2,6,13,.32),transparent 35%,rgba(2,6,13,.08));
  pointer-events:none;
}

.ap-story-image img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center;
  transform:scale(1.015);
  filter:saturate(.92) contrast(1.05);
  transition:transform 1.1s cubic-bezier(.16,1,.3,1),filter .7s ease;
}

.ap-story-frame:hover .ap-story-image img{
  transform:scale(1.045);
  filter:saturate(1.02) contrast(1.07);
}

.ap-story-image-overlay{
  position:absolute;
  inset:0;
  z-index:3;
  background:
    radial-gradient(circle at 50% 45%,transparent 0%,rgba(2,6,13,.04) 48%,rgba(2,6,13,.38) 100%);
  pointer-events:none;
}

/* Bottom identity bar */
.ap-story-frame-bottom{
  min-height:78px;
  padding:0 25px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  background:#07102A;
  border-top:1px solid rgba(111,239,255,.09);
}

.ap-story-brand{
  display:flex;
  flex-direction:column;
  gap:5px;
}

.ap-story-brand strong{
  color:#F5F7FA;
  font-size:10px;
  font-weight:900;
  letter-spacing:.17em;
}

.ap-story-brand span{
  color:#6FEFFF;
  font-size:6px;
  font-weight:900;
  letter-spacing:.34em;
}

.ap-story-tags{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:38px;
  padding:0 14px;
  border:1px solid rgba(111,239,255,.22);
  color:rgba(245,247,250,.62);
  font-size:7px;
  font-weight:900;
  letter-spacing:.20em;
}

.ap-story-tags i{
  width:3px;
  height:3px;
  border-radius:50%;
  background:#6FEFFF;
  box-shadow:0 0 7px rgba(111,239,255,.7);
}

/* Editorial side marker */
.ap-story-visual::after{
  content:"01  /  STUDIO";
  position:absolute;
  right:-35px;
  top:50%;
  transform:rotate(90deg);
  transform-origin:center;
  color:rgba(111,239,255,.40);
  font-size:7px;
  font-weight:900;
  letter-spacing:.22em;
  white-space:nowrap;
}

/* -------------------------
   Reveal
   ------------------------- */
.ap-story-section.ap-reveal-section{
  opacity:1;
  transform:none;
}

.ap-story-copy,
.ap-story-frame{
  opacity:0;
  transform:translateY(28px);
  transition:
    opacity .85s cubic-bezier(.16,1,.3,1),
    transform .95s cubic-bezier(.16,1,.3,1);
}

.ap-story-frame{
  transform:translateY(38px) scale(.985);
  transition-delay:.10s;
}

.ap-story-section.ap-reveal-section.ap-is-visible .ap-story-copy,
.ap-story-section.ap-reveal-section.ap-story-visible .ap-story-copy,
.ap-story-section.ap-reveal-section.ap-is-visible .ap-story-frame,
.ap-story-section.ap-reveal-section.ap-story-visible .ap-story-frame{
  opacity:1;
  transform:none;
}

/* If no JS class is added, keep the section visible */
.no-js .ap-story-copy,
.no-js .ap-story-frame{
  opacity:1;
  transform:none;
}

/* -------------------------
   Responsive
   ------------------------- */

@media(max-width:1100px){
  .ap-story-section{
    padding:120px 0 125px;
  }

  .ap-story-grid{
    grid-template-columns:1fr;
    gap:60px;
  }

  .ap-story-copy{
    max-width:820px;
  }

  .ap-story-copy::after{
    display:none;
  }

  .ap-story-copy h2{
    font-size:clamp(54px,8vw,82px);
  }

  .ap-story-lead{
    max-width:720px;
  }

  .ap-story-description{
    max-width:680px;
  }

  .ap-story-visual{
    max-width:900px;
    width:100%;
    margin:0 auto;
  }

  .ap-story-image{
    height:min(56vw,500px);
  }

  .ap-story-visual::after{
    display:none;
  }
}

@media(max-width:700px){
  .ap-story-section{
    padding:88px 0 95px;
  }

  .ap-story-section .ap-home-container{
    width:calc(100% - 30px);
  }

  .ap-story-grid{
    gap:45px;
  }

  .ap-story-copy .ap-section-label{
    margin-bottom:21px;
    font-size:8px;
    letter-spacing:.18em;
  }

  .ap-story-copy h2{
    font-size:clamp(43px,12vw,64px);
    line-height:.90;
  }

  .ap-story-copy h2 em::after{
    bottom:-6px;
  }

  .ap-story-lead{
    margin-top:27px;
    font-size:15px;
    line-height:1.7;
  }

  .ap-story-description{
    margin-top:16px;
    font-size:12px;
    line-height:1.75;
  }

  .ap-story-principles{
    grid-template-columns:1fr;
    margin-top:31px;
  }

  .ap-story-principle,
  .ap-story-principle:not(:first-child){
    min-height:0;
    padding:17px 0;
    display:grid;
    grid-template-columns:42px 1fr;
    gap:14px;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.10);
  }

  .ap-story-principle:last-child{
    border-bottom:0;
  }

  .ap-story-principle > strong{
    width:34px;
    height:34px;
    margin:0;
  }

  .ap-story-principle span{
    padding-top:1px;
    font-size:9px;
  }

  .ap-story-principle p{
    margin-top:5px;
    font-size:10px;
  }

  .ap-story-actions{
    gap:13px 22px;
    margin-top:27px;
  }

  .ap-story-actions .ap-home-primary{
    min-height:50px;
    padding:0 16px;
    font-size:9px;
  }

  .ap-story-text-link{
    min-height:44px;
    font-size:9px;
  }

  .ap-story-frame{
    border-radius:15px;
  }

  .ap-story-frame::before{
    inset:5px;
    border-radius:10px;
  }

  .ap-story-frame-top{
    min-height:74px;
    padding:0 17px;
  }

  .ap-story-index{
    gap:10px;
  }

  .ap-story-index strong{
    font-size:22px;
  }

  .ap-story-index > span{
    height:27px;
  }

  .ap-story-index small{
    font-size:6px;
  }

  .ap-story-index b{
    font-size:8px;
  }

  .ap-story-status{
    font-size:5.5px;
    letter-spacing:.15em;
  }

  .ap-story-image{
    height:330px;
    margin:11px;
  }

  .ap-story-frame-bottom{
    min-height:66px;
    padding:0 17px;
    gap:12px;
  }

  .ap-story-brand strong{
    font-size:8px;
  }

  .ap-story-brand span{
    font-size:5px;
  }

  .ap-story-tags{
    min-height:31px;
    padding:0 9px;
    gap:6px;
    font-size:5px;
    letter-spacing:.13em;
  }
}

@media(max-width:420px){
  .ap-story-section .ap-home-container{
    width:calc(100% - 24px);
  }

  .ap-story-copy h2{
    font-size:42px;
  }

  .ap-story-lead{
    font-size:14px;
  }

  .ap-story-image{
    height:285px;
  }

  .ap-story-status{
    display:none;
  }

  .ap-story-frame-bottom{
    min-height:61px;
  }

  .ap-story-tags{
    display:none;
  }
}

@media(prefers-reduced-motion:reduce){
  .ap-story-copy,
  .ap-story-frame,
  .ap-story-image img{
    transition:none!important;
    opacity:1!important;
    transform:none!important;
  }
}


/* =========================================================
   ARCHER PRASANTA — 06 / SOCIAL
   STAGING HEADER REFINEMENT
   Left heading + right supporting copy
   Matches the visual language of 02 / WHAT WE DO
   and 03 / OUR STANDARD.
   ========================================================= */

body.ap-custom-theme .ap-social-modern{
    padding:145px 0 135px;
    background:#07112A!important;
}

body.ap-custom-theme .ap-social-modern-header{
    width:100%;
    max-width:none;
    margin:0 0 42px;
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
    column-gap:90px;
    align-items:end;
    text-align:left;
}

/* Section label */
body.ap-custom-theme .ap-social-modern-label{
    grid-column:1;
    grid-row:1;
    justify-content:flex-start;
    gap:10px;
    margin:0 0 20px;
    color:#6FEFFF;
    font-size:10px;
    font-weight:800;
    letter-spacing:.18em;
}

body.ap-custom-theme .ap-social-modern-label span{
    display:none;
}

/* Main heading */
body.ap-custom-theme .ap-social-modern-header h2{
    grid-column:1;
    grid-row:2;
    max-width:760px;
    margin:0;
    color:#F5F7FA;
    font-size:clamp(48px,5.4vw,82px);
    line-height:.90;
    font-weight:800;
    letter-spacing:-.055em;
}

body.ap-custom-theme .ap-social-modern-header h2 em{
    color:#6FEFFF;
    font-style:normal;
}

/* Supporting paragraph */
body.ap-custom-theme .ap-social-modern-header p{
    grid-column:2;
    grid-row:2;
    align-self:end;
    max-width:500px;
    margin:0 0 4px;
    color:rgba(245,247,250,.62);
    font-size:14px;
    line-height:1.85;
}

/* Small editorial rule beside section label */
body.ap-custom-theme .ap-social-modern-label::before{
    content:"";
    display:block;
    width:28px;
    height:1px;
    flex:0 0 28px;
    background:#6FEFFF;
    opacity:.7;
}

/* Keep reveal animation, but make the header enter as one editorial block */
body.ap-custom-theme .ap-social-modern-header{
    opacity:0;
    visibility:hidden;
    transform:translate3d(0,34px,0);
    filter:blur(5px);
    transition:
        opacity .75s cubic-bezier(.16,1,.3,1),
        transform .85s cubic-bezier(.16,1,.3,1),
        filter .65s ease;
}

body.ap-custom-theme .ap-social-modern-header.ap-social-visible{
    opacity:1;
    visibility:visible;
    transform:none;
    filter:blur(0);
}

body.ap-custom-theme .ap-social-modern-header.ap-social-visible .ap-social-modern-label,
body.ap-custom-theme .ap-social-modern-header.ap-social-visible h2,
body.ap-custom-theme .ap-social-modern-header.ap-social-visible p{
    opacity:1;
    transform:none;
    filter:blur(0);
}

/* Social buttons: move below the editorial header and align left */
body.ap-custom-theme .ap-social-modern-nav{
    justify-content:flex-start;
    margin:0 0 52px;
    padding-top:0;
}

body.ap-custom-theme .ap-social-modern-nav a{
    min-height:38px;
    padding:0 15px;
    border-radius:999px;
}

/* Gallery keeps the same premium grid, but sits closer to the header */
body.ap-custom-theme .ap-social-modern-grid{
    margin-top:0;
}

/* =========================================================
   TABLET
   ========================================================= */
@media(max-width:900px){
    body.ap-custom-theme .ap-social-modern-header{
        grid-template-columns:1fr;
        row-gap:28px;
        column-gap:0;
        margin-bottom:34px;
    }

    body.ap-custom-theme .ap-social-modern-label{
        grid-column:1;
        grid-row:1;
        margin-bottom:0;
    }

    body.ap-custom-theme .ap-social-modern-header h2{
        grid-column:1;
        grid-row:2;
    }

    body.ap-custom-theme .ap-social-modern-header p{
        grid-column:1;
        grid-row:3;
        max-width:620px;
        margin:0;
    }

    body.ap-custom-theme .ap-social-modern-nav{
        justify-content:flex-start;
    }
}

/* =========================================================
   MOBILE
   ========================================================= */
@media(max-width:600px){
    body.ap-custom-theme .ap-social-modern{
        padding:95px 0 90px;
    }

    body.ap-custom-theme .ap-social-modern-inner{
        width:calc(100% - 30px);
    }

    body.ap-custom-theme .ap-social-modern-header{
        row-gap:20px;
        margin-bottom:30px;
    }

    body.ap-custom-theme .ap-social-modern-label{
        font-size:9px;
        letter-spacing:.16em;
    }

    body.ap-custom-theme .ap-social-modern-label::before{
        width:22px;
        flex-basis:22px;
    }

    body.ap-custom-theme .ap-social-modern-header h2{
        font-size:clamp(38px,10vw,54px);
        line-height:.94;
    }

    body.ap-custom-theme .ap-social-modern-header p{
        max-width:100%;
        font-size:13px;
        line-height:1.7;
    }

    body.ap-custom-theme .ap-social-modern-nav{
        gap:8px;
        margin-bottom:34px;
    }

    body.ap-custom-theme .ap-social-modern-nav a{
        min-height:36px;
        padding:0 12px;
        font-size:9px;
    }
}


/* =========================================================
   ARCHER PRASANTA — 07 / CUSTOMER REVIEWS
   Premium editorial review section
   ========================================================= */

body.ap-custom-theme .ap-reviews-section{
    position:relative;
    width:100%;
    max-width:none;
    padding:145px 0 135px;
    overflow:hidden;
    isolation:isolate;
    background:#050A1F;
    color:#F5F7FA;
    border-top:1px solid rgba(111,239,255,.10);
}

body.ap-custom-theme .ap-reviews-section::before{
    content:"";
    position:absolute;
    width:620px;
    height:620px;
    right:-390px;
    top:-270px;
    border-radius:50%;
    background:rgba(111,239,255,.025);
    filter:blur(4px);
    pointer-events:none;
}

body.ap-custom-theme .ap-reviews-inner{
    position:relative;
    z-index:1;
}

body.ap-custom-theme .ap-reviews-header{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
    gap:90px;
    align-items:end;
    margin-bottom:62px;
}

body.ap-custom-theme .ap-reviews-header-left .ap-section-label{
    margin:0 0 20px;
}

body.ap-custom-theme .ap-reviews-header-left h2{
    margin:0;
    color:#F5F7FA;
    font-size:clamp(48px,5.4vw,82px);
    line-height:.90;
    font-weight:800;
    letter-spacing:-.055em;
}

body.ap-custom-theme .ap-reviews-header-left h2 em{
    color:#6FEFFF;
    font-style:normal;
}

body.ap-custom-theme .ap-reviews-header-right{
    max-width:500px;
    justify-self:end;
    padding-bottom:4px;
}

body.ap-custom-theme .ap-reviews-header-right > p{
    margin:0;
    color:rgba(245,247,250,.62);
    font-size:14px;
    line-height:1.85;
}

body.ap-custom-theme .ap-reviews-proof{
    display:flex;
    align-items:center;
    gap:13px;
    margin-top:25px;
    padding-top:17px;
    border-top:1px solid rgba(255,255,255,.10);
}

body.ap-custom-theme .ap-reviews-proof span{
    color:#6FEFFF;
    font-size:13px;
    letter-spacing:3px;
    line-height:1;
}

body.ap-custom-theme .ap-reviews-proof strong{
    color:rgba(245,247,250,.58);
    font-size:9px;
    font-weight:800;
    letter-spacing:.16em;
}

/* Review layout */
body.ap-custom-theme .ap-reviews-layout{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}

body.ap-custom-theme .ap-review-featured,
body.ap-custom-theme .ap-review-card{
    position:relative;
    min-width:0;
    overflow:hidden;
    background:#07112A;
    border:1px solid rgba(111,239,255,.14);
    transition:
        transform .45s cubic-bezier(.16,1,.3,1),
        border-color .35s ease,
        box-shadow .45s ease;
}

body.ap-custom-theme .ap-review-featured::before,
body.ap-custom-theme .ap-review-card::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:0;
    height:2px;
    background:#6FEFFF;
    transition:width .45s cubic-bezier(.16,1,.3,1);
}

body.ap-custom-theme .ap-review-featured:hover,
body.ap-custom-theme .ap-review-card:hover{
    transform:translateY(-6px);
    border-color:rgba(111,239,255,.42);
    box-shadow:0 24px 55px rgba(0,0,0,.30);
}

body.ap-custom-theme .ap-review-featured:hover::before,
body.ap-custom-theme .ap-review-card:hover::before{
    width:100%;
}

/* Featured review */
body.ap-custom-theme .ap-review-featured{
    grid-column:span 2;
    min-height:380px;
    padding:38px 42px 35px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}

body.ap-custom-theme .ap-review-topline,
body.ap-custom-theme .ap-review-card-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
}

body.ap-custom-theme .ap-review-topline > span:first-child,
body.ap-custom-theme .ap-review-card-head > span:first-child{
    color:#6FEFFF;
    font-size:9px;
    font-weight:800;
    letter-spacing:.16em;
}

body.ap-custom-theme .ap-review-topline > span:last-child,
body.ap-custom-theme .ap-review-card-head > span:last-child{
    color:#6FEFFF;
    font-size:10px;
    letter-spacing:2px;
}

body.ap-custom-theme .ap-review-featured blockquote{
    max-width:820px;
    margin:35px 0 38px;
    color:#F5F7FA;
    font-size:clamp(25px,2.55vw,39px);
    line-height:1.22;
    font-weight:500;
    letter-spacing:-.025em;
}

body.ap-custom-theme .ap-review-author{
    display:flex;
    align-items:center;
    gap:13px;
    padding-top:18px;
    border-top:1px solid rgba(255,255,255,.10);
}

body.ap-custom-theme .ap-review-avatar{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 42px;
    border:1px solid rgba(111,239,255,.35);
    border-radius:50%;
    background:rgba(111,239,255,.07);
    color:#6FEFFF;
    font-size:10px;
    font-weight:900;
    letter-spacing:.06em;
}

body.ap-custom-theme .ap-review-author strong,
body.ap-custom-theme .ap-review-card-author strong{
    display:block;
    color:#F5F7FA;
    font-size:11px;
    font-weight:800;
    letter-spacing:.03em;
}

body.ap-custom-theme .ap-review-author span,
body.ap-custom-theme .ap-review-card-author span{
    display:block;
    margin-top:3px;
    color:#91A0B5;
    font-size:8px;
    font-weight:700;
    letter-spacing:.14em;
    text-transform:uppercase;
}

/* Smaller review cards */
body.ap-custom-theme .ap-review-card{
    min-height:182px;
    padding:27px 29px 25px;
    display:flex;
    flex-direction:column;
}

body.ap-custom-theme .ap-review-card > p{
    margin:24px 0 25px;
    color:rgba(245,247,250,.78);
    font-size:14px;
    line-height:1.7;
}

body.ap-custom-theme .ap-review-card-author{
    margin-top:auto;
    padding-top:15px;
    border-top:1px solid rgba(255,255,255,.08);
}

/* Bottom proof strip */
body.ap-custom-theme .ap-reviews-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    margin-top:18px;
    padding:22px 5px 0;
    border-top:1px solid rgba(111,239,255,.13);
}

body.ap-custom-theme .ap-reviews-footer > div{
    display:flex;
    align-items:center;
    gap:18px;
}

body.ap-custom-theme .ap-reviews-footer strong{
    color:#6FEFFF;
    font-size:9px;
    font-weight:900;
    letter-spacing:.16em;
}

body.ap-custom-theme .ap-reviews-footer span{
    color:#91A0B5;
    font-size:9px;
    font-weight:700;
    letter-spacing:.10em;
}

body.ap-custom-theme .ap-reviews-footer a{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:#6FEFFF!important;
    font-size:10px;
    font-weight:900;
    letter-spacing:.13em;
    transition:color .2s ease;
}

body.ap-custom-theme .ap-reviews-footer a b{
    font-size:18px;
    font-weight:400;
    transition:transform .3s cubic-bezier(.16,1,.3,1);
}

body.ap-custom-theme .ap-reviews-footer a:hover{
    color:#F5F7FA!important;
}

body.ap-custom-theme .ap-reviews-footer a:hover b{
    transform:translateX(6px);
}

/* Review reveal — works with the existing homepage observer */
body.ap-custom-theme .ap-reviews-section .ap-reviews-header,
body.ap-custom-theme .ap-reviews-section .ap-review-featured,
body.ap-custom-theme .ap-reviews-section .ap-review-card,
body.ap-custom-theme .ap-reviews-section .ap-reviews-footer{
    opacity:0;
    transform:translate3d(0,38px,0);
    filter:blur(5px);
    transition:
        opacity .75s cubic-bezier(.16,1,.3,1),
        transform .85s cubic-bezier(.16,1,.3,1),
        filter .65s ease;
}

body.ap-custom-theme .ap-reviews-section .ap-review-featured{
    transform:translate3d(0,50px,0) scale(.985);
}

body.ap-custom-theme .ap-reviews-section .ap-review-card:nth-child(2){transition-delay:.08s}
body.ap-custom-theme .ap-reviews-section .ap-review-card:nth-child(3){transition-delay:.16s}
body.ap-custom-theme .ap-reviews-section .ap-review-card:nth-child(4){transition-delay:.24s}
body.ap-custom-theme .ap-reviews-section .ap-review-card:nth-child(5){transition-delay:.32s}

body.ap-custom-theme .ap-reviews-section.ap-is-visible .ap-reviews-header,
body.ap-custom-theme .ap-reviews-section.ap-is-visible .ap-review-featured,
body.ap-custom-theme .ap-reviews-section.ap-is-visible .ap-review-card,
body.ap-custom-theme .ap-reviews-section.ap-is-visible .ap-reviews-footer{
    opacity:1;
    transform:none;
    filter:blur(0);
}

/* =========================================================
   TABLET
   ========================================================= */
@media(max-width:900px){
    body.ap-custom-theme .ap-reviews-section{
        padding:105px 0 100px;
    }

    body.ap-custom-theme .ap-reviews-header{
        grid-template-columns:1fr;
        gap:28px;
        margin-bottom:45px;
    }

    body.ap-custom-theme .ap-reviews-header-right{
        max-width:620px;
        justify-self:start;
    }

    body.ap-custom-theme .ap-reviews-layout{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    body.ap-custom-theme .ap-review-featured{
        grid-column:1 / -1;
        min-height:340px;
    }

    body.ap-custom-theme .ap-reviews-footer > div{
        flex-wrap:wrap;
    }
}

/* =========================================================
   MOBILE
   ========================================================= */
@media(max-width:600px){
    body.ap-custom-theme .ap-reviews-section{
        padding:90px 0 85px;
    }

    body.ap-custom-theme .ap-reviews-inner{
        width:calc(100% - 30px);
    }

    body.ap-custom-theme .ap-reviews-header{
        gap:22px;
        margin-bottom:35px;
    }

    body.ap-custom-theme .ap-reviews-header-left h2{
        font-size:clamp(40px,11vw,58px);
        line-height:.92;
    }

    body.ap-custom-theme .ap-reviews-header-right > p{
        font-size:13px;
        line-height:1.7;
    }

    body.ap-custom-theme .ap-reviews-proof{
        margin-top:20px;
        padding-top:14px;
    }

    body.ap-custom-theme .ap-reviews-layout{
        grid-template-columns:1fr;
        gap:12px;
    }

    body.ap-custom-theme .ap-review-featured{
        grid-column:auto;
        min-height:330px;
        padding:27px 24px 25px;
    }

    body.ap-custom-theme .ap-review-featured blockquote{
        margin:30px 0 32px;
        font-size:24px;
        line-height:1.28;
    }

    body.ap-custom-theme .ap-review-card{
        min-height:185px;
        padding:24px 22px 22px;
    }

    body.ap-custom-theme .ap-review-card > p{
        font-size:13px;
        line-height:1.65;
    }

    body.ap-custom-theme .ap-reviews-footer{
        align-items:flex-start;
        flex-direction:column;
        gap:17px;
        padding-top:18px;
    }

    body.ap-custom-theme .ap-reviews-footer > div{
        display:block;
    }

    body.ap-custom-theme .ap-reviews-footer span{
        display:block;
        margin-top:7px;
        line-height:1.5;
    }
}

@media(prefers-reduced-motion:reduce){
    body.ap-custom-theme .ap-reviews-section .ap-reviews-header,
    body.ap-custom-theme .ap-reviews-section .ap-review-featured,
    body.ap-custom-theme .ap-reviews-section .ap-review-card,
    body.ap-custom-theme .ap-reviews-section .ap-reviews-footer{
        opacity:1!important;
        transform:none!important;
        filter:none!important;
        transition:none!important;
    }
}


/* =========================================================
   ARCHER PRASANTA — 08 / VISIT THE STUDIO
   Premium staging-style location section
   Dark editorial layout / same language as 03 + 06 + 07
   ========================================================= */

body.ap-custom-theme .ap-location{
    position:relative;
    width:100%;
    max-width:none;
    padding:145px 0 135px;
    overflow:hidden;
    isolation:isolate;
    background:#07112A;
    color:#F5F7FA;
    border-top:1px solid rgba(111,239,255,.10);
}

body.ap-custom-theme .ap-location::before{
    content:"";
    position:absolute;
    width:620px;
    height:620px;
    right:-330px;
    top:-260px;
    border-radius:50%;
    background:rgba(111,239,255,.035);
    filter:blur(5px);
    pointer-events:none;
}

body.ap-custom-theme .ap-location-inner{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
    gap:85px;
    align-items:center;
}


/* =========================================================
   LEFT CONTENT
   ========================================================= */

body.ap-custom-theme .ap-location-content{
    min-width:0;
}

body.ap-custom-theme .ap-location-section-label{
    margin:0 0 22px;
}

body.ap-custom-theme .ap-location-eyebrow{
    display:flex;
    align-items:center;
    gap:10px;
    margin:0 0 20px;
    color:#6FEFFF;
    font-size:10px;
    font-weight:800;
    letter-spacing:.18em;
}

body.ap-custom-theme .ap-location-eyebrow span{
    width:28px;
    height:1px;
    flex:0 0 28px;
    display:block;
    background:#6FEFFF;
}

body.ap-custom-theme .ap-location-content h2{
    margin:0;
    color:#F5F7FA;
    font-size:clamp(48px,5.4vw,82px);
    line-height:.90;
    font-weight:800;
    letter-spacing:-.055em;
}

body.ap-custom-theme .ap-location-content h2 em{
    color:#6FEFFF;
    font-style:normal;
}

body.ap-custom-theme .ap-location-intro{
    max-width:540px;
    margin:28px 0 42px;
    color:rgba(245,247,250,.65);
    font-size:14px;
    line-height:1.85;
}

body.ap-custom-theme .ap-location-info-list{
    max-width:570px;
    border-top:1px solid rgba(255,255,255,.10);
}

body.ap-custom-theme .ap-location-item{
    display:flex;
    align-items:flex-start;
    gap:17px;
    padding:23px 0;
    border-bottom:1px solid rgba(255,255,255,.10);
}

body.ap-custom-theme .ap-location-icon{
    width:43px;
    height:43px;
    flex:0 0 43px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(111,239,255,.24);
    border-radius:12px;
    background:rgba(5,10,31,.34);
    transition:
        border-color .3s ease,
        background .3s ease,
        transform .3s ease;
}

body.ap-custom-theme .ap-location-item:hover .ap-location-icon{
    border-color:rgba(111,239,255,.60);
    background:rgba(111,239,255,.07);
    transform:translateY(-2px);
}

body.ap-custom-theme .ap-location-icon svg{
    width:18px;
    height:18px;
    fill:none;
    stroke:#6FEFFF;
    stroke-width:1.45;
    stroke-linecap:round;
    stroke-linejoin:round;
}

body.ap-custom-theme .ap-location-details{
    min-width:0;
}

body.ap-custom-theme .ap-location-details h3{
    margin:0 0 7px;
    color:#F5F7FA;
    font-size:11px;
    line-height:1.3;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

body.ap-custom-theme .ap-location-details p{
    margin:4px 0;
    color:rgba(245,247,250,.58);
    font-size:11px;
    line-height:1.6;
}

body.ap-custom-theme .ap-location-details strong{
    color:#6FEFFF;
    font-weight:800;
    margin-left:5px;
}

body.ap-custom-theme .ap-location-details .ap-location-closed strong{
    color:#91A0B5;
}

body.ap-custom-theme .ap-location-address{
    max-width:460px;
}

body.ap-custom-theme .ap-location-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    min-height:48px;
    margin-top:27px;
    padding:0 20px;
    border:1px solid #6FEFFF;
    border-radius:0;
    background:#6FEFFF;
    color:#03101D!important;
    font-size:10px;
    font-weight:900;
    letter-spacing:.13em;
    text-decoration:none;
    box-shadow:none;
    transition:
        transform .3s ease,
        background .3s ease,
        box-shadow .3s ease,
        color .3s ease;
}

body.ap-custom-theme .ap-location-button b{
    font-size:18px;
    line-height:1;
    font-weight:400;
    transition:transform .3s cubic-bezier(.16,1,.3,1);
}

body.ap-custom-theme .ap-location-button:hover{
    transform:translateY(-3px);
    background:#F5F7FA;
    border-color:#F5F7FA;
    color:#03101D!important;
    box-shadow:0 15px 35px rgba(0,0,0,.25);
}

body.ap-custom-theme .ap-location-button:hover b{
    transform:translate(5px,-2px);
}


/* =========================================================
   RIGHT VISUAL
   ========================================================= */

body.ap-custom-theme .ap-location-visual{
    position:relative;
    width:100%;
    min-height:570px;
}

body.ap-custom-theme .ap-location-main-image{
    position:absolute;
    top:0;
    right:0;
    width:78%;
    height:500px;
    overflow:hidden;
    border:1px solid rgba(111,239,255,.28);
    border-radius:18px;
    background:#050A1F;
    box-shadow:0 25px 65px rgba(0,0,0,.38);
}

body.ap-custom-theme .ap-location-main-image img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transform:scale(1.015);
    transition:
        transform 1s cubic-bezier(.16,1,.3,1),
        filter .7s ease;
}

body.ap-custom-theme .ap-location-main-image:hover img{
    transform:scale(1.055);
    filter:saturate(1.05);
}

body.ap-custom-theme .ap-location-image-overlay{
    position:absolute;
    inset:0;
    z-index:1;
    background:
        linear-gradient(
            180deg,
            rgba(3,10,25,.05) 25%,
            rgba(3,10,25,.20) 52%,
            rgba(3,10,25,.72) 100%
        );
    pointer-events:none;
}

body.ap-custom-theme .ap-location-badge{
    position:absolute;
    top:20px;
    left:20px;
    z-index:3;
    display:flex;
    flex-direction:column;
    gap:4px;
    padding:11px 15px;
    border-left:2px solid #6FEFFF;
    background:rgba(4,12,28,.82);
    box-shadow:0 8px 25px rgba(0,0,0,.25);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
}

body.ap-custom-theme .ap-location-badge span{
    color:#F5F7FA;
    font-size:8px;
    font-weight:900;
    letter-spacing:.16em;
}

body.ap-custom-theme .ap-location-badge small{
    color:#6FEFFF;
    font-size:6px;
    font-weight:900;
    letter-spacing:.15em;
}

body.ap-custom-theme .ap-location-image-index{
    position:absolute;
    right:20px;
    bottom:18px;
    z-index:3;
    color:rgba(245,247,250,.70);
    font-size:7px;
    font-weight:800;
    letter-spacing:.16em;
}

body.ap-custom-theme .ap-location-small-image{
    position:absolute;
    z-index:4;
    left:0;
    bottom:0;
    width:43%;
    height:300px;
    overflow:hidden;
    border:4px solid #07112A;
    border-radius:16px;
    background:#050A1F;
    box-shadow:0 25px 55px rgba(0,0,0,.42);
}

body.ap-custom-theme .ap-location-small-image img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transform:scale(1.01);
    transition:transform .8s cubic-bezier(.16,1,.3,1);
}

body.ap-custom-theme .ap-location-small-image:hover img{
    transform:scale(1.055);
}

body.ap-custom-theme .ap-location-visual-caption{
    position:absolute;
    z-index:5;
    right:0;
    bottom:-28px;
    display:flex;
    align-items:center;
    gap:9px;
    color:#91A0B5;
    font-size:7px;
    font-weight:800;
    letter-spacing:.16em;
}

body.ap-custom-theme .ap-location-visual-caption i{
    width:3px;
    height:3px;
    border-radius:50%;
    background:#6FEFFF;
}


/* =========================================================
   REVEAL
   ========================================================= */

body.ap-custom-theme .ap-location .ap-location-content,
body.ap-custom-theme .ap-location .ap-location-main-image,
body.ap-custom-theme .ap-location .ap-location-small-image,
body.ap-custom-theme .ap-location .ap-location-visual-caption{
    opacity:0;
    filter:blur(5px);
    transition:
        opacity .75s cubic-bezier(.16,1,.3,1),
        transform .9s cubic-bezier(.16,1,.3,1),
        filter .65s ease;
}

body.ap-custom-theme .ap-location .ap-location-content{
    transform:translate3d(0,38px,0);
}

body.ap-custom-theme .ap-location .ap-location-main-image{
    transform:translate3d(35px,0,0);
}

body.ap-custom-theme .ap-location .ap-location-small-image{
    transform:translate3d(-25px,25px,0);
    transition-delay:.12s;
}

body.ap-custom-theme .ap-location .ap-location-visual-caption{
    transform:translate3d(0,15px,0);
    transition-delay:.20s;
}

body.ap-custom-theme .ap-location.ap-is-visible .ap-location-content,
body.ap-custom-theme .ap-location.ap-is-visible .ap-location-main-image,
body.ap-custom-theme .ap-location.ap-is-visible .ap-location-small-image,
body.ap-custom-theme .ap-location.ap-is-visible .ap-location-visual-caption{
    opacity:1;
    filter:blur(0);
    transform:none;
}


/* =========================================================
   TABLET
   ========================================================= */

@media(max-width:900px){

    body.ap-custom-theme .ap-location{
        padding:105px 0 105px;
    }

    body.ap-custom-theme .ap-location-inner{
        grid-template-columns:1fr;
        gap:70px;
    }

    body.ap-custom-theme .ap-location-content{
        max-width:760px;
    }

    body.ap-custom-theme .ap-location-intro{
        max-width:620px;
    }

    body.ap-custom-theme .ap-location-info-list{
        max-width:650px;
    }

    body.ap-custom-theme .ap-location-visual{
        width:100%;
        max-width:700px;
        min-height:520px;
        margin:0 auto;
    }

    body.ap-custom-theme .ap-location-main-image{
        width:78%;
        height:455px;
    }

    body.ap-custom-theme .ap-location-small-image{
        width:43%;
        height:275px;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:600px){

    body.ap-custom-theme .ap-location{
        padding:90px 0 90px;
    }

    body.ap-custom-theme .ap-location-inner{
        width:calc(100% - 30px);
        gap:55px;
    }

    body.ap-custom-theme .ap-location-section-label{
        margin-bottom:18px;
    }

    body.ap-custom-theme .ap-location-eyebrow{
        margin-bottom:18px;
        font-size:9px;
        letter-spacing:.16em;
    }

    body.ap-custom-theme .ap-location-eyebrow span{
        width:22px;
        flex-basis:22px;
    }

    body.ap-custom-theme .ap-location-content h2{
        font-size:clamp(40px,11vw,58px);
        line-height:.93;
    }

    body.ap-custom-theme .ap-location-intro{
        margin:22px 0 34px;
        font-size:13px;
        line-height:1.72;
    }

    body.ap-custom-theme .ap-location-item{
        gap:13px;
        padding:20px 0;
    }

    body.ap-custom-theme .ap-location-icon{
        width:40px;
        height:40px;
        flex-basis:40px;
        border-radius:11px;
    }

    body.ap-custom-theme .ap-location-icon svg{
        width:17px;
        height:17px;
    }

    body.ap-custom-theme .ap-location-details h3{
        font-size:10px;
    }

    body.ap-custom-theme .ap-location-details p{
        font-size:10.5px;
        line-height:1.65;
    }

    body.ap-custom-theme .ap-location-address{
        max-width:100%;
    }

    body.ap-custom-theme .ap-location-button{
        min-height:46px;
        margin-top:24px;
        padding:0 17px;
        font-size:9px;
        gap:15px;
    }

    body.ap-custom-theme .ap-location-visual{
        min-height:430px;
    }

    body.ap-custom-theme .ap-location-main-image{
        width:84%;
        height:350px;
        border-radius:16px;
    }

    body.ap-custom-theme .ap-location-badge{
        top:15px;
        left:15px;
        padding:9px 11px;
    }

    body.ap-custom-theme .ap-location-badge span{
        font-size:7px;
    }

    body.ap-custom-theme .ap-location-badge small{
        font-size:5.5px;
    }

    body.ap-custom-theme .ap-location-image-index{
        right:14px;
        bottom:14px;
        font-size:6px;
    }

    body.ap-custom-theme .ap-location-small-image{
        width:48%;
        height:210px;
        border-width:4px;
        border-radius:14px;
    }

    body.ap-custom-theme .ap-location-visual-caption{
        display:none;
    }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media(max-width:390px){

    body.ap-custom-theme .ap-location-inner{
        width:calc(100% - 28px);
    }

    body.ap-custom-theme .ap-location-content h2{
        font-size:38px;
    }

    body.ap-custom-theme .ap-location-main-image{
        width:82%;
        height:320px;
    }

    body.ap-custom-theme .ap-location-small-image{
        width:50%;
        height:190px;
    }

    body.ap-custom-theme .ap-location-details p{
        font-size:10px;
    }
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media(prefers-reduced-motion:reduce){

    body.ap-custom-theme .ap-location .ap-location-content,
    body.ap-custom-theme .ap-location .ap-location-main-image,
    body.ap-custom-theme .ap-location .ap-location-small-image,
    body.ap-custom-theme .ap-location .ap-location-visual-caption{
        opacity:1!important;
        transform:none!important;
        filter:none!important;
        transition:none!important;
    }

}

/* =========================================================
   09 / FEATURED PROJECTS — VIDEO STORIES
   STAGING THEME — FINAL
   ========================================================= */

body.ap-custom-theme .ap-projects{
    position:relative;
    width:100%;
    padding:120px 0 110px;
    overflow:hidden;
    background:
        radial-gradient(circle at 18% 42%,rgba(111,239,255,.055),transparent 30%),
        linear-gradient(180deg,#050A1F 0%,#07112A 100%);
    border-top:1px solid rgba(111,239,255,.10);
    isolation:isolate;
}

body.ap-custom-theme .ap-projects::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    pointer-events:none;
    background:
        linear-gradient(90deg,transparent 0%,rgba(111,239,255,.018) 50%,transparent 100%);
}

body.ap-custom-theme .ap-projects-inner{
    width:min(calc(100% - 48px),1440px);
    max-width:1440px;
    margin:0 auto;
}

/* =========================================================
   SPLIT HEADER
   ========================================================= */

body.ap-custom-theme .ap-projects-header{
    width:100%;
    margin:0 0 58px;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(320px,.78fr);
    gap:70px;
    align-items:center;
    text-align:left;
}

body.ap-custom-theme .ap-projects-header-left{
    min-width:0;
}

body.ap-custom-theme .ap-projects-header-right{
    min-width:0;
    max-width:510px;
    padding-left:62px;
    border-left:1px solid rgba(111,239,255,.28);
}

body.ap-custom-theme .ap-projects-header .ap-section-label{
    margin:0 0 22px;
    display:block;
    color:#6FEFFF;
    font-size:10px;
    line-height:1.2;
    font-weight:900;
    letter-spacing:.20em;
}

body.ap-custom-theme .ap-projects-header h2{
    margin:0;
    max-width:760px;
    color:#F5F7FA;
    font-size:clamp(48px,5.4vw,72px);
    line-height:.94;
    font-weight:800;
    letter-spacing:-.06em;
}

body.ap-custom-theme .ap-projects-header h2 strong{
    color:#6FEFFF;
    font-weight:800;
}

body.ap-custom-theme .ap-projects-header-right p{
    max-width:510px;
    margin:0;
    color:#91A6C1;
    font-size:15px;
    line-height:1.8;
}

/* =========================================================
   PROJECT GRID
   ========================================================= */

body.ap-custom-theme .ap-projects-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
}

body.ap-custom-theme .ap-project-card{
    min-width:0;
    overflow:hidden;
    border:1px solid rgba(111,239,255,.18);
    border-radius:22px;
    background:
        linear-gradient(145deg,rgba(16,31,58,.92),rgba(5,12,31,.98));
    box-shadow:0 25px 70px rgba(0,0,0,.28);
    transition:
        transform .4s ease,
        border-color .4s ease,
        box-shadow .4s ease;
}

body.ap-custom-theme .ap-project-card:hover{
    transform:translateY(-7px);
    border-color:rgba(111,239,255,.55);
    box-shadow:
        0 35px 90px rgba(0,0,0,.40),
        0 0 35px rgba(111,239,255,.06);
}

body.ap-custom-theme .ap-project-video{
    position:relative;
    width:100%;
    aspect-ratio:16/9;
    overflow:hidden;
    background:#05091B;
}

body.ap-custom-theme .ap-project-video iframe{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
    display:block;
}

body.ap-custom-theme .ap-project-content{
    padding:30px 32px 32px;
}

body.ap-custom-theme .ap-project-meta{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:17px;
    color:#6FEFFF;
    font-size:9px;
    font-weight:900;
    letter-spacing:.25em;
}

body.ap-custom-theme .ap-project-meta span{
    font-size:12px;
    letter-spacing:.08em;
}

body.ap-custom-theme .ap-project-meta i{
    width:25px;
    height:1px;
    background:rgba(111,239,255,.45);
}

body.ap-custom-theme .ap-project-content h3{
    margin:0;
    max-width:500px;
    color:#fff;
    font-size:28px;
    line-height:1.2;
    font-weight:800;
    letter-spacing:-.025em;
}

body.ap-custom-theme .ap-project-content h3 strong{
    color:#6FEFFF;
    font-weight:800;
}

body.ap-custom-theme .ap-project-content p{
    max-width:500px;
    margin:15px 0 25px;
    color:#91A6C1;
    font-size:13px;
    line-height:1.75;
}

body.ap-custom-theme .ap-project-link{
    display:inline-flex;
    align-items:center;
    gap:14px;
    color:#fff;
    text-decoration:none;
    font-size:11px;
    font-weight:900;
    letter-spacing:.02em;
    padding-bottom:7px;
    border-bottom:1px solid rgba(111,239,255,.45);
    transition:.3s ease;
}

body.ap-custom-theme .ap-project-link span{
    color:#6FEFFF;
    font-size:19px;
    line-height:1;
    transition:.3s ease;
}

body.ap-custom-theme .ap-project-link:hover{
    color:#6FEFFF;
    border-color:#6FEFFF;
}

body.ap-custom-theme .ap-project-link:hover span{
    transform:translate(4px,-3px);
}

body.ap-custom-theme .ap-project-featured{
    border-color:rgba(111,239,255,.28);
}

/* =========================================================
   SINGLE BOTTOM CTA
   No separator line / no bottom text / no YouTube link
   ========================================================= */

body.ap-custom-theme .ap-projects-bottom{
    width:100%;
    display:flex;
    justify-content:flex-end;
    align-items:center;
    margin-top:42px;
    padding-top:0;
    border-top:0;
}

body.ap-custom-theme .ap-project-discuss{
    min-width:248px;
    min-height:47px;
    padding:0 17px 0 20px;
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    color:#6FEFFF!important;
    background:transparent;
    border:1px solid rgba(111,239,255,.62);
    text-decoration:none;
    font-size:10px;
    font-weight:900;
    letter-spacing:.18em;
    transition:
        color .28s ease,
        background .28s ease,
        border-color .28s ease,
        transform .28s ease,
        box-shadow .28s ease;
}

body.ap-custom-theme .ap-project-discuss b{
    color:#6FEFFF;
    font-size:19px;
    font-weight:400;
    line-height:1;
    transition:
        color .28s ease,
        transform .28s ease;
}

body.ap-custom-theme .ap-project-discuss:hover{
    color:#03101D!important;
    background:#6FEFFF;
    border-color:#6FEFFF;
    transform:translateY(-2px);
    box-shadow:0 14px 35px rgba(111,239,255,.16);
}

body.ap-custom-theme .ap-project-discuss:hover b{
    color:#03101D;
    transform:translate(3px,-3px);
}

/* =========================================================
   PROJECT SECTION REVEAL
   ========================================================= */

body.ap-custom-theme .ap-projects.ap-reveal-section{
    opacity:0;
    transform:translateY(34px);
    transition:
        opacity .8s cubic-bezier(.2,.7,.2,1),
        transform .8s cubic-bezier(.2,.7,.2,1);
}

body.ap-custom-theme .ap-projects.ap-reveal-section.ap-is-visible{
    opacity:1;
    transform:none;
}

/* =========================================================
   TABLET
   ========================================================= */

@media(max-width:900px){

    body.ap-custom-theme .ap-projects{
        padding:90px 0 95px;
    }

    body.ap-custom-theme .ap-projects-inner{
        width:calc(100% - 34px);
    }

    body.ap-custom-theme .ap-projects-header{
        grid-template-columns:1fr;
        gap:28px;
        margin-bottom:42px;
    }

    body.ap-custom-theme .ap-projects-header-right{
        max-width:650px;
        padding-left:0;
        padding-top:24px;
        border-left:0;
        border-top:1px solid rgba(111,239,255,.20);
    }

    body.ap-custom-theme .ap-projects-header h2{
        font-size:46px;
    }

    body.ap-custom-theme .ap-projects-grid{
        grid-template-columns:1fr;
        max-width:760px;
        margin:0 auto;
    }
}

/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:600px){

    body.ap-custom-theme .ap-projects{
        padding:75px 0 80px;
    }

    body.ap-custom-theme .ap-projects-inner{
        width:calc(100% - 30px);
        max-width:none;
    }

    body.ap-custom-theme .ap-projects-header{
        width:100%;
        max-width:none;
        gap:22px;
        margin-bottom:35px;
    }

    body.ap-custom-theme .ap-projects-header .ap-section-label{
        margin-bottom:16px;
        font-size:8px;
        letter-spacing:.18em;
    }

    body.ap-custom-theme .ap-projects-header h2{
        font-size:36px;
        line-height:1.04;
        letter-spacing:-.045em;
    }

    body.ap-custom-theme .ap-projects-header-right{
        width:100%;
        max-width:none;
        padding-top:20px;
        border-top-color:rgba(111,239,255,.18);
    }

    body.ap-custom-theme .ap-projects-header-right p{
        max-width:none;
        font-size:13px;
        line-height:1.7;
    }

    body.ap-custom-theme .ap-projects-grid{
        width:100%;
        max-width:none;
        grid-template-columns:minmax(0,1fr);
        gap:18px;
    }

    body.ap-custom-theme .ap-project-card{
        width:100%;
        max-width:none;
        min-width:0;
        border-radius:17px;
    }

    body.ap-custom-theme .ap-project-video{
        width:100%;
        aspect-ratio:16/9;
    }

    body.ap-custom-theme .ap-project-content{
        padding:22px 20px 24px;
    }

    body.ap-custom-theme .ap-project-meta{
        font-size:8px;
        letter-spacing:.20em;
    }

    body.ap-custom-theme .ap-project-meta span{
        font-size:10px;
    }

    body.ap-custom-theme .ap-project-content h3{
        font-size:22px;
        line-height:1.25;
    }

    body.ap-custom-theme .ap-project-content p{
        margin:12px 0 20px;
        font-size:13px;
        line-height:1.7;
    }

    body.ap-custom-theme .ap-projects-bottom{
        width:100%;
        justify-content:flex-end;
        margin-top:30px;
    }

    body.ap-custom-theme .ap-project-discuss{
        width:100%;
        min-width:0;
        min-height:48px;
        padding-left:18px;
        padding-right:15px;
        font-size:9px;
        letter-spacing:.16em;
    }
}

@media(max-width:390px){

    body.ap-custom-theme .ap-projects-inner{
        width:calc(100% - 28px);
    }

    body.ap-custom-theme .ap-projects-header h2{
        font-size:32px;
    }

    body.ap-custom-theme .ap-project-content{
        padding-left:18px;
        padding-right:18px;
    }

    body.ap-custom-theme .ap-project-discuss{
        font-size:8px;
        letter-spacing:.14em;
    }
}

@media(prefers-reduced-motion:reduce){

    body.ap-custom-theme .ap-project-card,
    body.ap-custom-theme .ap-project-link,
    body.ap-custom-theme .ap-project-discuss{
        transition:none;
    }

    body.ap-custom-theme .ap-projects.ap-reveal-section{
        opacity:1!important;
        transform:none!important;
        transition:none!important;
    }
}


/* =========================================================
   SECTION 09 — MATCH GLOBAL HOMEPAGE CONTAINER
   ========================================================= */

body.ap-custom-theme .ap-projects{
    width:100%;
    max-width:none;
}

body.ap-custom-theme .ap-projects > .ap-projects-inner.ap-home-container{
    width:min(calc(100% - 48px),1440px);
    max-width:1440px;
    margin-left:auto;
    margin-right:auto;
}

@media(max-width:900px){
    body.ap-custom-theme .ap-projects > .ap-projects-inner.ap-home-container{
        width:calc(100% - 34px);
        max-width:none;
    }
}

@media(max-width:600px){
    body.ap-custom-theme .ap-projects > .ap-projects-inner.ap-home-container{
        width:calc(100% - 30px);
        max-width:none;
    }
}

@media(max-width:390px){
    body.ap-custom-theme .ap-projects > .ap-projects-inner.ap-home-container{
        width:calc(100% - 28px);
    }
}


/* =========================================================
   09 / FEATURED BUILDS — THREE CARD DESKTOP
   ========================================================= */

@media(min-width:901px){

    body.ap-custom-theme .ap-project-content{
        padding:26px 26px 28px;
    }

    body.ap-custom-theme .ap-project-content h3{
        font-size:24px;
    }

    body.ap-custom-theme .ap-project-content p{
        font-size:12.5px;
        line-height:1.7;
    }

    body.ap-custom-theme .ap-project-meta{
        font-size:8px;
        letter-spacing:.20em;
    }

    body.ap-custom-theme .ap-project-meta i{
        width:20px;
    }
}


/* =========================================================
   10 / START YOUR BUILD — CONSULTATION CTA
   ========================================================= */

body.ap-custom-theme .ap-build-cta{
    position:relative;
    width:100%;
    padding:115px 0 120px;
    overflow:hidden;
    background:#07112A;
    border-top:1px solid rgba(111,239,255,.16);
}

body.ap-custom-theme .ap-build-cta::before{
    content:none;
}

body.ap-custom-theme .ap-build-cta-inner{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(420px,.72fr);
    gap:95px;
    align-items:center;
}

body.ap-custom-theme .ap-build-cta-content{
    min-width:0;
}

body.ap-custom-theme .ap-build-cta-content .ap-section-label{
    margin:0 0 28px;
}

body.ap-custom-theme .ap-build-cta-content h2{
    max-width:680px;
    margin:0;
    color:#fff;
    font-size:clamp(52px,5.7vw,78px);
    line-height:.94;
    font-weight:800;
    letter-spacing:-.065em;
}

body.ap-custom-theme .ap-build-cta-content h2 em{
    display:block;
    color:#6FEFFF;
    font-style:normal;
}

body.ap-custom-theme .ap-build-cta-intro{
    max-width:650px;
    margin:36px 0 45px;
    color:#C7D7E7;
    font-size:17px;
    line-height:1.8;
    font-weight:500;
}

body.ap-custom-theme .ap-build-cta-services{
    max-width:650px;
    border-top:1px solid rgba(111,239,255,.28);
}

body.ap-custom-theme .ap-build-cta-service{
    display:grid;
    grid-template-columns:60px 1fr;
    gap:0;
    align-items:center;
    min-height:78px;
    border-bottom:1px solid rgba(111,239,255,.22);
}

body.ap-custom-theme .ap-build-cta-service > span{
    color:#6FEFFF;
    font-size:10px;
    font-weight:900;
    letter-spacing:.20em;
}

body.ap-custom-theme .ap-build-cta-service strong{
    display:block;
    margin-bottom:5px;
    color:#fff;
    font-size:15px;
    font-weight:800;
}

body.ap-custom-theme .ap-build-cta-service small{
    display:block;
    color:#9EB3C9;
    font-size:12px;
    line-height:1.5;
}

body.ap-custom-theme .ap-build-cta-form-wrap{
    min-width:0;
}

body.ap-custom-theme .ap-build-cta-form-card{
    width:100%;
    max-width:520px;
    margin-left:auto;
    padding:35px 34px 32px;
    border:1px solid rgba(111,239,255,.24);
    border-radius:20px;
    background:#0A1731;
    box-shadow:
        0 28px 80px rgba(0,0,0,.30),
        0 0 45px rgba(111,239,255,.05);
}

body.ap-custom-theme .ap-build-cta-kicker{
    margin:0 0 14px;
    color:#6FEFFF;
    font-size:9px;
    font-weight:900;
    letter-spacing:.27em;
}

body.ap-custom-theme .ap-build-cta-form-card h3{
    margin:0;
    color:#fff;
    font-size:31px;
    line-height:1.02;
    font-weight:800;
    letter-spacing:-.04em;
}

body.ap-custom-theme .ap-build-cta-form-card h3 em{
    color:#6FEFFF;
    font-style:normal;
}

body.ap-custom-theme .ap-build-cta-form-intro{
    margin:17px 0 30px;
    color:#8FA5C0;
    font-size:12px;
    line-height:1.6;
}

body.ap-custom-theme .ap-build-cta-form{
    position:relative;
}

body.ap-custom-theme .ap-build-cta-honeypot{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
}

body.ap-custom-theme .ap-build-cta-field{
    display:block;
    margin:0 0 20px;
}

body.ap-custom-theme .ap-build-cta-field > span{
    display:block;
    margin:0 0 9px;
    color:#fff;
    font-size:11px;
    font-weight:800;
}

body.ap-custom-theme .ap-build-cta-field > span b{
    color:#6FEFFF;
}

body.ap-custom-theme .ap-build-cta-field > div{
    display:flex;
    align-items:center;
    height:51px;
    border:1px solid rgba(111,239,255,.26);
    border-radius:9px;
    background:#111F3A;
    overflow:hidden;
    transition:border-color .25s ease,box-shadow .25s ease;
}

body.ap-custom-theme .ap-build-cta-field > div:focus-within{
    border-color:rgba(111,239,255,.70);
    box-shadow:0 0 0 3px rgba(111,239,255,.07);
}

body.ap-custom-theme .ap-build-cta-field i{
    flex:0 0 48px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#2E6A9A;
    font-style:normal;
    font-size:17px;
}

body.ap-custom-theme .ap-build-cta-field input{
    min-width:0;
    width:100%;
    height:100%;
    padding:0 14px 0 8px;
    border:0;
    outline:0;
    color:#fff;
    background:transparent;
    font:inherit;
    font-size:12px;
}

body.ap-custom-theme .ap-build-cta-field input::placeholder{
    color:#647B98;
}

body.ap-custom-theme .ap-build-cta-phone strong{
    flex:0 0 48px;
    height:24px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#6FEFFF;
    font-size:11px;
    border-right:1px solid rgba(111,239,255,.22);
}

body.ap-custom-theme .ap-build-cta-phone input{
    padding-left:13px;
}

body.ap-custom-theme .ap-build-cta-submit{
    width:100%;
    height:53px;
    margin-top:1px;
    padding:0 18px 0 20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    border:1px solid #6FEFFF;
    border-radius:9px;
    color:#06172A;
    background:#6FEFFF;
    cursor:pointer;
    font:inherit;
    font-size:12px;
    font-weight:900;
    transition:
        background .28s ease,
        color .28s ease,
        transform .28s ease,
        box-shadow .28s ease;
}

body.ap-custom-theme .ap-build-cta-submit b{
    font-size:21px;
    font-weight:400;
    line-height:1;
    transition:transform .28s ease;
}

body.ap-custom-theme .ap-build-cta-submit:hover{
    color:#6FEFFF;
    background:transparent;
    transform:translateY(-2px);
    box-shadow:0 14px 35px rgba(111,239,255,.10);
}

body.ap-custom-theme .ap-build-cta-submit:hover b{
    transform:translateX(4px);
}

body.ap-custom-theme .ap-build-cta-privacy{
    margin:18px 0 0;
    text-align:center;
    color:#687F9D;
    font-size:10px;
}

body.ap-custom-theme .ap-build-cta-privacy span{
    margin-right:7px;
    color:#6FEFFF;
}

body.ap-custom-theme .ap-build-cta-message{
    margin:-7px 0 20px;
    padding:10px 12px;
    border-radius:7px;
    font-size:11px;
    line-height:1.5;
}

body.ap-custom-theme .ap-build-cta-success{
    color:#9CF5FF;
    border:1px solid rgba(111,239,255,.22);
    background:rgba(111,239,255,.06);
}

body.ap-custom-theme .ap-build-cta-error{
    color:#FFC8C8;
    border:1px solid rgba(255,120,120,.22);
    background:rgba(255,120,120,.06);
}

@media(max-width:1000px){
    body.ap-custom-theme .ap-build-cta{
        padding:90px 0 95px;
    }

    body.ap-custom-theme .ap-build-cta-inner{
        grid-template-columns:1fr;
        gap:60px;
    }

    body.ap-custom-theme .ap-build-cta-content h2{
        font-size:56px;
    }

    body.ap-custom-theme .ap-build-cta-form-card{
        max-width:650px;
        margin:0 auto;
    }
}

@media(max-width:600px){
    body.ap-custom-theme .ap-build-cta{
        padding:72px 0 80px;
    }

    body.ap-custom-theme .ap-build-cta-inner{
        width:calc(100% - 30px);
    }

    body.ap-custom-theme .ap-build-cta-content .ap-section-label{
        margin-bottom:20px;
    }

    body.ap-custom-theme .ap-build-cta-content h2{
        font-size:42px;
        line-height:1;
    }

    body.ap-custom-theme .ap-build-cta-intro{
        margin:23px 0 30px;
        font-size:14px;
        line-height:1.7;
    }

    body.ap-custom-theme .ap-build-cta-service{
        grid-template-columns:45px 1fr;
        min-height:72px;
    }

    body.ap-custom-theme .ap-build-cta-service strong{
        font-size:14px;
    }

    body.ap-custom-theme .ap-build-cta-service small{
        font-size:11px;
    }

    body.ap-custom-theme .ap-build-cta-form-card{
        padding:27px 20px 24px;
        border-radius:16px;
    }

    body.ap-custom-theme .ap-build-cta-form-card h3{
        font-size:27px;
    }
}


/* ======================================================================
   AP FOOTER V4 — START
   Graphite footer with warm metal detail. Edit the entire footer here.
   Width: 1700px maximum. Palette, spacing and responsive rules are scoped.
   ====================================================================== */
body.ap-custom-theme .ap-site-footer.apf-footer {
    --apf-width:1700px;
    --apf-bg:#171C1E;
    --apf-text:#F1EFE7;
    --apf-muted:#B5BCB9;
    --apf-accent:#6FEFFF;
    --apf-border:rgba(227,234,225,.17);
    position:relative;
    isolation:isolate;
    margin:0;
    padding:0;
    width:100%;
    color:var(--apf-text);
    background:radial-gradient(ellipse at 100% 0,#303936 0,transparent 50%),var(--apf-bg);
    border-top:1px solid #D7E3D530;
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
    line-height:1.6;
}
.apf-footer *, .apf-footer *::before, .apf-footer *::after { box-sizing:border-box; }
.apf-footer :is(p,h2,h3,ul,dl,dd) { margin:0; }
.apf-footer a { color:inherit; text-decoration:none; }
.apf-footer a:focus-visible { outline:2px solid var(--apf-accent); outline-offset:6px; border-radius:2px; }
.apf-footer .apf-shell { width:min(var(--apf-width),calc(100% - 112px)); margin-inline:auto; }
.apf-footer .apf-top { display:flex; align-items:center; justify-content:space-between; gap:32px; padding-block:40px; border-bottom:1px solid var(--apf-border); }
.apf-footer .apf-logo { flex-shrink:0; }
.apf-footer .custom-logo-link { display:flex; align-items:center; }
.apf-footer .custom-logo { display:block; width:auto; max-width:210px; height:auto; max-height:60px; object-fit:contain; }
.apf-footer .apf-wordmark { display:block; color:var(--apf-accent); font-size:30px; font-weight:750; line-height:1; letter-spacing:-.035em; }
.apf-footer .apf-wordmark span { display:block; margin-top:9px; font-size:9px; letter-spacing:.65em; text-align:center; }
.apf-footer .apf-signature,.apf-footer .apf-coordinate,.apf-footer .apf-eyebrow { font-size:10px; font-weight:500; letter-spacing:.16em; line-height:1.7; }
.apf-footer .apf-signature { display:flex; align-items:center; gap:12px; color:var(--apf-muted); }
.apf-footer .apf-signature>span { width:5px; height:5px; flex-shrink:0; border-radius:50%; background:var(--apf-accent); }
.apf-footer .apf-coordinate { color:var(--apf-muted); }
.apf-footer .apf-invitation { display:grid; grid-template-columns:1.5fr 1fr; align-items:center; gap:70px; padding-block:80px; }
.apf-footer .apf-eyebrow { color:var(--apf-accent); margin-bottom:24px; }
.apf-footer .apf-invitation h2 { font-size:clamp(44px,5.1vw,87px); font-weight:500; line-height:1.08; letter-spacing:-.06em; color:var(--apf-text); }
.apf-footer .apf-invitation h2 em { color:#CCB498; font-style:normal; }
.apf-footer .apf-invitation-copy { max-width:440px; justify-self:end; width:100%;  padding:28px;  border:1px solid #DAE7DF24;  border-radius:5px;  background:linear-gradient(135deg,#FFFFFF08,transparent);  box-shadow:0 15px 35px #0000001A,inset 0 1px 0 #FFFFFF08; }
.apf-footer .apf-invitation-copy>p { font-size:15px; line-height:1.9; color:var(--apf-muted); }
.apf-footer .apf-build { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:18px 21px; min-height:60px; margin-top:27px; color:#111A3D; background:var(--apf-accent); font-size:11px; font-weight:700; letter-spacing:.12em; transition:background .25s,transform .25s;  border-radius:3px;  border:1px solid #B2F7FF;  box-shadow:0 4px 0 #308F9A,0 12px 20px #00000033; }
.apf-footer .apf-arrow { font-size:25px; line-height:1; font-weight:400; transition:transform .25s; }
.apf-footer .apf-direct { display:inline-flex; align-items:center; gap:18px; min-height:44px; padding-top:10px; font-size:12px; color:var(--apf-muted); }
.apf-footer .apf-direct>span { color:var(--apf-accent); }
.apf-footer .apf-details { display:grid; grid-template-columns:1.15fr .9fr 1fr 1.15fr; gap:56px; padding-block:48px 58px; border-top:1px solid var(--apf-border); }
.apf-footer .apf-details>section,.apf-footer .apf-details>nav { min-width:0; }
.apf-footer .apf-label { display:flex; align-items:center; gap:12px; margin-bottom:26px; font-size:10px; font-weight:500; color:var(--apf-muted); letter-spacing:.13em; }
.apf-footer .apf-label>span { color:var(--apf-accent); font-size:10px; }
.apf-footer .apf-city { font-size:25px; line-height:1.25; font-weight:500; letter-spacing:-.035em; margin-bottom:19px; }
.apf-footer address { font-style:normal; font-size:13px; line-height:1.85; color:var(--apf-muted); }
.apf-footer .apf-text-link { display:inline-flex; align-items:center; gap:25px; min-height:44px; margin-top:12px; font-size:10px; letter-spacing:.1em; }
.apf-footer .apf-text-link>span { color:var(--apf-accent); font-size:20px; }
.apf-footer .apf-menu { list-style:none; padding:0; }
.apf-footer .apf-menu a { display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:42px; padding-block:8px; font-size:13px; }
.apf-footer .apf-menu a>span { color:#9BACA5; transition:transform .25s,color .25s; }
.apf-footer .apf-hours>div { padding-block:11px; border-bottom:1px solid var(--apf-border); }
.apf-footer .apf-hours>div:first-child { padding-top:5px; }
.apf-footer .apf-hours dt { font-size:12px; color:var(--apf-muted); }
.apf-footer .apf-hours dd { font-size:13px; margin-top:5px; font-variant-numeric:tabular-nums; }
.apf-footer .apf-hours-note { color:var(--apf-muted); font-size:12px; line-height:1.8; margin-top:20px; }
.apf-footer .apf-phone { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; font-size:clamp(17px,1.45vw,25px); letter-spacing:-.025em; white-space:nowrap; }
.apf-footer .apf-phone>span { color:var(--apf-accent); }
.apf-footer .apf-email { display:inline-flex; align-items:center; min-height:44px; font-size:13px; overflow-wrap:anywhere; color:var(--apf-muted); }
.apf-footer .apf-social { display:flex; flex-wrap:wrap; gap:0 20px; margin-top:24px; padding-top:14px; border-top:1px solid var(--apf-border); }
.apf-footer .apf-social a { display:inline-flex; align-items:center; gap:7px; min-height:42px; font-size:12px;  border-bottom:1px solid #DAE7DF40; }
.apf-footer .apf-social a>span { color:var(--apf-accent); }
.apf-footer .apf-colophon { border-top:1px solid var(--apf-border); padding-top:32px; }
.apf-footer .apf-motto { display:flex; justify-content:space-between; gap:20px; color:#859389; font-size:clamp(20px,4.5vw,78px); letter-spacing:-.04em; font-weight:600; line-height:1.1; padding-block:9px 38px;  text-shadow:0 1px 0 #FFFFFF0A,0 5px 12px #00000038; }
.apf-footer .apf-motto>span { color:#CCD0C5; }
.apf-footer .apf-bottom { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px 28px; border-top:1px solid var(--apf-border); padding-block:18px; color:var(--apf-muted); font-size:11px; }
.apf-footer .apf-bottom a { display:inline-flex; gap:12px; align-items:center; min-height:44px; }
.apf-footer .apf-bottom-note { font-size:9px; letter-spacing:.14em; }
@media(hover:hover) {
    .apf-footer .apf-build:hover { background:#A5F5FF; transform:translateY(-2px); }
    .apf-footer .apf-build:hover .apf-arrow { transform:translate(3px,-3px); }
    .apf-footer :is(.apf-menu a,.apf-social a,.apf-direct,.apf-email,.apf-text-link,.apf-phone,.apf-bottom a):hover { color:var(--apf-accent); }
    .apf-footer .apf-menu a:hover>span { color:var(--apf-accent); transform:translate(2px,-2px); }
}
@media(max-width:1150px) {
    .apf-footer .apf-shell { width:calc(100% - 64px); }
    .apf-footer .apf-coordinate { display:none; }
    .apf-footer .apf-invitation { gap:40px; grid-template-columns:1.35fr 1fr; }
    .apf-footer .apf-details { grid-template-columns:1fr 1fr; gap:46px 70px; }
    .apf-footer .apf-phone { font-size:24px; }
}
@media(max-width:700px) {
    .apf-footer .apf-shell { width:calc(100% - 40px); }
    .apf-footer .apf-top { align-items:start; gap:20px; padding-block:27px; }
    .apf-footer .custom-logo { max-width:155px; max-height:48px; }
    .apf-footer .apf-wordmark { font-size:25px; }
    .apf-footer .apf-signature { max-width:142px; font-size:8px; letter-spacing:.1em; line-height:1.8; }
    .apf-footer .apf-signature>span { margin-top:5px; align-self:start; }
    .apf-footer .apf-invitation { grid-template-columns:1fr; gap:29px; padding-block:52px; }
    .apf-footer .apf-invitation h2 { font-size:clamp(36px,7.5vw,53px); }
    .apf-footer .apf-eyebrow { font-size:9px; letter-spacing:.12em; margin-bottom:19px; }
    .apf-footer .apf-invitation-copy { justify-self:start; max-width:none; }
    .apf-footer .apf-invitation-copy>p { font-size:14px; }
    .apf-footer .apf-build { margin-top:23px; min-height:58px; padding:17px 20px; }
    .apf-footer .apf-details { gap:34px 24px; padding-block:34px 42px; }
    .apf-footer .apf-label { font-size:9px; letter-spacing:.09em; gap:9px; margin-bottom:20px; }
    .apf-footer .apf-city { font-size:21px; }
    .apf-footer .apf-menu a { font-size:12px; }
    .apf-footer .apf-phone { font-size:17px; gap:7px; }
    .apf-footer .apf-email { font-size:12px; }
    .apf-footer .apf-social { gap:0 16px; }
    .apf-footer .apf-motto { font-size:clamp(17px,4.4vw,28px); gap:8px; padding-bottom:27px; }
    .apf-footer .apf-bottom { align-items:start; gap:4px 20px; font-size:10px; padding-block:22px; }
    .apf-footer .apf-bottom>p { width:100%; }
    .apf-footer .apf-bottom-note { align-self:center; font-size:8px; letter-spacing:.1em; }
}
@media(max-width:420px) {
    .apf-footer .apf-details { grid-template-columns:1fr; }
    .apf-footer .apf-details>section,.apf-footer .apf-details>nav { padding-bottom:25px; border-bottom:1px solid var(--apf-border); }
    .apf-footer .apf-details>section:last-child { padding-bottom:0; border:0; }
    .apf-footer .apf-menu a { font-size:14px; min-height:44px; }
    .apf-footer .apf-phone { font-size:24px; }
    .apf-footer .apf-hours>div { display:flex; align-items:center; justify-content:space-between; gap:16px; }
    .apf-footer .apf-hours dd { margin:0; }
    .apf-footer .apf-label { margin-bottom:16px; }
}
@media(prefers-reduced-motion:reduce) {
    .apf-footer *, .apf-footer *::before, .apf-footer *::after { transition:none!important; animation:none!important; }
}

@media(max-width:700px) {
 .apf-footer .apf-invitation-copy { padding:24px; }
 .apf-footer .apf-invitation { padding-block:50px; }
 .apf-footer .apf-motto { font-size:clamp(17px,4.4vw,28px); }
}
/* AP FOOTER V4 — END */


/* ======================================================================
   AP HEADER CINEMA V5.2 — START
   Header presentation only. Ivory / ink / signature cyan. Max width 1700px.
   Native disclosure panels work before JavaScript; all motion is optional.
   ====================================================================== */

/* 01 / Masthead and accessible controls */
.apnav-header {
  --apnav-ivory:#faf9f5;
  --apnav-paper:#fffefa;
  --apnav-ink:#172024;
  --apnav-muted:#5c6669;
  --apnav-navy:#111a3d;
  --apnav-cyan:#6fefff;
  --apnav-line:#dcded8;
  --apnav-height:90px;
  --apnav-radius:12px;
  position:sticky;
  top:0;
  z-index:1000;
  width:100%;
  margin:0;
  padding:0;
  color:var(--apnav-ink);
  background:rgba(250,249,245,.97);
  border:0;
  border-bottom:1px solid var(--apnav-line);
  box-shadow:0 5px 30px #111a3d08;
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
  isolation:isolate;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  line-height:1.5;
  transition:transform .32s cubic-bezier(.2,.7,.2,1),background .25s,box-shadow .25s;
}
.apnav-header.is-scroll-hidden { transform:translateY(calc(-100% - 2px)); }
.apnav-header:focus-within { transform:translateY(0); }
.apnav-header.is-scrolled { box-shadow:0 10px 32px #111a3d14; }
.apnav-header::before {
  position:absolute;
  inset:0 0 auto;
  height:2px;
  background:linear-gradient(90deg,#111a3d 0%,#111a3d 30%,#6fefff 62%,#dddcd5 100%);
  content:"";
}
.apnav-header *, .apnav-header *::before, .apnav-header *::after { box-sizing:border-box; }
.apnav-header :is(h2,h3,p,ul) { margin:0; }
.apnav-header :is(a,button,summary) { -webkit-tap-highlight-color:transparent; }
.apnav-header a { text-decoration:none; }
.apnav-header :is(a,button,summary):focus-visible { outline:3px solid #08748a; outline-offset:4px; }
.apnav-header :is(button,summary) { font:inherit; cursor:pointer; }
.apnav-header button { box-shadow:none; text-transform:none; }
.apnav-header summary { list-style:none; }
.apnav-header summary::-webkit-details-marker { display:none; }
.apnav-header summary::marker { content:""; }
.apnav-header [hidden] { display:none!important; }
.apnav-header details { margin:0; padding:0; border:0; }
.apnav-header svg { width:20px; height:20px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.apnav-header .apnav-shell { position:relative; display:flex; align-items:center; gap:clamp(20px,2.5vw,44px); width:min(1700px,calc(100% - 96px)); min-height:var(--apnav-height); margin-inline:auto; }
.apnav-header .apnav-brand { flex:0 0 auto; width:178px; }
.apnav-header .custom-logo-link { display:flex; align-items:center; min-height:48px; }
.apnav-header .custom-logo { filter:brightness(0) saturate(100%); opacity:.92; display:block; width:auto; max-width:178px; height:auto; max-height:52px; object-fit:contain; }
.apnav-header .apnav-wordmark { display:inline-block; color:var(--apnav-navy); font-size:29px; line-height:1; font-weight:750; letter-spacing:-.065em; }
.apnav-header .apnav-wordmark>span { display:block; margin-top:8px; font-size:9px; letter-spacing:.59em; text-align:center; }
.apnav-header .apnav-nav { display:flex; align-items:center; justify-content:center; gap:clamp(16px,1.6vw,30px); margin-left:auto; }
.apnav-header .apnav-nav>a, .apnav-header .apnav-services>summary { position:relative; display:flex; align-items:center; gap:8px; min-height:var(--apnav-height); padding:0; color:var(--apnav-ink); font-size:11px; line-height:1.25; font-weight:650; letter-spacing:.075em; white-space:nowrap; }
.apnav-header .apnav-nav>a::after, .apnav-header .apnav-services>summary::after { position:absolute; right:0; bottom:0; left:0; height:3px; background:var(--apnav-navy); transform:scaleX(0); transform-origin:left center; transition:transform .26s ease; content:""; }
.apnav-header .apnav-nav>a[aria-current="page"]::after, .apnav-header .apnav-services[open]>summary::after, .apnav-header .apnav-services>summary.is-active::after { transform:scaleX(1); }
.apnav-header .apnav-services>summary svg { width:12px; height:12px; transition:transform .25s ease; }
.apnav-header .apnav-services[open]>summary svg { transform:rotate(180deg); }
.apnav-header .apnav-actions { display:flex; align-items:center; flex:0 0 auto; gap:10px; }
.apnav-header :is(.apnav-account,.apnav-cart)>summary { position:relative; display:flex; align-items:center; justify-content:center; gap:8px; min-width:46px; min-height:46px; padding:10px 12px; border:1px solid var(--apnav-line); border-radius:6px; color:var(--apnav-navy); background:var(--apnav-paper); transition:background .2s,border-color .2s,box-shadow .2s; }
.apnav-header :is(.apnav-account,.apnav-cart)[open]>summary { border-color:var(--apnav-navy); box-shadow:0 0 0 3px #111a3d08; background:#fff; }
.apnav-header .apnav-action-label { font-size:11px; font-weight:650; letter-spacing:.02em; }
.apnav-header .apnav-cart-count { position:absolute; top:-7px; right:-6px; display:grid; place-items:center; min-width:19px; height:19px; padding-inline:4px; border:2px solid var(--apnav-ivory); border-radius:20px; background:var(--apnav-cyan); color:var(--apnav-navy); font-size:10px; font-weight:800; line-height:1; }
.apnav-header a.apnav-book { display:flex; align-items:center; justify-content:space-between; gap:26px; min-height:48px; padding:12px 18px; border:1px solid #263055; border-radius:5px; color:#fff; background:var(--apnav-navy); box-shadow:inset 0 1px 0 #ffffff1f,0 3px 0 #070d25; font-size:11px; line-height:1.4; font-weight:650; letter-spacing:.055em; white-space:nowrap; transition:background .2s,box-shadow .2s; }
.apnav-header .apnav-book :is(svg,span:last-child) { color:var(--apnav-cyan); transition:transform .25s ease; }

/* 02 / Shared floating surfaces and short cinematic entrances */
.apnav-header .apnav-panel { position:absolute; top:calc(100% + 12px); z-index:5; max-height:var(--apnav-available-height,calc(100dvh - 122px)); overflow:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; border:1px solid #d6d9d3; border-radius:var(--apnav-radius); background:var(--apnav-ivory); box-shadow:0 2px 0 #fff inset,0 14px 35px #111a3d14,0 35px 70px -20px #111a3d40; scrollbar-width:thin; scrollbar-color:#9ba7a8 transparent; }
.apnav-header .apnav-panel::before { position:absolute; right:0; left:0; top:0; height:3px; background:linear-gradient(90deg,#111a3d,#6fefff 70%,#d8eceb); content:""; }
.apnav-header .apnav-panel-close { display:none; position:absolute; top:10px; right:10px; z-index:3; width:44px; min-width:44px; height:44px; min-height:44px; padding:11px; align-items:center; justify-content:center; border:1px solid var(--apnav-line); border-radius:50%; color:var(--apnav-navy); background:var(--apnav-paper); font-size:24px; line-height:1; }
.apnav-header[data-enhanced] .apnav-panel-close { display:flex; }
.apnav-header .apnav-panel-close svg { width:16px; height:16px; }
.apnav-header .apnav-eyebrow { display:block; color:#466064; font-size:11px; line-height:1.5; font-weight:650; letter-spacing:.13em; text-transform:uppercase; }
.apnav-header .apnav-mega { right:0; left:0; padding:32px 36px 0; }
.apnav-header .apnav-mega-lead { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,.55fr); column-gap:60px; align-items:end; padding:0 36px 27px 0; border-bottom:1px solid var(--apnav-line); }
.apnav-header .apnav-mega-lead .apnav-eyebrow { grid-column:1/-1; margin-bottom:13px; }
.apnav-header .apnav-mega-lead h2 { color:var(--apnav-navy); font-size:clamp(29px,2.6vw,44px); line-height:1.12; font-weight:550; letter-spacing:-.055em; }
.apnav-header .apnav-mega-lead h2 em { display:block; margin-top:3px; color:#657271; font-family:Georgia,"Times New Roman",serif; font-weight:400; letter-spacing:-.055em; }
.apnav-header .apnav-mega-lead p { max-width:36ch; padding-bottom:3px; color:var(--apnav-muted); font-size:13px; line-height:1.75; }
.apnav-header .apnav-mega-body { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr); gap:32px; padding-block:26px; }
.apnav-header .apnav-service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:1fr; gap:0 28px; align-content:stretch; }
.apnav-header .apnav-service { position:relative; display:grid; grid-template-columns:22px minmax(0,1fr) 24px; align-items:center; gap:12px; min-height:103px; padding:17px 7px 17px 0; border-bottom:1px solid var(--apnav-line); color:var(--apnav-ink); transition:background .2s,color .2s; }
.apnav-header .apnav-index { align-self:start; padding-top:4px; color:#718183; font-size:11px; letter-spacing:.03em; font-variant-numeric:tabular-nums; }
.apnav-header .apnav-service strong { display:block; color:var(--apnav-ink); font-size:16px; line-height:1.35; font-weight:600; letter-spacing:-.02em; }
.apnav-header .apnav-service small { display:block; margin-top:7px; color:var(--apnav-muted); font-size:12px; line-height:1.5; }
.apnav-header .apnav-arrow { justify-self:end; display:grid; place-items:center; width:24px; height:24px; color:#41605f; font-size:21px; font-weight:400; line-height:1; transition:transform .25s,color .25s; }
.apnav-header .apnav-feature { position:relative; display:flex; flex-direction:column; min-height:308px; overflow:hidden; border:1px solid #283351; border-radius:7px; background:var(--apnav-navy); color:#fff; }
.apnav-header .apnav-feature>img, .apnav-header .apnav-feature>a>img { display:block; width:100%; height:170px; object-fit:cover; object-position:50% 47%; }
.apnav-header .apnav-feature-copy { position:relative; padding:19px 21px 20px; }
.apnav-header .apnav-feature .apnav-eyebrow { color:var(--apnav-cyan); font-size:11px; }
.apnav-header .apnav-feature h3 { margin-top:7px; color:#fff; font-size:clamp(28px,2.15vw,34px); line-height:1.12; font-weight:500; letter-spacing:-.035em; }
.apnav-header .apnav-feature h3 em { color:#cde1e4; font-family:Georgia,"Times New Roman",serif; font-weight:400; }
.apnav-header .apnav-feature [data-preview-caption] { display:block; margin-top:5px; color:#bfcbdc; font-size:11px; line-height:1.5; }
.apnav-header .apnav-feature p { margin-top:8px; color:#ced5e1; font-size:12px; line-height:1.55; }
.apnav-header .apnav-feature .apnav-text-link { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:44px; margin-top:8px; color:var(--apnav-cyan); font-size:12px; font-weight:600; }
.apnav-header .apnav-photo-note { position:absolute; top:143px; right:10px; display:block; padding:3px 7px; color:#fff; background:#111a3dec; font-size:11px; line-height:1.5; }
.apnav-header .apnav-mega-foot { display:flex; align-items:center; justify-content:space-between; gap:26px; min-height:66px; border-top:1px solid var(--apnav-line); }
.apnav-header .apnav-mega-foot>div { display:flex; flex-wrap:wrap; gap:25px; align-items:center; }
.apnav-header .apnav-mega-foot>div>a { display:flex; align-items:center; gap:14px; min-height:44px; color:var(--apnav-muted); font-size:12px; font-weight:500; }
.apnav-header .apnav-mega-foot>div>a:last-child { padding-inline:18px 0; border-left:1px solid var(--apnav-line); color:var(--apnav-navy); font-weight:600; }
.apnav-header .apnav-mega-foot>small { margin-right:auto; color:var(--apnav-muted); font-size:11px; line-height:1.5; letter-spacing:.04em; }
.apnav-header .apnav-mega-foot>a { display:flex; align-items:center; gap:16px; min-height:44px; color:var(--apnav-navy); font-size:12px; font-weight:600; }
.apnav-header .apnav-mega-foot>a:last-child { padding-inline:17px; border-left:1px solid var(--apnav-line); }

/* 03 / Account entrance — matching ivory surface, native customer account routes */
.apnav-header .apnav-account-panel { right:214px; width:430px; border-color:#d6d9d3; background:var(--apnav-ivory); color:var(--apnav-navy); }
.apnav-header .apnav-account-panel::before { background:linear-gradient(90deg,#111a3d,#6fefff 70%,#d8eceb); }
.apnav-header .apnav-account-panel .apnav-panel-close { border-color:var(--apnav-line); background:var(--apnav-paper); color:var(--apnav-navy); }
.apnav-header .aphp-panel { position:static; width:auto; max-width:none; margin:0; padding:0; overflow:visible; border:0; border-radius:0; background:none; box-shadow:none; color:inherit; font-family:inherit; }
.apnav-header .aphp-panel-head { display:flex; align-items:start; justify-content:space-between; gap:18px; padding:27px 64px 23px 26px; border-bottom:1px solid var(--apnav-line); }
.apnav-header .aphp-panel-head span { display:block; color:var(--apnav-muted); font-size:11px; line-height:1.5; font-weight:600; letter-spacing:.11em; }
.apnav-header .aphp-panel-head strong { display:block; margin-top:8px; color:var(--apnav-navy); font-size:26px; line-height:1.12; font-weight:550; letter-spacing:-.035em; }
.apnav-header .aphp-panel-head small { display:block; margin-top:1px; color:#32656a; font-size:11px; line-height:1.5; font-weight:650; letter-spacing:.05em; white-space:nowrap; }
.apnav-header .aphp-account-guest { padding:24px 26px 26px; }
.apnav-header .aphp-account-guest p { margin:0; color:var(--apnav-muted); font-size:14px; line-height:1.75; }
.apnav-header .aphp-account-actions, .apnav-header .aphp-cart-actions, .apnav-header .aphp-account-footer { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.apnav-header .aphp-account-actions { margin-top:25px; }
.apnav-header .aphp-account-user { display:grid; grid-template-columns:52px minmax(0,1fr); align-items:center; gap:15px; padding:25px 26px; border-bottom:1px solid var(--apnav-line); }
.apnav-header .aphp-account-user-mark { display:grid; place-items:center; width:52px; height:52px; overflow:hidden; border:1px solid #ccd9d2; border-radius:50%; background:#edf0eb; color:var(--apnav-navy); font-size:17px; font-weight:650; }
.apnav-header .aphp-account-user-mark img { width:100%; height:100%; object-fit:cover; }
.apnav-header .aphp-account-user span { display:block; color:#32656a; font-size:11px; line-height:1.5; font-weight:600; letter-spacing:.1em; }
.apnav-header .aphp-account-user strong { display:block; margin-top:6px; color:var(--apnav-navy); font-size:16px; line-height:1.4; font-weight:600; overflow-wrap:anywhere; }
.apnav-header .aphp-account-grid { display:grid; grid-template-columns:1fr 1fr; gap:2px; padding:12px; }
.apnav-header .aphp-account-grid a { display:grid; grid-template-columns:22px minmax(0,1fr) 16px; gap:7px; align-items:center; min-height:79px; padding:12px; border:1px solid transparent; border-radius:5px; background:transparent; transition:background .2s,border-color .2s; }
.apnav-header .aphp-account-grid a>span { color:#32656a; font-size:11px; font-weight:500; }
.apnav-header .aphp-account-grid a>strong { color:var(--apnav-navy); font-size:12px; line-height:1.4; font-weight:600; letter-spacing:.01em; }
.apnav-header .aphp-account-grid a>b { color:#32656a; font-size:16px; font-weight:400; }
.apnav-header .aphp-account-footer { padding:17px; border-top:1px solid var(--apnav-line); }
.apnav-header .apnav-account-note { padding:0 26px 22px; color:var(--apnav-muted); font-size:12px; line-height:1.65; }
.apnav-header .apnav-account-note>span { display:block; }
.apnav-header .apnav-account-note>a { display:flex; align-items:center; justify-content:space-between; min-height:44px; color:#32656a; font-size:12px; }
.apnav-header .apnav-account-journey { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; margin:22px 0 0; padding:18px 0 0; border-top:1px solid var(--apnav-line); color:var(--apnav-muted); font-size:11px; }
.apnav-header .apnav-account-panel :is(a,button):focus-visible { outline-color:#32656a; }

/* Explicit foregrounds keep guest/member controls consistent with cart and mega previews. */
.apnav-header .apnav-account-panel .aphp-link-secondary { border-color:#bcc6c3; background:var(--apnav-paper); color:var(--apnav-navy)!important; }
.apnav-header .apnav-account-panel .aphp-link-primary { border-color:var(--apnav-cyan); background:var(--apnav-cyan); color:var(--apnav-navy)!important; }
.apnav-header .apnav-account-panel :is(.aphp-link-primary,.aphp-link-secondary)>:is(span,b) { color:inherit; }

/* 04 / Cart — original WooCommerce data and actions */
.apnav-header .apnav-cart-panel { right:0; width:480px; }
.apnav-header .aphp-cart-panel .aphp-panel-head { border-bottom-color:var(--apnav-line); }
.apnav-header .aphp-cart-panel .aphp-panel-head span { color:var(--apnav-muted); }
.apnav-header .aphp-cart-panel .aphp-panel-head strong { color:var(--apnav-navy); }
.apnav-header .aphp-cart-panel .aphp-panel-head small { color:#32656a; }
.apnav-header .aphp-cart-list { max-height:min(370px,43dvh); padding:8px 22px; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#adb7b5 transparent; }
.apnav-header .aphp-cart-item { display:grid; grid-template-columns:76px minmax(0,1fr) 44px; gap:14px; align-items:center; min-height:108px; margin:0; padding:17px 0; border:0; border-bottom:1px solid var(--apnav-line); border-radius:0; background:none; }
.apnav-header .aphp-cart-item:last-child { border-bottom:0; }
.apnav-header .aphp-cart-media { display:grid; place-items:center; width:76px; height:82px; overflow:hidden; border:1px solid #e2e4dc; border-radius:5px; background:#fff; }
.apnav-header .aphp-cart-media img { display:block; width:100%; height:100%; object-fit:contain; }
.apnav-header .aphp-cart-copy { min-width:0; }
.apnav-header .aphp-cart-copy>span { display:block; color:#527074; font-size:11px; line-height:1.5; font-weight:650; letter-spacing:.06em; }
.apnav-header .aphp-cart-copy>strong { display:block; margin-top:5px; color:var(--apnav-ink); font-size:13px; line-height:1.5; font-weight:600; overflow-wrap:anywhere; }
.apnav-header .aphp-cart-copy>small { display:block; margin-top:7px; color:#394750; font-size:13px; line-height:1.5; font-weight:650; }
.apnav-header .aphp-cart-copy .woocommerce-Price-amount, .apnav-header .aphp-cart-summary .woocommerce-Price-amount { color:inherit!important; font-size:inherit!important; }
.apnav-header .aphp-cart-remove { display:flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; color:#5f6b6e!important; background:none; border-radius:4px; text-align:center; }
.apnav-header .aphp-cart-remove>span { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.apnav-header .aphp-cart-remove b { font-size:24px; line-height:1; font-weight:400; }
.apnav-header .aphp-cart-more { padding:12px 22px; border-top:1px solid var(--apnav-line); color:var(--apnav-muted); font-size:11px; line-height:1.5; text-align:center; }
.apnav-header .aphp-cart-summary { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:20px 24px; border:0; background:var(--apnav-navy); color:#fff; }
.apnav-header .aphp-cart-summary>span { color:#dce4f0; font-size:11px; line-height:1.5; font-weight:600; letter-spacing:.08em; }
.apnav-header .aphp-cart-summary>strong { color:var(--apnav-cyan); font-size:24px; line-height:1.4; font-weight:600; }
.apnav-header .aphp-cart-actions { padding:18px; border:0; }
.apnav-header .aphp-cart-empty { padding:34px 28px 30px; text-align:center; }
.apnav-header .aphp-cart-empty-mark { display:grid; place-items:center; width:62px; height:62px; margin:0 auto 20px; border:1px solid #d5dfd9; border-radius:50%; background:#edf0eb; color:var(--apnav-navy); font-size:21px; font-weight:500; }
.apnav-header .aphp-cart-empty strong { display:block; color:var(--apnav-navy); font-size:23px; line-height:1.25; font-weight:550; letter-spacing:-.03em; }
.apnav-header .aphp-cart-empty p { max-width:32ch; margin:12px auto 22px; color:var(--apnav-muted); font-size:13px; line-height:1.75; }
.apnav-header .aphp-link-primary, .apnav-header .aphp-link-secondary { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:48px; padding:12px 14px; border:1px solid transparent; border-radius:4px; font-size:11px; line-height:1.45; font-weight:650; letter-spacing:.025em; text-decoration:none; transition:background .2s,border-color .2s; }
.apnav-header .aphp-link-primary { color:var(--apnav-navy)!important; border-color:var(--apnav-cyan); background:var(--apnav-cyan); }
.apnav-header .aphp-link-secondary { color:#f6f8ff!important; border-color:#68758d; background:#172447; }
.apnav-header .aphp-cart-panel .aphp-link-secondary { border-color:#bcc6c3; background:#fffefa; color:var(--apnav-navy)!important; }
.apnav-header .aphp-link-primary :is(b,span:last-child), .apnav-header .aphp-link-secondary :is(b,span:last-child) { font-size:16px; line-height:1; font-weight:400; }
.apnav-header .apnav-cart-status { margin:0; padding:10px 24px 18px; color:var(--apnav-muted); font-size:11px; line-height:1.5; }

/* 05 / Touch menu; account and cart remain available at every width */
.apnav-header .apnav-mobile { display:none; }
.apnav-header .apnav-mobile>summary { display:flex; align-items:center; justify-content:center; gap:10px; min-width:46px; min-height:46px; padding:10px 12px; border:1px solid var(--apnav-line); border-radius:5px; color:var(--apnav-navy); background:var(--apnav-paper); font-size:11px; font-weight:600; }
.apnav-header .apnav-menu-lines { display:flex; flex-direction:column; gap:6px; width:18px; }
.apnav-header .apnav-menu-lines i { display:block; width:18px; height:1px; background:currentColor; transition:transform .2s; }
.apnav-header .apnav-mobile[open] .apnav-menu-lines i:first-child { transform:translateY(3.5px) rotate(45deg); }
.apnav-header .apnav-mobile[open] .apnav-menu-lines i:last-child { transform:translateY(-3.5px) rotate(-45deg); }
.apnav-header .apnav-mobile-panel { right:0; left:0; padding:28px; }
.apnav-header .apnav-mobile-head { margin-bottom:20px; padding:0 36px 20px 0; border-bottom:1px solid var(--apnav-line); color:var(--apnav-muted); font-size:11px; letter-spacing:.09em; }
.apnav-header .apnav-mobile-nav>a, .apnav-header .apnav-mobile-services>summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:59px; padding-block:13px; border-bottom:1px solid var(--apnav-line); color:var(--apnav-navy); font-size:23px; line-height:1.25; font-weight:500; letter-spacing:-.04em; }
.apnav-header .apnav-mobile-nav>a>span { color:#627873; font-size:21px; }
.apnav-header .apnav-mobile-services>summary>span { font-size:25px; font-weight:400; transition:transform .2s; }
.apnav-header .apnav-mobile-services[open]>summary>span { transform:rotate(45deg); }
.apnav-header .apnav-mobile-service-list { padding:8px 0 16px 12px; }
.apnav-header .apnav-mobile-service-list .apnav-service { min-height:77px; }
.apnav-header .apnav-mobile-service-list .apnav-service strong { font-size:15px; }
.apnav-header .apnav-mobile-service-list>a:not(.apnav-service) { display:flex; align-items:center; min-height:48px; color:var(--apnav-navy); font-size:13px; font-weight:600; }
.apnav-header .apnav-mobile-foot { display:flex; flex-wrap:wrap; gap:0 24px; margin-top:21px; padding-top:11px; border-top:1px solid var(--apnav-line); }
.apnav-header .apnav-mobile-foot>a { display:flex; align-items:center; min-height:44px; color:var(--apnav-muted); font-size:12px; }
.apnav-header .apnav-mobile-panel .apnav-book { width:100%; margin-top:24px; }
.apnav-header .apnav-mobile-panel>.apnav-eyebrow { margin:0 36px 23px 0; }
.apnav-header .apnav-mobile-foot .apnav-book { color:#fff; margin-top:8px; }
.ap-skip-link { position:fixed; top:10px; left:10px; z-index:100000; padding:12px 16px; background:#6fefff; color:#111a3d!important; font-size:12px; font-weight:750; transform:translateY(-160%); }
.ap-skip-link:focus { transform:translateY(0); }

/* 06 / Pointer feedback and motion preferences */
@media (hover:hover) and (pointer:fine) {
  .apnav-header .apnav-nav>a:hover::after, .apnav-header .apnav-services>summary:hover::after { transform:scaleX(1); }
  .apnav-header :is(.apnav-account,.apnav-cart)>summary:hover { border-color:#71828e; background:#fff; }
  .apnav-header a.apnav-book:hover { background:#223052; box-shadow:inset 0 1px 0 #ffffff26,0 3px 0 #070d25; }
  .apnav-header .apnav-book:hover :is(svg,span:last-child) { transform:translate(2px,-2px); }
  .apnav-header .apnav-service:hover { background:#eef0e9; }
  .apnav-header .apnav-service:hover .apnav-arrow { color:#0d6472; transform:translate(3px,-3px); }
  .apnav-header .aphp-account-grid a:hover { border-color:#c6d7d1; background:#eef0e9; }
  .apnav-header .aphp-link-primary:hover { background:#9df6ff; border-color:#9df6ff; }
  .apnav-header .aphp-link-secondary:hover { background:#263557; border-color:#9aa9c0; }
  .apnav-header .aphp-cart-panel .aphp-link-secondary:hover, .apnav-header .apnav-account-panel .aphp-link-secondary:hover { background:#f0f2eb; border-color:#829d96; color:var(--apnav-navy)!important; }
  .apnav-header .apnav-account-panel .aphp-link-primary:hover { background:#9df6ff; border-color:#9df6ff; color:var(--apnav-navy)!important; }
  .apnav-header .aphp-cart-remove:hover { background:#f5e7e4; color:#8e302b!important; }
  .apnav-header .apnav-panel-close:hover { border-color:#71828e; }
}
@keyframes apnav-panel-in { from { opacity:0; transform:translateY(-9px) scale(.993); } to { opacity:1; transform:none; } }
@keyframes apnav-content-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion:no-preference) {
  .apnav-header details[open]>.apnav-panel { transform-origin:top center; animation:apnav-panel-in .32s cubic-bezier(.2,.72,.2,1) both; }
  .apnav-header .apnav-services[open] .apnav-mega-lead, .apnav-header .apnav-services[open] .apnav-mega-body, .apnav-header .apnav-services[open] .apnav-mega-foot { animation:apnav-content-in .36s cubic-bezier(.2,.72,.2,1) both; }
  .apnav-header .apnav-services[open] .apnav-mega-body { animation-delay:.045s; }
  .apnav-header .apnav-services[open] .apnav-mega-foot { animation-delay:.085s; }
}
@media (prefers-reduced-motion:reduce) {
  .apnav-header, .apnav-header *, .apnav-header *::before, .apnav-header *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}

/* 07 / Responsive geometry and admin toolbar */
body.admin-bar .apnav-header { top:32px; }
@media (max-width:1300px) {
  .apnav-header .apnav-shell { width:calc(100% - 64px); gap:24px; }
  .apnav-header .apnav-brand { width:155px; }
  .apnav-header .custom-logo { max-width:155px; }
  .apnav-header .apnav-nav { gap:18px; }
  .apnav-header .apnav-actions { gap:8px; }
  .apnav-header .apnav-action-label { display:none; }
  .apnav-header a.apnav-book { gap:16px; padding-inline:14px; }
  .apnav-header .apnav-mega { padding-inline:28px; }
  .apnav-header .apnav-mega-body { grid-template-columns:minmax(0,1.8fr) minmax(250px,.8fr); gap:25px; }
  .apnav-header .apnav-service-grid { gap:0 20px; }
  .apnav-header .apnav-service { grid-template-columns:18px minmax(0,1fr) 22px; gap:8px; }
  .apnav-header .apnav-service strong { font-size:15px; }
  .apnav-header .apnav-account-panel { right:196px; }
}
@media (max-width:1080px) {
  .apnav-header { --apnav-height:74px; }
  .apnav-header .apnav-shell { width:calc(100% - 48px); justify-content:space-between; gap:20px; }
  .apnav-header .apnav-nav { display:none; }
  .apnav-header .apnav-actions { margin-left:auto; gap:10px; }
  .apnav-header .apnav-actions>.apnav-book { display:none; }
  .apnav-header .apnav-mobile { display:block; }
  .apnav-header .apnav-panel { max-height:var(--apnav-available-height,calc(100dvh - 101px)); }
  .apnav-header .apnav-account-panel { right:120px; }
  .apnav-header .apnav-cart-panel { right:0; }
  .apnav-header .apnav-mobile-panel { left:auto; width:480px; }
}
@media (max-width:782px) { body.admin-bar .apnav-header { top:46px; } }
@media (max-width:600px) { body.admin-bar .apnav-header { top:0; } }
@media (max-width:620px) {
  .apnav-header .apnav-shell { width:calc(100% - 32px); gap:12px; }
  .apnav-header .apnav-brand { width:135px; }
  .apnav-header .custom-logo { max-width:135px; max-height:42px; }
  .apnav-header .apnav-wordmark { font-size:25px; }
  .apnav-header .apnav-wordmark>span { font-size:8px; letter-spacing:.51em; }
  .apnav-header .apnav-actions { gap:7px; }
  .apnav-header :is(.apnav-account,.apnav-cart)>summary, .apnav-header .apnav-mobile>summary { min-width:44px; width:44px; height:44px; min-height:44px; padding:10px; }
  .apnav-header .apnav-menu-word, .apnav-header .apnav-menu-label { display:none; }
  .apnav-header .apnav-panel { top:calc(100% + 8px); right:-8px; left:-8px; width:auto; max-width:none; max-height:var(--apnav-available-height,calc(100dvh - 94px)); border-radius:9px; }
  .apnav-header .apnav-mobile-panel { padding:25px 22px; }
  .apnav-header .aphp-panel-head { padding:25px 55px 20px 22px; }
  .apnav-header .aphp-panel-head strong { font-size:25px; }
  .apnav-header .aphp-panel-head small { font-size:11px; }
  .apnav-header .aphp-account-guest { padding:23px 22px; }
  .apnav-header .aphp-account-user { padding:22px; }
  .apnav-header .aphp-account-grid { padding:9px; }
  .apnav-header .aphp-account-grid a { padding:12px 10px; min-height:75px; grid-template-columns:19px minmax(0,1fr) 14px; gap:5px; }
  .apnav-header .aphp-account-grid a>strong { font-size:11px; }
  .apnav-header .aphp-account-footer, .apnav-header .aphp-cart-actions { padding:14px; }
  .apnav-header .aphp-cart-list { padding:6px 17px; max-height:min(360px,42dvh); }
  .apnav-header .aphp-cart-item { grid-template-columns:64px minmax(0,1fr) 44px; gap:10px; }
  .apnav-header .aphp-cart-media { width:64px; height:72px; }
  .apnav-header .aphp-cart-copy>strong { font-size:12px; }
  .apnav-header .aphp-cart-summary { padding:17px 21px; }
  .apnav-header .aphp-cart-summary>strong { font-size:22px; }
  .apnav-header .aphp-link-primary, .apnav-header .aphp-link-secondary { padding-inline:11px; font-size:11px; letter-spacing:0; }
  .apnav-header .aphp-cart-empty { padding:29px 22px 25px; }
}
@media (max-width:359px) {
  .apnav-header .apnav-shell { width:calc(100% - 24px); gap:8px; }
  .apnav-header .apnav-brand { width:116px; }
  .apnav-header .custom-logo { max-width:116px; }
  .apnav-header .apnav-wordmark { font-size:23px; }
  .apnav-header .apnav-wordmark>span { font-size:7px; }
  .apnav-header .apnav-actions { gap:5px; }
  .apnav-header .apnav-panel { right:-4px; left:-4px; }
  .apnav-header .aphp-panel-head { flex-direction:column; gap:12px; padding-left:18px; }
  .apnav-header .aphp-panel-head span { font-size:11px; letter-spacing:.06em; }
  .apnav-header .aphp-panel-head small { font-size:11px; letter-spacing:0; }
  .apnav-header .aphp-cart-item { grid-template-columns:55px minmax(0,1fr) 44px; gap:8px; }
  .apnav-header .aphp-cart-media { width:55px; height:65px; }
  .apnav-header .aphp-cart-list { padding-inline:14px; }
  .apnav-header .aphp-link-primary, .apnav-header .aphp-link-secondary { padding-inline:9px; font-size:11px; }
}
@media print {
  .apnav-header { position:static; transform:none!important; transition:none!important; background:#fff; box-shadow:none; backdrop-filter:none; }
  .apnav-header .apnav-panel, .apnav-header .apnav-nav, .apnav-header .apnav-actions { display:none!important; }
}
/* 08 / Colour Profiles — real catalogue families and named photo references */
.apnav-header .apnav-colours>summary { position:relative; display:flex; align-items:center; gap:8px; min-height:var(--apnav-height); padding:0; color:var(--apnav-ink); font-size:11px; line-height:1.25; font-weight:650; letter-spacing:.075em; white-space:nowrap; }
.apnav-header .apnav-colours>summary::after { position:absolute; right:0; bottom:0; left:0; height:3px; background:var(--apnav-navy); transform:scaleX(0); transform-origin:left center; transition:transform .26s ease; content:""; }
.apnav-header .apnav-colours[open]>summary::after, .apnav-header .apnav-colours>summary.is-active::after { transform:scaleX(1); }
.apnav-header .apnav-colours>summary svg { width:12px; height:12px; transition:transform .25s ease; }
.apnav-header .apnav-colours[open]>summary svg { transform:rotate(180deg); }
.apnav-header .apnav-colour-body { display:grid; grid-template-columns:minmax(0,1.75fr) minmax(300px,1fr); align-items:stretch; gap:30px; padding-block:26px 20px; }
.apnav-header .apnav-colour-families { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 23px; }
.apnav-header .apnav-colour-family { display:grid; grid-template-columns:minmax(0,1fr) 20px; align-content:center; align-items:center; gap:5px 9px; min-height:91px; padding:16px 3px; border-bottom:1px solid var(--apnav-line); color:var(--apnav-ink); transition:background .2s,color .2s; }
.apnav-header .apnav-colour-family strong { color:var(--apnav-ink); font-size:15px; font-weight:600; line-height:1.35; letter-spacing:-.025em; }
.apnav-header .apnav-colour-family small { grid-column:1; color:var(--apnav-muted); font-size:11px; line-height:1.5; }
.apnav-header .apnav-colour-family>span { grid-column:2; grid-row:1/3; justify-self:end; color:#41605f; font-size:20px; line-height:1; transition:transform .25s ease; }
.apnav-header .apnav-colour-features { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; align-items:start; }
.apnav-header .apnav-colour-card { display:block; height:100%; overflow:hidden; border:1px solid #d3dad6; border-radius:6px; color:var(--apnav-ink); background:#fffefa; box-shadow:0 4px 12px #17202405; transition:border-color .2s,box-shadow .2s; }
.apnav-header .apnav-colour-card>img { display:block; width:100%; height:180px; object-fit:cover; object-position:center; }
.apnav-header .apnav-colour-card>span { display:grid; grid-template-columns:minmax(0,1fr) 19px; gap:7px 8px; padding:17px 15px 18px; }
.apnav-header .apnav-colour-card small { grid-column:1/-1; display:block; color:#527074; font-size:11px; line-height:1.45; font-weight:500; letter-spacing:.04em; }
.apnav-header .apnav-colour-card strong { color:var(--apnav-navy); font-size:17px; line-height:1.25; letter-spacing:-.025em; font-weight:600; }
.apnav-header .apnav-colour-card>span>span, .apnav-header .apnav-colour-card b { color:#315e69; font-size:20px; line-height:1.15; font-weight:400; transition:transform .25s ease; }
.apnav-header .apnav-colour-note { display:block; margin:0 0 19px; color:var(--apnav-muted); font-size:11px; line-height:1.7; }
.apnav-header .apnav-mobile-colours>summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:59px; padding-block:13px; border-bottom:1px solid var(--apnav-line); color:var(--apnav-navy); font-size:23px; line-height:1.25; font-weight:500; letter-spacing:-.04em; }
.apnav-header .apnav-mobile-colours>summary>span { font-size:25px; font-weight:400; transition:transform .2s; }
.apnav-header .apnav-mobile-colours[open]>summary>span { transform:rotate(45deg); }
.apnav-header .apnav-mobile-colour-list { padding:8px 0 16px 12px; }
.apnav-header .apnav-mobile-colour-list>a { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:8px; min-height:52px; padding:12px 2px; border-bottom:1px solid var(--apnav-line); color:var(--apnav-navy); font-size:14px; line-height:1.4; }
.apnav-header .apnav-mobile-colour-list strong { font-size:14px; font-weight:550; }
.apnav-header .apnav-mobile-colour-list small { color:var(--apnav-muted); font-size:11px; font-weight:400; }
.apnav-header .apnav-mobile-colour-list>a>span:last-child { color:#527074; }
@media (hover:hover) and (pointer:fine) {
  .apnav-header .apnav-colours>summary:hover::after { transform:scaleX(1); }
  .apnav-header .apnav-colour-family:hover { background:#eef0e9; }
  .apnav-header .apnav-colour-family:hover>span, .apnav-header .apnav-colour-card:hover>span>span, .apnav-header .apnav-colour-card:hover b { transform:translate(2px,-2px); }
  .apnav-header .apnav-colour-card:hover { border-color:#728e8c; box-shadow:0 7px 20px #1720240d; }
}
@media (prefers-reduced-motion:no-preference) {
  .apnav-header .apnav-colours[open] .apnav-mega-lead, .apnav-header .apnav-colours[open] .apnav-colour-body, .apnav-header .apnav-colours[open] .apnav-mega-foot { animation:apnav-content-in .36s cubic-bezier(.2,.72,.2,1) both; }
  .apnav-header .apnav-colours[open] .apnav-colour-body { animation-delay:.045s; }
  .apnav-header .apnav-colours[open] .apnav-mega-foot { animation-delay:.085s; }
}
@media (max-width:1300px) {
  .apnav-header .apnav-colour-body { grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr); gap:24px; }
  .apnav-header .apnav-colour-families { gap:0 16px; }
  .apnav-header .apnav-colour-family strong { font-size:14px; }
  .apnav-header .apnav-colour-features { gap:10px; }
  .apnav-header .apnav-colour-card>span { padding:15px 12px; }
  .apnav-header .apnav-colour-card strong { font-size:16px; }
}
@media (min-width:1081px) and (max-height:800px) {
  .apnav-header .apnav-mega { padding-top:22px; }
  .apnav-header .apnav-mega-lead { padding-bottom:20px; }
  .apnav-header .apnav-mega-lead h2 { font-size:32px; }
  .apnav-header .apnav-mega-lead .apnav-eyebrow { margin-bottom:10px; }
  .apnav-header .apnav-mega-body { padding-block:16px; }
  .apnav-header .apnav-service { min-height:86px; padding-block:14px; }
  .apnav-header .apnav-feature>img, .apnav-header .apnav-feature>a>img { height:140px; }
  .apnav-header .apnav-feature { min-height:0; }
  .apnav-header .apnav-feature-copy { padding:16px 19px; }
  .apnav-header .apnav-feature h3 { font-size:28px; }
  .apnav-header .apnav-feature .apnav-text-link { margin-top:4px; }
  .apnav-header .apnav-mega-foot { min-height:58px; }
  .apnav-header .apnav-colour-body { padding-block:18px 15px; }
  .apnav-header .apnav-colour-family { min-height:80px; padding-block:12px; }
  .apnav-header .apnav-colour-card>img { height:156px; }
  .apnav-header .apnav-colour-card>span { padding-block:14px; }
  .apnav-header .apnav-colour-note { margin-bottom:13px; }
}
/* 09 / Enhanced panels use one coordinated open/close animation in header-cinema.js.
   Disable legacy entry/stagger effects only after enhancement; native disclosures
   retain their independent no-JavaScript entrance and reduced-motion fallback. */
.apnav-header[data-enhanced] details[open]>.apnav-panel,
.apnav-header[data-enhanced] :is(.apnav-services,.apnav-colours)[open] :is(.apnav-mega-lead,.apnav-mega-body,.apnav-colour-body,.apnav-mega-foot) { animation:none; }
/* Decorative exit snapshots never become a second interactive panel. */
.apnav-header .apnav-motion-ghost, .apnav-header .apnav-motion-ghost * { pointer-events:none!important; }
.apnav-header .apnav-motion-ghost { user-select:none; contain:layout style; }
@media(prefers-reduced-motion:reduce) { .apnav-header .apnav-motion-ghost { display:none!important; } }
/* AP HEADER CINEMA V5.2 — END */
