/* HOMEFRONT Backyard Collection (/services/adu/floor-plans/): four concept ADUs,
   image-led and quiet. Rendered stills lead each section, architect-style plans
   carry the detail, and every plan opens into the 3D viewer. The studio frame
   (studio.css) supplies the menu, section heads and rhythm; this file owns the rest. */

/* Hero: a full-bleed rendering with the headline on a navy veil */
.page-services .ap-hero{position:relative;overflow:hidden;color:#F4F0E8;background:#0f1f29;min-height:clamp(640px,92vh,960px);display:flex;flex-direction:column}
.ap-hero-media{position:absolute;inset:0;z-index:0}
.ap-hero-media img{width:100%;height:100%;object-fit:cover;object-position:70% 58%;display:block}
.ap-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0d1b24e6 0%,#0d1b24b3 30%,#0d1b2433 58%,#0d1b2400 76%),linear-gradient(0deg,#0d1b24cc 0%,#0d1b2400 30%),linear-gradient(180deg,#0d1b2499 0%,#0d1b2400 22%)}
.ap-hero>header,.ap-hero>.hf-header,.ap-hero>*:first-child{position:relative;z-index:2}
.ap-hero-inner{position:relative;z-index:1;flex:1;display:flex;align-items:center;padding-block:140px 60px}
.ap-hero-copy{max-width:780px}
.ap-crumb{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px;font:600 11px/1.4 Manrope,Arial,sans-serif;color:#c9d1cf}
.ap-crumb a{color:#dfe3e0;text-decoration:none;border-bottom:1px solid #eaca9240}
.ap-crumb a:hover{color:#FFE1AE}
.ap-crumb [aria-current]{color:#FFE1AE}
.ap-hero .eyebrow{color:#FFE1AE}
.ap-hero h1{margin:18px 0 24px;font:500 clamp(52px,5.8vw,100px)/.96 Editorial,Georgia,serif;letter-spacing:-.042em}
.ap-lead{max-width:540px;margin:0 0 32px;font:400 17px/1.8 Manrope,Arial,sans-serif;color:#e4e7e4;text-wrap:pretty}
.ap-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}
.ap-hero-brief{padding:14px 0;border:0;border-bottom:1px solid #EACA92;background:none;color:#F4F0E8;font:650 13px/1.2 Manrope,Arial,sans-serif;cursor:pointer}
.ap-hero-brief:hover{color:#FFE1AE}
.ap-hero-note{margin:28px 0 0;font:500 12px/1.6 Manrope,Arial,sans-serif;color:#b9c3c3}
.ap-hero-index{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding-bottom:34px}
.ap-hero-index a{display:grid;gap:4px;padding:18px 18px 4px 0;margin-right:18px;border-top:1px solid #f4f0e840;color:#F4F0E8;text-decoration:none;transition:border-color .4s}
.ap-hero-index a:hover{border-top-color:#EACA92}
.ap-hero-index span{font:700 10px/1.4 Manrope,Arial,sans-serif;letter-spacing:.18em;color:#EACA92}
.ap-hero-index strong{font:500 22px/1.15 Editorial,Georgia,serif;letter-spacing:-.01em}
.ap-hero-index small{font:500 12px/1.4 Manrope,Arial,sans-serif;color:#c9d1cf}

/* The collection: four rendered houses */
.ap-collection{padding-block:110px 90px;scroll-margin-top:130px}
.ap-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.ap-card{display:grid;gap:8px;align-content:start;color:#1E3341;text-decoration:none}
.ap-card-media{display:block;overflow:hidden;border-radius:6px;aspect-ratio:3/2;background:#e9e4da}
.ap-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s cubic-bezier(.16,1,.3,1)}
.ap-card:hover .ap-card-media img{transform:scale(1.04)}
.ap-card-meta{display:flex;gap:12px;margin-top:10px;font:700 10px/1.4 Manrope,Arial,sans-serif;letter-spacing:.14em;color:#8a6638}
.ap-card-meta span{color:#BB9259}
.ap-card strong{font:500 28px/1.1 Editorial,Georgia,serif;letter-spacing:-.02em}
.ap-card-style{font:500 13px/1.4 Manrope,Arial,sans-serif;color:#53616a}
.ap-legend{display:flex;flex-wrap:wrap;align-items:center;gap:12px 30px;margin-top:46px;padding-top:22px;border-top:1px solid #d7cfc2}
.ap-legend-title{margin:0;font:700 10px/1.4 Manrope,Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#8a6638}
.ap-legend ul{display:flex;flex-wrap:wrap;gap:10px 28px;margin:0;padding:0;list-style:none}
.ap-legend li{display:flex;align-items:center;gap:10px;font:500 13px/1.45 Manrope,Arial,sans-serif;color:#33434e}
.ap-legend svg{flex:none;width:26px;height:26px}

/* A plan: a wide rendering, then the drawing and the details */
.ap-plan{scroll-margin-top:120px;border-top:1px solid #d7cfc2}
.ap-plan-banner{position:relative;height:clamp(340px,46vw,640px);overflow:hidden;background:#d9d4ca}
.ap-plan-banner img{width:100%;height:100%;object-fit:cover;display:block}
.ap-plan-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0d1b24b8 0%,#0d1b2400 46%)}
.ap-plan-banner-copy{position:absolute;left:0;right:0;bottom:0;z-index:1;padding-bottom:40px;color:#F4F0E8}
.ap-plan-banner-copy .eyebrow{color:#FFE1AE}
.ap-plan-banner-copy h2{margin:10px 0 6px;font:500 clamp(48px,6vw,96px)/.96 Editorial,Georgia,serif;letter-spacing:-.04em}
.ap-style{margin:0;font:650 12px/1.4 Manrope,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#e4e7e4}
.ap-plan-inner{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:6%;align-items:start;padding-block:80px 100px}
.ap-plan-flip .ap-figure{order:2}
.ap-figure{position:sticky;top:140px;margin:0}
.ap-drawing{position:relative;display:block;width:100%;padding:0;border:1px solid #e3ddd2;border-radius:8px;background:#fbfaf6;cursor:zoom-in;overflow:hidden;box-shadow:0 26px 60px #1e33411a;transition:box-shadow .5s,transform .5s cubic-bezier(.16,1,.3,1)}
.ap-drawing:hover{transform:translateY(-3px);box-shadow:0 34px 80px #1e334126}
.ap-drawing:focus-visible{outline:2px solid #BB9259;outline-offset:4px}
.hf-adu-plan{display:block;width:100%;height:auto}
.hf-adu-room{font:700 9.6px/1 Manrope,Arial,sans-serif;letter-spacing:.16em;fill:#2b3035}
.hf-adu-size{font:500 8.6px/1 Manrope,Arial,sans-serif;fill:#857c6f;letter-spacing:.06em}
.hf-adu-dim{font:600 9.6px/1 Manrope,Arial,sans-serif;fill:#5a554d;letter-spacing:.08em}
.hf-adu-tag{font-family:Manrope,Arial,sans-serif;font-weight:700;letter-spacing:.08em;fill:#9b9387}
.hf-adu-north text,.hf-adu-scale text{font:700 8.6px/1 Manrope,Arial,sans-serif;letter-spacing:.1em;fill:#2b3035}
.ap-badge{position:absolute;left:14px;bottom:14px;display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:#1E3341;color:#FFE1AE;font:700 10.5px/1 Manrope,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 10px 26px #1e33414d;transition:background .35s,transform .45s cubic-bezier(.16,1,.3,1)}
.ap-drawing:hover .ap-badge{transform:translateY(-2px);background:#BB9259;color:#fff}
.ap-figure figcaption{margin-top:12px;font:600 11px/1.5 Manrope,Arial,sans-serif;color:#8a6638}
.ap-tagline{margin:0 0 20px;font:500 clamp(26px,2.4vw,34px)/1.22 Editorial,Georgia,serif;letter-spacing:-.015em;color:#1E3341;text-wrap:balance}
.ap-story p{margin:0 0 12px;font:400 15.5px/1.8 Manrope,Arial,sans-serif;color:#53616a;text-wrap:pretty}
.ap-specs{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:26px 0;border-top:1px solid #d7cfc2}
.ap-specs div{padding:11px 0;border-bottom:1px solid #d7cfc2}
.ap-specs dt{font:700 9.5px/1.4 Manrope,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#8a6638}
.ap-specs dd{margin:4px 0 0;font:500 15px/1.4 Editorial,Georgia,serif;color:#1E3341}
.ap-lists{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.ap-lists h3{margin:0 0 8px;font:700 10px/1.4 Manrope,Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#8a6638}
.ap-lists ul{margin:0;padding:0;list-style:none}
.ap-lists li{position:relative;padding:5px 0 5px 16px;font:400 14px/1.6 Manrope,Arial,sans-serif;color:#33434e}
.ap-lists li:before{content:"";position:absolute;left:0;top:14px;width:7px;height:1px;background:#BB9259}
.ap-ask{display:grid;gap:5px;margin:26px 0 28px;padding:18px 0 18px 20px;border-left:2px solid #BB9259;font:500 18px/1.45 Editorial,Georgia,serif;color:#1E3341}
.ap-ask span{font:700 9.5px/1.4 Manrope,Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#8a6638}
.ap-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 26px}
.ap-step{display:flex;align-items:center;gap:16px;padding:8px 22px 8px 8px;border:1px solid #d7cfc2;border-radius:12px;background:#fbfaf6;color:#1E3341;text-align:left;cursor:pointer;transition:border-color .35s,box-shadow .45s,transform .45s cubic-bezier(.16,1,.3,1)}
.ap-step:hover{border-color:#BB9259;box-shadow:0 16px 36px #1e33411f;transform:translateY(-2px)}
.ap-step:focus-visible{outline:2px solid #BB9259;outline-offset:3px}
.ap-step-media{flex:none;width:132px;aspect-ratio:3/2;overflow:hidden;border-radius:7px;background:#e9e4da}
.ap-step-media img{width:100%;height:100%;object-fit:cover;display:block}
.ap-step-copy{display:grid;gap:4px}
.ap-step-copy>span{font:700 9.5px/1.4 Manrope,Arial,sans-serif;letter-spacing:.18em;color:#8a6638}
.ap-step-copy strong{font:500 20px/1.2 Editorial,Georgia,serif;letter-spacing:-.01em}
.ap-brief{padding:12px 0;border:0;border-bottom:1px solid #BB9259;background:none;color:#1E3341;font:650 13px/1.2 Manrope,Arial,sans-serif;cursor:pointer}
.ap-brief:hover{color:#8a6638}

/* Compare */
.ap-table-wrap{overflow-x:auto}
.ap-table{width:100%;min-width:760px;border-collapse:collapse;font:400 14px/1.55 Manrope,Arial,sans-serif;color:#33434e}
.ap-table caption{padding:0 0 12px;text-align:left;font:700 10px/1.4 Manrope,Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#8a6638}
.ap-table :is(th,td){padding:13px 14px;border-top:1px solid #d7cfc2;text-align:left;vertical-align:top}
.ap-table thead th{border-top:0;border-bottom:1px solid #1E3341;font:500 22px/1.15 Editorial,Georgia,serif}
.ap-table thead a{color:#1E3341;text-decoration:none}
.ap-table thead a:hover{color:#8a6638}
.ap-table tbody th{width:13%;font:700 10px/1.6 Manrope,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#8a6638}
.ap-table tbody tr:nth-child(n){background:none}

/* Try it on for size */
.ap-size{background:#ece6dc;scroll-margin-top:130px}
.ap-size-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.ap-size-grid article{display:flex;flex-direction:column;padding:18px 18px 22px;border-radius:10px;background:#fbfaf6}
.ap-size-art{display:grid;place-items:center;margin-bottom:16px;padding:10px;border-radius:7px;background:#f4f0e8}
.ap-size-art svg{display:block;width:100%;max-width:240px;height:auto}
.ap-size-art text{font:700 8px/1 Manrope,Arial,sans-serif;fill:#1E3341}
.ap-size-art .ap-sz-k{font-size:6px;letter-spacing:.1em;fill:#53616a}
.ap-size-grid h3{margin:0 0 8px;font:500 23px/1.2 Editorial,Georgia,serif;color:#1E3341}
.ap-size-grid p{margin:0;font:400 14px/1.7 Manrope,Arial,sans-serif;color:#53616a}
.ap-size-grid .ap-src{margin-top:auto;padding-top:12px}
.ap-size-note{margin:24px 0 0;font:500 13px/1.7 Manrope,Arial,sans-serif;color:#53616a}
.ap-size-note a{color:#1E3341;text-decoration:none;border-bottom:1px solid #BB9259}
p.ap-src{font:500 12px/1.6 Manrope,Arial,sans-serif;color:#8a6638}
.ap-src a{color:inherit;text-decoration:underline;text-decoration-color:#BB9259;text-underline-offset:3px}

/* Styles */
.ap-styles{color:#F4F0E8;background:radial-gradient(100% 90% at 20% 20%,#2a4a5e 0%,#18303f 50%,#0d1b24 100%);padding-block:110px;scroll-margin-top:130px}
.ap-styles-head{display:grid;grid-template-columns:1.05fr .95fr;gap:20px 8%;align-items:end;margin-bottom:44px}
.ap-styles-head .eyebrow{grid-column:1/-1;margin:0;color:#FFE1AE}
.ap-styles-head h2{margin:0;font:500 clamp(42px,4.6vw,70px)/1.02 Editorial,Georgia,serif;letter-spacing:-.035em}
.ap-styles-head>p:not(.eyebrow){margin:0;max-width:520px;font:400 16px/1.8 Manrope,Arial,sans-serif;color:#dfe3e0}
.ap-style-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ap-style-card{display:flex;flex-direction:column;padding:26px 22px;border-radius:10px;border:1px solid #eaca9226;background:#0f1e2799}
.ap-style-plan{margin:0 0 6px;font:700 10px/1.4 Manrope,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#FFE1AE}
.ap-style-card h3{margin:0 0 12px;font:500 25px/1.15 Editorial,Georgia,serif}
.ap-style-card>p{margin:0 0 16px;font:400 14px/1.7 Manrope,Arial,sans-serif;color:#c9d1cf}
.ap-chips{display:grid;gap:8px;margin:0 0 18px;padding:0;list-style:none}
.ap-chips li{display:flex;align-items:center;gap:10px;font:600 12px/1.3 Manrope,Arial,sans-serif;color:#dfe3e0}
.ap-chips i{width:18px;height:18px;border-radius:50%;background:var(--c);box-shadow:inset 0 0 0 1px #ffffff2e}
.ap-style-sig{display:grid;gap:4px;margin:auto 0 0;padding-top:14px;border-top:1px solid #f4f0e81f;font:500 16px/1.4 Editorial,Georgia,serif;color:#F4F0E8}
.ap-style-sig span{font:700 9px/1.4 Manrope,Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#EACA92}
.ap-style-link{margin-top:16px;color:#FFE1AE;font:650 12px/1.4 Manrope,Arial,sans-serif;text-decoration:none}
.ap-style-link:hover{color:#fff}
.ap-programs{margin:34px 0 0;padding:24px 26px;border-radius:10px;background:#0b161e99;border:1px solid #eaca9226}
.ap-programs figcaption{max-width:760px;font:400 14px/1.7 Manrope,Arial,sans-serif;color:#c9d1cf}
.ap-programs figcaption strong{display:block;margin-bottom:4px;font:500 22px/1.25 Editorial,Georgia,serif;color:#F4F0E8}
.ap-programs ol{display:grid;gap:8px;margin:18px 0 0;padding:0;list-style:none}
.ap-programs li{display:grid;grid-template-columns:minmax(0,15em) 1fr 2.4em;align-items:center;gap:14px;font:600 13px/1.3 Manrope,Arial,sans-serif;color:#dfe3e0}
.ap-programs li i{height:8px;border-radius:999px;background:linear-gradient(90deg,#BB9259,#FFE1AE);transform-origin:0 50%;transform:scaleX(var(--v));min-width:2px}
.ap-programs li b{font:500 20px/1 Editorial,Georgia,serif;color:#FFE1AE;text-align:right}
.ap-programs-note{margin:16px 0 0;font:500 12px/1.7 Manrope,Arial,sans-serif;color:#9fb0b6}
.ap-programs-note a{color:#dfe3e0;text-decoration:underline;text-decoration-color:#BB9259;text-underline-offset:3px}

/* Make it yours */
.ap-change-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 40px}
.ap-change-grid article{padding:22px 0 26px;border-top:1px solid #d7cfc2}
.ap-change-grid span{display:block;margin-bottom:10px;font:500 15px/1 Editorial,Georgia,serif;color:#BB9259}
.ap-change-grid h3{margin:0 0 8px;font:500 23px/1.2 Editorial,Georgia,serif;color:#1E3341}
.ap-change-grid p{margin:0;font:400 14px/1.7 Manrope,Arial,sans-serif;color:#53616a}

/* Concept plans */
.ap-concept{background:#ece6dc;padding-block:90px}
.ap-concept-inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:7%;align-items:start}
.ap-concept .eyebrow{color:#8a6638}
.ap-concept h2{margin:14px 0 0;font:500 clamp(40px,4.4vw,64px)/1.02 Editorial,Georgia,serif;letter-spacing:-.035em;color:#1E3341}
.ap-concept-list{margin:0;padding:0;list-style:none}
.ap-concept-list li{padding:14px 0;border-top:1px solid #d7cfc2;font:400 15px/1.7 Manrope,Arial,sans-serif;color:#33434e}
.ap-concept-list strong{display:block;font:500 19px/1.3 Editorial,Georgia,serif;color:#1E3341}
.ap-concept-links{display:flex;flex-wrap:wrap;gap:10px 26px;margin:22px 0 0}
.ap-concept-links a{font:650 13px/1.5 Manrope,Arial,sans-serif;color:#1E3341;text-decoration:none;border-bottom:1px solid #BB9259}

/* Questions */
.ap-faq-inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:7%;align-items:start}
.ap-faq .eyebrow{color:#8a6638}
.ap-faq h2{margin:14px 0 0;font:500 clamp(40px,4.4vw,64px)/1.02 Editorial,Georgia,serif;letter-spacing:-.035em;color:#1E3341}
.ap-faq details{border-top:1px solid #d7cfc2}
.ap-faq details:last-child{border-bottom:1px solid #d7cfc2}
.ap-faq summary{display:flex;justify-content:space-between;gap:16px;padding:18px 0;cursor:pointer;list-style:none;font:500 20px/1.35 Editorial,Georgia,serif;color:#1E3341}
.ap-faq summary::-webkit-details-marker{display:none}
.ap-faq summary:after{content:"+";font:400 24px/1 Manrope,Arial,sans-serif;color:#BB9259;transition:transform .3s}
.ap-faq details[open] summary:after{transform:rotate(45deg)}
.ap-faq details p{margin:0 0 18px;max-width:680px;font:400 15px/1.8 Manrope,Arial,sans-serif;color:#53616a}
.ap-faq details p.ap-src{margin:-8px 0 20px;font:500 12px/1.6 Manrope,Arial,sans-serif;color:#8a6638}

/* Final: the evening cutaway behind the last question */
.ap-final{position:relative;overflow:hidden;color:#F4F0E8;background:#0d1b24;text-align:center}
.ap-final-media{position:absolute;inset:0}
.ap-final-media img{width:100%;height:100%;object-fit:cover;display:block}
.ap-final-media:after{content:"";position:absolute;inset:0;background:radial-gradient(70% 80% at 50% 50%,#0d1b24cc 0%,#0d1b2499 60%,#0d1b2466 100%)}
.ap-final-inner{position:relative;padding-block:150px}
.ap-final .eyebrow{color:#FFE1AE}
.ap-final h2{margin:16px 0 18px;font:500 clamp(46px,5.4vw,88px)/1 Editorial,Georgia,serif;letter-spacing:-.04em}
.ap-final p:not(.eyebrow){max-width:600px;margin:0 auto 30px;font:400 16px/1.8 Manrope,Arial,sans-serif;color:#e4e7e4}
.ap-final-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 26px}
.ap-final-link{color:#F4F0E8;font:650 13px/1.5 Manrope,Arial,sans-serif;text-decoration:none;border-bottom:1px solid #EACA92}

/* The 3D viewer: a full-bleed stage with the title and controls floating over it */
html.ap-locked,html.ap-locked body,html.ap-locked .hf-page-scroll{overflow:hidden}
.ap-viewer{position:fixed;inset:0;z-index:200;display:grid;place-items:center}
.ap-viewer[hidden]{display:none}
.ap-scrim{position:absolute;inset:0;background:#0b161ee8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;transition:opacity .45s}
.ap-viewer.is-open .ap-scrim{opacity:1}
.ap-frame{position:relative;width:min(1340px,96vw);height:min(880px,94dvh);border-radius:22px;overflow:hidden;background:#eef0ed;box-shadow:0 60px 140px #000b;opacity:0;transform:translateY(20px) scale(.985);transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}
.ap-viewer.is-open .ap-frame{opacity:1;transform:none}
.ap-stage{position:absolute;inset:0;z-index:0;background:radial-gradient(120% 90% at 50% 20%,#f7f6f2,#e6e9e6)}
.ap-bar,.ap-controls,.ap-hint{z-index:2}
.ap-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:none;opacity:0;transition:opacity .9s}
.ap-stage canvas:active{cursor:grabbing}
.ap-stage canvas[hidden]{display:none}
.ap-stage canvas:focus-visible{outline:3px solid #BB9259;outline-offset:-4px}
.ap-viewer.is-risen canvas{opacity:1}
.ap-flip{position:absolute;inset:13% 9% 17%;display:grid;place-items:center;pointer-events:none;opacity:0;transform:scale(.95);transition:opacity .6s,transform .9s cubic-bezier(.16,1,.3,1)}
.ap-viewer.is-open .ap-flip{opacity:1;transform:none}
.ap-viewer.is-risen .ap-flip{opacity:0;transform:scale(1.02);transition:opacity 1.1s .15s,transform 1.2s}
.ap-viewer.is-static .ap-flip{opacity:1;transform:none}
.ap-flip svg{width:100%;height:100%;filter:drop-shadow(0 24px 40px #1e334124)}
.ap-loading{position:absolute;left:50%;bottom:118px;transform:translateX(-50%);margin:0;display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:999px;background:#fbfaf6eb;color:#1E3341;font:700 10px/1 Manrope,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;opacity:0;transition:opacity .3s;box-shadow:0 10px 30px #1e33411a;pointer-events:none}
.ap-viewer.is-loading .ap-loading{opacity:1;transition-delay:.5s}
.ap-loading i{width:13px;height:13px;border-radius:50%;border:2px solid #BB925950;border-top-color:#BB9259;animation:ap-spin .9s linear infinite}
@keyframes ap-spin{to{transform:rotate(360deg)}}
.ap-labels{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .6s}
.ap-labels.is-on{opacity:1}
.ap-labels span{position:absolute;left:0;top:0;padding:6px 11px;border-radius:999px;background:#fbfaf6e3;color:#1E3341;font:700 9.5px/1 Manrope,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;box-shadow:0 6px 18px #1e33411c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:opacity .3s}
.ap-fallback{position:absolute;left:50%;bottom:118px;transform:translateX(-50%);margin:0;padding:9px 15px;border-radius:999px;background:#1E3341;color:#F4F0E8;font:600 12px/1.4 Manrope,Arial,sans-serif}
.ap-bar{position:absolute;left:0;right:0;top:0;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 28px 56px;color:#1E3341;background:linear-gradient(180deg,#f7f6f2e0,#f7f6f200);pointer-events:none;transition:color .6s}
.ap-bar>*{pointer-events:auto}
.ap-kicker{margin:0 0 6px;font:700 10px/1.4 Manrope,Arial,sans-serif;letter-spacing:.2em;color:#8a6638}
.ap-bar h2{margin:0;font:500 clamp(28px,3vw,42px)/1.02 Editorial,Georgia,serif;letter-spacing:-.025em}
.ap-meta{margin:7px 0 0;font:600 12px/1.4 Manrope,Arial,sans-serif;color:#53616a}
.ap-close{flex:0 0 auto;width:46px;height:46px;border-radius:50%;border:1px solid #1e334122;background:#fbfaf6d9;color:#1E3341;font:300 28px/1 Manrope,Arial,sans-serif;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background .3s,transform .3s}
.ap-close:hover{background:#fff;transform:rotate(90deg)}
.ap-controls{position:absolute;left:50%;bottom:42px;transform:translateX(-50%);display:flex;align-items:center;gap:8px;padding:6px;border-radius:999px;background:#fbfaf6d6;border:1px solid #ffffffb3;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 18px 44px #1e334126;transition:background .6s,border-color .6s}
.ap-seg{display:inline-flex;gap:2px;padding:0 4px 0 0;border-right:1px solid #1e33411a}
.ap-seg:last-of-type{border-right:0}
.ap-seg button,.ap-reset{min-height:38px;padding:8px 15px;border:0;border-radius:999px;background:transparent;color:#1E3341;font:650 12px/1.2 Manrope,Arial,sans-serif;cursor:pointer;white-space:nowrap;transition:background .3s,color .3s}
.ap-seg button:hover,.ap-reset:hover{background:#1e33410f}
.ap-seg button[aria-pressed="true"]{background:#1E3341;color:#FFE1AE}
.ap-seg button:focus-visible,.ap-reset:focus-visible,.ap-close:focus-visible{outline:2px solid #BB9259;outline-offset:2px}
.ap-hint{position:absolute;left:0;right:0;bottom:14px;margin:0;text-align:center;font:600 10.5px/1.4 Manrope,Arial,sans-serif;letter-spacing:.05em;color:#53616ab0;pointer-events:none}
.ap-viewer.is-evening .ap-bar{color:#F4F0E8;background:linear-gradient(180deg,#0f1c26c4,#0f1c2600)}
.ap-viewer.is-evening .ap-meta{color:#c9d1cf}
.ap-viewer.is-evening .ap-hint{color:#c9d1cfa6}
.ap-viewer.is-evening .ap-kicker{color:#EACA92}
.ap-viewer.is-evening .ap-close{background:#ffffff1f;color:#F4F0E8;border-color:#ffffff33}
.ap-viewer.is-evening .ap-controls{background:#13232ecc;border-color:#ffffff1f}
.ap-viewer.is-evening .ap-seg{border-color:#ffffff1f}
.ap-viewer.is-evening .ap-seg button,.ap-viewer.is-evening .ap-reset{color:#dfe3e0}
.ap-viewer.is-evening .ap-seg button[aria-pressed="true"]{background:#FFE1AE;color:#1E3341}

@media(max-width:1100px){
 .ap-hero-index{grid-template-columns:1fr 1fr}
 .ap-cards,.ap-style-grid,.ap-size-grid{grid-template-columns:1fr 1fr}
 .ap-plan-inner{grid-template-columns:1fr;gap:40px}
 .ap-plan-flip .ap-figure{order:0}
 .ap-figure{position:static}
 .ap-change-grid{grid-template-columns:1fr 1fr}
 .ap-styles-head,.ap-concept-inner,.ap-faq-inner{grid-template-columns:1fr}
}
@media(max-width:760px){
 .page-services .ap-hero{min-height:0}
 .ap-hero-media{position:relative;inset:auto;height:56vw;min-height:260px}
 .ap-hero-media:after{background:linear-gradient(0deg,#0f1f29 0%,#0f1f2900 40%),linear-gradient(180deg,#0d1b24b3 0%,#0d1b2400 35%)}
 .ap-hero>*:first-child{position:absolute;left:0;right:0;top:0}
 .ap-hero-inner{padding-block:12px 34px}
 .ap-hero h1{font-size:clamp(44px,12.5vw,62px)}
 .ap-hero-index{grid-template-columns:1fr;padding-bottom:26px}
 .ap-hero-index a{padding:14px 0 6px;margin-right:0}
 .ap-cards,.ap-style-grid,.ap-size-grid,.ap-change-grid{grid-template-columns:1fr}
 .ap-plan-banner{height:72vw}
 .ap-plan-banner-copy{padding-bottom:22px}
 .ap-plan-inner{padding-block:44px 64px}
 .ap-specs,.ap-lists{grid-template-columns:1fr}
 .ap-programs li{grid-template-columns:1fr 2.4em}
 .ap-programs li i{grid-column:1/-1;grid-row:2}
 .ap-badge{left:10px;bottom:10px;padding:8px 11px;font-size:10px}
 .ap-step{width:100%}
 .ap-step-media{width:112px}
 .ap-final-inner{padding-block:100px}
 .ap-frame{width:100vw;height:100dvh;border-radius:0}
 .ap-bar{padding:16px 16px 40px}
 .ap-controls{bottom:36px;flex-wrap:wrap;justify-content:center;width:calc(100vw - 24px);border-radius:22px}
 .ap-seg{border-right:0}
 .ap-seg button,.ap-reset{padding:8px 11px;font-size:11.5px}
 .ap-loading,.ap-fallback{bottom:150px}
}
@media(prefers-reduced-motion:reduce){
 .ap-card-media img,.ap-drawing,.ap-badge,.ap-step,.ap-frame,.ap-scrim,.ap-flip,.ap-stage canvas,.ap-labels{transition:none}
 .ap-loading i{animation:none}
}
