/* Homepage project link: equal space above and below in its existing strip. */
.section-outro{display:flex;align-items:center;justify-content:flex-end;padding-block:38.5px}.section-outro .text-link{margin-top:0}
/* Approved homepage-only compositions; base tokens live in styles.css. */
.package-showcase{--offer-pale:var(--timeline-sage);--offer-stone:var(--timeline-stone);background:var(--forest);color:var(--paper);scroll-margin-top:78px}
.offer-section-heading{display:grid;grid-template-columns:1.8fr 1fr;gap:50px;align-items:end;margin-bottom:42px}
.offer-section-heading h2{font-size:clamp(45px,4.8vw,68px);line-height:1.04;letter-spacing:-.025em}.offer-section-heading h2 em{color:#e2aa8d}
.offer-section-heading .eyebrow{color:var(--stone);margin-bottom:24px}.offer-section-heading>p{font-size:var(--type-body);line-height:1.85;color:#d8e1d2;max-width:36ch;padding-bottom:4px}
.offer-fit{font-size:var(--type-body);line-height:1.8;color:var(--muted);margin-top:17px;max-width:49ch}.offer-features{display:grid;gap:10px;list-style:none;padding:0;margin:21px 0 24px;font-size:var(--type-small);line-height:1.65}.offer-features li{display:flex;align-items:flex-start;gap:10px}.offer-features .icon{width:17px;height:17px;flex:none;margin-top:3px;color:var(--hero-link)}
.offer-cta{background:var(--terra);color:var(--paper);font-size:var(--type-small);min-height:46px;gap:23px;padding:12px 19px;border-radius:10px;transition:background-color .18s}
.offer-guidance{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:27px;color:var(--stone);font-size:var(--type-small)}.offer-guidance a{display:inline-flex;align-items:center;gap:15px;color:var(--paper);padding-block:6px;border-bottom:1px solid #f6f4eb60}.offer-guidance .icon{width:15px;height:15px}
.package-showcase a:focus-visible{outline:3px solid #e2aa8d;outline-offset:5px}
@media(hover:hover){.offer-cta:hover{background:var(--hero-link);color:var(--paper)}}
@media(max-width:960px){.offer-section-heading{grid-template-columns:1fr;gap:24px}.offer-section-heading>p{max-width:55ch}}
@media(max-width:760px){.offer-section-heading{text-align:center;margin-bottom:32px;gap:23px}.offer-section-heading h2{font-size:clamp(38px,7.2vw,52px)}.offer-section-heading .eyebrow{margin-bottom:22px}.offer-section-heading>p{margin-inline:auto}.offer-fit{margin-top:14px}.offer-features{margin-block:18px 21px}.offer-guidance{justify-content:center;text-align:center;padding-top:25px;gap:5px}.offer-cta{width:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.package-showcase *{transition:none!important;animation:none!important}}
@media(forced-colors:active){.offer-card,.offer-cta{border:1px solid CanvasText}}

/* B: tangible offer cards, using the brand palette rather than subscription tiers. */
.package-showcase>.wrap{width:calc(100% - clamp(18px,2.5vw,48px)*2);max-width:1680px}
.offer-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,1.5vw,24px)}
.offer-card{--card-surface:var(--paper);--card-ink:var(--ink);--card-muted:var(--hero-muted);display:flex;flex-direction:column;min-width:0;overflow:hidden;border-radius:20px;background:var(--card-surface);color:var(--card-ink);border:1px solid #f6f4eb45;box-shadow:0 20px 36px -18px #10221999,0 6px 14px -8px #10221966,inset 0 1px 0 #ffffff80,inset 0 -5px 12px #24352b08}
.offer-card-cover{position:relative;background:var(--card-surface);isolation:isolate}
.offer-card-cover>div{position:relative;z-index:1;margin-top:-22px;padding:18px 20px 2px 22px;width:max-content;max-width:calc(100% - 18px);border-top-right-radius:11px;background:var(--card-surface)}.offer-card-cover>div::after{content:"";position:absolute;left:100%;top:11px;width:11px;height:11px;background:radial-gradient(circle at 100% 0,transparent 10.7px,var(--card-surface) 11px)}.offer-card-tag{font-size:var(--type-small);line-height:1.6;margin-bottom:14px;color:var(--card-muted)}
.offer-card-name{font:400 clamp(40px,3.4vw,56px)/1 Flaviotte,Georgia,serif;letter-spacing:-.025em}
.offer-card-content{display:flex;flex-direction:column;flex:1;padding:24px 22px 26px}
.offer-card-content .offer-fit{margin:0;color:var(--card-muted);max-width:40ch}.offer-card-content .offer-features{padding-top:23px;border-top:1px solid var(--line);margin-block:23px 28px;color:var(--card-ink)}
.offer-card-content .offer-cta{align-self:flex-start;margin-top:auto;min-width:0;width:100%;gap:12px;padding-inline:16px;justify-content:space-between}
.offer-card-individual{--card-surface:#24382c;--card-ink:var(--paper);--card-muted:#d8e1d2;background:var(--card-surface)}.offer-card-individual .offer-features{border-color:#f6f4eb35}.offer-card-individual .offer-features .icon{color:#e2aa8d}.offer-card-individual .offer-cta{background:var(--paper);color:var(--ink)}


.offer-card-photo{display:block;width:100%;height:clamp(176px,15vw,232px);object-fit:cover}.offer-card-compact .offer-card-photo{object-position:50% 40%}.offer-card-individual .offer-card-photo{object-position:54% 48%}.offer-card-business .offer-card-photo{object-position:50% 48%}.offer-card-tourism .offer-card-photo{object-position:50% 65%}

.offer-card .offer-cta:focus-visible{outline-color:var(--card-ink)}
@media(hover:hover){.offer-card-individual .offer-cta:hover{background:var(--offer-pale);color:var(--ink)}}
@media(max-width:1119px){.offer-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:960px){.offer-card-cover>div{padding:18px 25px 0}.offer-card-photo{height:220px}.offer-card-content{padding:25px}.offer-card-name{font-size:49px}.offer-cards{gap:18px}}
@media(max-width:640px){.offer-cards{grid-template-columns:1fr;gap:20px}.offer-card-cover>div{padding:17px 24px 0}.offer-card-photo{height:200px}.offer-card-name{font-size:clamp(43px,12vw,53px)}.offer-card-tag{margin-bottom:15px}.offer-card-content{padding:24px}.offer-card-content .offer-features{margin-block:21px 24px;padding-top:20px}.offer-card-content .offer-cta{width:100%}}

/* Studio: a broad three-image composition with facts integrated into its silhouette. */
.studio-editorial{scroll-margin-top:100px}
.studio-editorial-heading{text-align:center;max-width:820px;margin-inline:auto}
.studio-editorial-heading .eyebrow{margin-bottom:25px}
.studio-editorial-heading h2{font:400 clamp(44px,4.6vw,64px)/1.05 Flaviotte,Georgia,serif;letter-spacing:-.025em}
.studio-editorial-intro{font-size:var(--type-body);color:var(--muted);line-height:1.85;max-width:68ch;margin:26px auto 0}
.studio-scene{position:relative;max-width:1120px;margin:45px auto 30px;padding:0 42px}
.studio-scene-media{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:12px;align-items:stretch}
.studio-scene-media figure{position:relative;min-width:0;min-height:0;margin:0;overflow:hidden;border-radius:22px;background:var(--timeline-sage)}
.studio-scene-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.studio-scene-portrait{aspect-ratio:3/4}
/* Keep an in-flow image to establish the grid row height in Safari. */
.studio-scene-portrait img{position:static;display:block;height:auto;aspect-ratio:3/4}
.studio-scene-keyboard,.studio-scene-code{height:84%;align-self:center}
.studio-scene-keyboard img{object-position:55% 64%}.studio-scene-code img{object-position:55% 50%}
.studio-scene-experience{position:absolute;left:0;top:48px;display:grid;gap:11px;width:156px;padding:24px;background:var(--forest);color:var(--paper);border-radius:18px;box-shadow:0 12px 25px #1c302410}
.studio-scene-experience strong{font:400 58px/1 Flaviotte,Georgia,serif;letter-spacing:-.02em}
.studio-scene-experience span{font-size:var(--type-small);line-height:1.6}
.studio-scene-identity{position:absolute;right:0;top:100px;width:208px;padding:23px;background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 25px #1c30240a}
.studio-scene-identity strong{display:block;font-size:18px;font-weight:650;line-height:1.5}
.studio-scene-identity span{display:block;font-size:var(--type-small);line-height:1.7;color:var(--muted);margin-top:7px}
.studio-scene-values{position:absolute;right:8px;bottom:0;display:grid;gap:11px;width:310px;padding:22px 25px 8px;background:var(--paper);border-top-left-radius:22px}
.studio-scene-values::before{content:"";position:absolute;bottom:0;right:100%;width:20px;height:20px;background:radial-gradient(circle at 0 0,transparent 19px,var(--paper) 19.7px)}
.studio-scene-values span{display:flex;align-items:center;gap:11px;font-size:var(--type-small);line-height:1.55}
.studio-scene-values .icon{width:17px;height:17px;flex:none;color:var(--hero-link)}
.studio-editorial-ending{text-align:center;max-width:68ch;margin-inline:auto}
.studio-editorial-ending>p{font-size:var(--type-body);line-height:1.85;color:var(--muted)}
.studio-editorial-ending>a{margin-top:25px;font-size:var(--type-small)}
@media(max-width:960px){.studio-scene{padding-inline:24px}.studio-scene-media{gap:8px}.studio-scene-experience{top:30px;width:130px;padding:18px}.studio-scene-experience strong{font-size:50px}.studio-scene-identity{top:70px;width:175px;padding:18px}.studio-scene-identity strong{font-size:16px}.studio-scene-values{width:220px;padding:18px 20px 4px;gap:8px}}
@media(max-width:760px){.studio-editorial-heading h2{font-size:clamp(38px,7.4vw,52px)}.studio-editorial-heading .eyebrow{margin-bottom:22px}.studio-editorial-intro{margin-top:24px}.studio-scene{display:grid;grid-template-columns:1fr 1.3fr;gap:12px;margin-block:30px;padding:0}.studio-scene-media{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:12px}.studio-scene-portrait{grid-column:1/-1;grid-row:1;width:min(330px,calc(100% - 42px));justify-self:center}.studio-scene-keyboard,.studio-scene-code{grid-row:2;height:auto;aspect-ratio:4/3;align-self:stretch}.studio-scene-keyboard{grid-column:1}.studio-scene-code{grid-column:2}.studio-scene-experience,.studio-scene-identity{position:static;width:auto;box-shadow:none;border-radius:14px;padding:18px;min-width:0}.studio-scene-experience{gap:8px}.studio-scene-experience strong{font-size:48px}.studio-scene-identity{display:flex;flex-direction:column;justify-content:center;border-color:var(--line)}.studio-scene-identity strong{font-size:16px;overflow-wrap:anywhere}.studio-scene-identity span{font-size:var(--type-small);line-height:1.65}.studio-scene-values{position:static;grid-column:1/-1;display:flex;justify-content:center;flex-wrap:wrap;gap:10px 18px;width:auto;padding:14px 0 0;border-radius:0}.studio-scene-values::before{display:none}.studio-editorial-ending>a{margin-top:22px}}

@media(max-width:760px){.studio-scene-keyboard img,.studio-scene-code img{position:static;display:block;height:auto;aspect-ratio:4/3}}

/* Owner-requested homepage surface swap, 2026-11-05. */
body:has(.hero-surface){--hero-surface:#e9ebe1;--home-reference-surface:#d0d6c8}
body:has(.hero-surface) .work-gallery{background:var(--home-reference-surface);--muted:var(--hero-muted);padding-bottom:0}
.home-projects-outro{background:var(--home-reference-surface)}
.home-projects-outro .text-link:hover,.work-gallery .work-play:hover{color:var(--hero-link);border-color:var(--hero-link)}

/* The original two S polygons assemble using transforms only. */
.hero-landscape{overflow:clip}
.mark-viewport{display:grid;min-width:0;min-height:0;position:relative;isolation:isolate}
.mark-viewport .monogram-art{overflow:visible;transform-origin:center;transform-box:border-box}
.mark-part{transform-box:view-box;transform-origin:center}
.is-mark-moving .monogram-art,.is-mark-moving .mark-part{will-change:transform}
@media(prefers-reduced-motion:reduce){.mark-viewport .monogram-art,.mark-part{transform:none!important;will-change:auto!important}}
