/* Gallery reference: typography, geometry and spacing. All colours come from the retained AIDEA site. */
:root{--heading:-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;--body:-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;--font-serif:var(--heading);--font-sans:var(--body);--nav-h:64px}
body{font-family:var(--body);font-size:17px;line-height:1.47;letter-spacing:-.022em}
h1,h2,h3{font-family:var(--heading);font-weight:600;letter-spacing:-.015em;line-height:1.05}
button,input,a{font-family:inherit}
.nav{top:12px;padding-inline:24px}.nav-pill{max-width:1080px;min-height:52px;border-radius:20px;border:1px solid var(--line);background:var(--paper);box-shadow:none;backdrop-filter:none;padding:4px 16px}
.brand{font-size:19px;font-weight:600;letter-spacing:-.02em}.nav-links{gap:20px}.nav-links a{font-size:12px;font-weight:400;padding:0 4px;background:transparent!important}.nav-progress{height:1px}.nav-cta{font-size:12px!important;min-height:32px;padding:8px 16px!important}
.btn{border-radius:9999px;font-family:var(--body);font-size:14px;line-height:1.33;font-weight:400;letter-spacing:-.01em;min-height:44px;padding:12px 22px;box-shadow:none!important}.bloom,.tint{display:none!important}
.glass,.screen-ui,.hud,.log-item{box-shadow:none;backdrop-filter:none}.screen-ui{border-radius:28px}.hud,.log-item{border-radius:28px}.sui-title{font-weight:600;letter-spacing:-.015em}
.section,.why-section,.outcomes-section,.test,.faq-section{padding-top:90px;padding-bottom:90px}
.section-top,.why-heading,.outcomes-heading{border-top:0;padding-top:0}.section-heading{margin:40px 0 48px;gap:64px}.section-heading h2,.dependency .section-heading h2,.why-heading h2,.outcomes-heading h2,.test .section-head h2,.faq-heading h2{font-size:clamp(40px,4.5vw,64px);line-height:1.05;font-weight:600;letter-spacing:-.015em}
.section-heading>p,.why-heading>p:last-child,.outcomes-heading>p:last-child,.test .lead{font-size:17px;line-height:1.47;max-width:540px}
.eyebrow,.section-number,.why-number,.outcome-kicker,.quiet,.detail-kicker{font-size:12px;line-height:1.33;letter-spacing:-.01em;font-weight:500;text-transform:none}
.dependency-explorer{gap:64px;grid-template-columns:.85fr 1.15fr}.map-tabs button{font-size:17px;font-weight:500;line-height:1.47;letter-spacing:-.022em;padding-block:24px}.dependency-detail h3{font-size:28px;font-weight:600}.dependency-detail p{font-size:17px;line-height:1.47}.dependency-detail{min-height:210px}.map-surface{background:var(--screen);box-shadow:none;border:0;border-radius:28px}.map-grid,.map-halo{display:none}.owner-node{background:#e3f2fc;box-shadow:none}.satellite-icon{box-shadow:none!important;border-radius:28px}.map-status{background:var(--paper);border:0;border-radius:36px}.owner-node strong{font-weight:600}.text-link{font-size:17px;color:var(--blue);gap:16px}
.why-heading{padding-bottom:48px}.why-heading h2{margin-top:24px}.why-card{border:0;border-radius:28px;box-shadow:none;min-height:500px}.why-copy{padding:52px}.why-copy h3,.outcome-copy h3{font-size:40px;line-height:1.08;font-weight:600;letter-spacing:-.015em}.why-copy p,.outcome-copy>p{font-size:17px;line-height:1.47}.why-art{background:none;border:0}.approval-note,.quote-paper,.manual-sheet,.late-clock{box-shadow:none;border-radius:28px}.approval-you{box-shadow:none;background:#e3f2fc}.why-number{margin-bottom:28px}.art-caption{letter-spacing:.02em;font-size:11px}
.outcomes-heading{margin-bottom:48px}.outcomes-viewport{border-radius:28px;border:0}.outcome-image{min-height:500px}.outcome-copy{padding:52px}.outcome-kicker{margin-bottom:28px}.outcomes-controls{border:0;padding:20px 24px;border-radius:36px;background:var(--screen);width:max-content;max-width:100%;margin:24px auto 0;gap:24px}.outcome-dots button span{height:8px;width:8px;border-radius:100%}.outcome-dots button[aria-current=true] span{width:8px}.outcome-arrows button{border:0;background:var(--paper)}.outcomes-foot{padding-top:24px}
.price-card{border:0;border-radius:28px;box-shadow:none;padding:36px}.price-amount{font-weight:600;letter-spacing:-.025em}.deliverables h3{font-size:24px;font-weight:600}.test p{line-height:1.47}.g-icon,.deliver-icon{border-radius:28px}.steps li:before{border-radius:50%}.guarantee{padding-top:28px}.faq-item summary{font-size:21px;letter-spacing:-.01em}.faq-answer p{font-size:17px;line-height:1.47}.footer-invite{padding-top:90px;padding-bottom:90px}.footer-invite h2{font-size:clamp(40px,5vw,80px);font-weight:600;letter-spacing:-.015em}.footer-invite h2 strong{font-weight:600}.footer-wordmark{font-family:var(--heading)}
@media(max-width:1050px){.dependency-explorer{gap:32px}.why-copy,.outcome-copy{padding:32px}.why-copy h3,.outcome-copy h3{font-size:32px}}
@media(max-width:760px){.nav{top:8px;padding-inline:12px}.nav-pill{padding:4px 12px}.nav-links{gap:12px}.nav-links a{font-size:12px}.brand{font-size:17px}.section,.dependency,.why-section,.outcomes-section,.test,.faq-section{padding:64px 24px}.section-heading{margin:28px 0 32px}.section-heading h2,.dependency .section-heading h2,.why-heading h2,.outcomes-heading h2,.test .section-head h2,.faq-heading h2{font-size:40px}.dependency-explorer{display:flex;gap:20px}.dependency-detail{min-height:200px}.map-surface{border-radius:28px}.why-copy{padding:28px}.why-copy h3,.outcome-copy h3{font-size:28px}.why-copy p,.outcome-copy>p{font-size:17px}.why-card{min-height:0;border-radius:28px}.why-art{min-height:300px}.why-number{margin-bottom:20px}.outcome-image{min-height:0}.outcome-copy{padding:28px}.outcomes-controls{gap:8px;padding:8px 12px}.outcome-counter{font-size:10px}.outcome-dots button{min-width:28px}.outcome-arrows{gap:2px}.outcomes-foot .text-link{font-size:15px}.price-card{padding:28px}.faq-item summary{font-size:19px}.footer-invite{padding:64px 24px}}
@media(max-height:700px) and (min-width:761px){}
@media(prefers-reduced-motion:reduce){}
section[id]{scroll-margin-top:88px}

/* Retain the source full-image opening, including its original typography and controls. */
.intro-hero{--heading:'Outfit',sans-serif;--body:'Work Sans',sans-serif;font-family:'Work Sans',sans-serif}
.intro-actions .btn{border-radius:6px;font-family:'Work Sans',sans-serif;font-size:13px;line-height:1.3;letter-spacing:normal;min-height:50px;padding:14px 21px;gap:12px}
.intro-kicker{line-height:inherit}.intro-actions .i{width:20px;height:20px}
@media(max-aspect-ratio:9/10){.intro-actions .btn{font-size:12px;padding:12px 14px;min-height:46px}}
@media(max-height:560px) and (min-aspect-ratio:9/10){.intro-actions .btn{padding:10px 12px;font-size:12px}}

/* Photographic closing invitation; the footer below keeps its existing motion. */
.footer-invite.footer-invite-image{position:relative;isolation:isolate;min-height:560px;min-height:clamp(480px,42vw,720px);display:flex;align-items:center;justify-content:flex-start;padding:80px var(--gutter);overflow:hidden;background:var(--ink)}
.footer-invite-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}
.footer-invite-image::before{content:'';position:absolute;inset:0;background:rgba(45,45,45,.32);z-index:-1;pointer-events:none}
.footer-invite-copy{max-width:680px;display:flex;flex-direction:column;align-items:flex-start;gap:32px}
.footer-invite-image h2{font-size:clamp(48px,5.6vw,88px);line-height:1.06;font-weight:500;letter-spacing:-.025em;color:var(--paper);text-wrap:balance;max-width:9ch}
.footer-invite-image h2 strong{color:inherit;font-weight:500}
.statement-footer .footer-invite-image .footer-contact{background:var(--paper);color:var(--ink);border:1px solid var(--paper);border-radius:999px;padding:14px 24px;gap:24px;min-height:52px;font-size:16px;font-weight:500;transition:background .2s,transform .2s}
.footer-invite-image .footer-contact:hover{background:#e3f2fc;transform:translateY(-2px)}
.statement-footer .footer-invite-image a:focus-visible{outline:3px solid var(--paper);outline-offset:5px}
@media(max-width:760px){.footer-invite.footer-invite-image{min-height:580px;padding:56px 24px;justify-content:flex-start;align-items:flex-start}.footer-invite-photo{object-position:62% center}.footer-invite-image::before{background:rgba(45,45,45,.52)}.footer-invite-copy{gap:28px}.footer-invite-image h2{font-size:52px;max-width:9ch}.statement-footer .footer-invite-image .footer-contact{font-size:15px;padding:13px 22px}}
@media(prefers-reduced-motion:reduce){.statement-footer .footer-invite-image .footer-contact{transition:none}}

/* Match the hero's bright daylight and pale, readable text treatment. */
.footer-invite-image::before{background:linear-gradient(90deg,rgba(245,250,254,.92),rgba(245,250,254,.68) 30%,rgba(245,250,254,.12) 62%,transparent)}
.footer-invite-image h2{color:var(--ink)}
.statement-footer .footer-invite-image .footer-contact{background:var(--blue);border-color:var(--blue);color:var(--paper)}
.statement-footer .footer-invite-image .footer-contact:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.statement-footer .footer-invite-image a:focus-visible{outline-color:var(--ink)}
@media(max-width:760px){.footer-invite-image::before{background:linear-gradient(180deg,rgba(245,250,254,.9),rgba(245,250,254,.66) 35%,rgba(245,250,254,.08) 75%,transparent)}}

/* One continuous photograph across the invitation and animated curve. */
.footer-content{--footer-photo-position:center;--footer-photo-wash:linear-gradient(90deg,rgba(245,250,254,.92),rgba(245,250,254,.68) 30%,rgba(245,250,254,.12) 62%,transparent)}
.footer-invite-photo,.footer-invite-image::before{height:var(--footer-image-height,100%);bottom:auto;object-position:var(--footer-photo-position)}
.footer-invite-image::before{background:var(--footer-photo-wash)}
.footer-swipe-curtain{overflow:hidden;fill:none;background:none}
.footer-curve-image{position:absolute;left:0;top:var(--footer-image-offset);width:100%;height:var(--footer-image-height);background-image:var(--footer-photo-wash),url('assets/coastal-invitation-daylight.webp');background-size:100% 100%,cover;background-position:center,var(--footer-photo-position);background-repeat:no-repeat}
@media(max-width:760px){.footer-content{--footer-photo-position:62% center;--footer-photo-wash:linear-gradient(180deg,rgba(245,250,254,.9),rgba(245,250,254,.66) 35%,rgba(245,250,254,.08) 75%,transparent)}}

/* Preserve the luminous owner orb in the dependency and everyday-cost diagrams. */
#map .owner-node,
#why .approval-you {
  background: radial-gradient(circle at 32% 22%, #fff, #e3f2fc 65%, #c6e4f7);
  border: 1px solid #fff;
  box-shadow: inset 0 0 8px #fff, 0 10px 28px #1c6fa314, 0 0 50px #5db4e833;
}
#map .map-halo { display: block; }
#map .map-grid { display: block; }
#why .approval-art {
  background: radial-gradient(ellipse at 75% 50%, #9fd3f144, transparent 67%);
}
#why .approval-you::before {
  content: '';
  position: absolute;
  inset: -14px;
  border: 1px solid #9fd3f138;
  border-radius: 50%;
  pointer-events: none;
}

/* CTA hover: inset surface with a rotating light stroke and soft bloom. */
@property --cta-light-angle {
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: false;
}
:is(.btn, .footer-contact) {
  position: relative;
  isolation: isolate;
  overflow: visible;
  transition: background .25s ease, color .25s ease, box-shadow .25s ease;
}
:is(.btn, .footer-contact)::before,
:is(.btn, .footer-contact)::after {
  content: '';
  position: absolute;
  inset: -2px;
  padding: 2px;
  border-radius: inherit;
  pointer-events: none;
  background: conic-gradient(from var(--cta-light-angle), #5db4e833 0deg, #5db4e833 55deg, #9fd3f1 95deg, #fff 120deg, #5db4e8 145deg, #5db4e833 190deg, #5db4e833 235deg, #9fd3f1 275deg, #fff 300deg, #5db4e8 325deg, #5db4e833 360deg);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  opacity: 0;
  transition: opacity .25s ease;
}
:is(.btn, .footer-contact)::before {
  inset: -5px;
  padding: 5px;
  filter: blur(7px);
  z-index: -1;
}
:is(.btn, .footer-contact)::after { z-index: 1; }
:is(.btn, .footer-contact):is(:hover, :focus-visible) {
  box-shadow: inset 0 3px 7px #2d2d2d66, inset 0 -1px 2px #ffffff45, 0 0 18px #5db4e838 !important;
}
:is(.btn, .footer-contact):is(:hover, :focus-visible)::before,
:is(.btn, .footer-contact):is(:hover, :focus-visible)::after {
  opacity: 1;
  animation: cta-light-orbit 3s linear infinite;
}
@keyframes cta-light-orbit { to { --cta-light-angle: 360deg; } }
@media (prefers-reduced-motion: reduce) {
  :is(.btn, .footer-contact),
  :is(.btn, .footer-contact)::before,
  :is(.btn, .footer-contact)::after { transition: none; }
  :is(.btn, .footer-contact):is(:hover, :focus-visible)::before,
  :is(.btn, .footer-contact):is(:hover, :focus-visible)::after { animation: none; }
}

/* Keep CTA surfaces indented at rest; the surrounding light appears on interaction. */
:is(.btn, .footer-contact) {
  box-shadow: inset 0 3px 7px #2d2d2d66, inset 0 -1px 2px #ffffff45 !important;
}

/* The retained deliverables fill the space after the pricing card removal. */
#test .test-grid { grid-template-columns: minmax(0, 1fr); }
#test .includes p { max-width: 70ch; }
