/* Dream Marketing studio: olive glass, warm light, and a clear path to launch. */
:root {
  color-scheme: dark;
  --dark: #0c110c;
  --cream: #11180f;
  --ink: #eef0e5;
  --panel: #1b2417;
  --text: #eef0e5;
  --muted: #b7bfae;
  --accent: #c0cba0;
  --line: rgba(214, 224, 190, .18);
  --focus: #e4d9ad;
  --studio-floor: #0c110c;
  --studio-glass: linear-gradient(135deg, rgba(201, 215, 163, .12), rgba(52, 66, 37, .22) 48%, rgba(13, 20, 12, .76));
  --studio-edge: rgba(211, 226, 184, .23);
  --studio-shadow: 0 26px 65px rgba(0, 0, 0, .27), inset 0 1px 0 rgba(238, 241, 218, .12);
}

html { background: var(--studio-floor); scroll-padding-top: 108px; }
body { background: var(--studio-floor); color: var(--text); }
::selection { background: #c0cba0; color: #10160d; }
.wrap { width: min(1320px, calc(100% - 96px)); }
.section { padding-block: 108px; }
.section-light, .section-dark { color: var(--text); background: var(--studio-floor); }
.eyebrow, .section-dark .eyebrow { color: #c3cba9; }
.section-heading { align-items: end; margin-bottom: 42px; gap: 48px; }
.section-heading h2, .faq-grid h2 { font-size: clamp(34px, 3.7vw, 52px); line-height: 1.14; letter-spacing: -.045em; color: #f0f1e7; }
.section-intro, .section-light .section-intro, .section-dark .section-intro { color: var(--muted); font-size: 16px; line-height: 1.8; }
.section-caption { color: #b1bba7; }
.mini-dot, .price-dot { background: #bcc997; box-shadow: 0 0 15px rgba(177, 200, 133, .2); }

/* The header is a thin sheet of smoked glass, not another hero card. */
.site-header { background: rgba(12, 17, 12, .88); border-bottom: 1px solid rgba(220, 227, 195, .14); backdrop-filter: blur(22px) saturate(110%); -webkit-backdrop-filter: blur(22px) saturate(110%); }
.header-inner { min-height: 90px; }
.brand { color: #f1f1e7; }
.brand-symbol { background: linear-gradient(140deg, #d3d9bd, #a0b078 57%, #748853); color: #11170d; box-shadow: inset 0 1px 1px #f0f1da9c, 0 4px 17px #0005; }
.brand-word { color: #f1f1e7; }
.brand-word small { color: #bbc3ad; }
.main-nav a, .payments-header nav a { color: #c5cbbb; }
.main-nav a:hover, .main-nav a.is-active, .payments-header nav a:hover { color: #faf9ed; }
.site-header .main-nav { gap: 20px; }
.header-actions { gap: 14px; }
.menu-toggle { border-color: #667455; color: #edf0e0; }
.main-nav.is-open { background: #172014; border: 1px solid #516143; box-shadow: 0 20px 40px #0008; }
.button { border-radius: 9px; font-weight: 500; transition: background .2s, border-color .2s, box-shadow .2s, transform .2s; }
.button-lime, .button-dark { color: #151b11; background: linear-gradient(130deg, #d5ddbd, #b7c58e); border: 1px solid #d0d9b7; box-shadow: inset 0 1px 0 #f6f5de9e, 0 5px 20px #0003; }
.button-lime:hover, .button-dark:hover { background: linear-gradient(130deg, #e3e8d1, #c3d09c); border-color: #e6ebd4; box-shadow: inset 0 1px 0 #fff9, 0 8px 28px #0005; }
.button-quiet { background: rgba(31, 43, 25, .55); color: #eef0e1; border: 1px solid #6e7b5c; box-shadow: inset 0 1px 0 #eef0dd10; }
.button-quiet:hover { background: #2d3a24; border-color: #a8b68e; }
.button-outline-dark { color: #dbe5c8; border-color: #8a9e6e; background: #23321970; }
.button-outline-dark:hover { color: #f2f6e9; background: #36492a; border-color: #c0d19d; }
.text-link, .round-link, .footer-payment-link, .footer-portal-link { color: #d0d8bc; }
.text-link:hover { color: #fffdee; }
.button:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, summary:focus-visible { outline-color: var(--focus); outline-offset: 5px; }

/* A single photographed scene gives the hero real material and coherent light. */
.hero { position: relative; isolation: isolate; overflow: hidden; background: radial-gradient(ellipse at 78% 15%, #303925 0, #11180f 43%, #0c110c 75%); }
.hero::before { display: none; }
.hero-grid.hero-intro { display: grid; grid-template-columns: 1.05fr .95fr; gap: 42px; position: relative; min-height: 740px; padding-block: 110px 104px; text-align: left; }
.hero-copy { position: relative; z-index: 2; max-width: 640px; margin: 0; }
.hero-eyebrow { justify-content: flex-start; margin-bottom: 28px; color: #c0c9ac; font-size: 11px; letter-spacing: .13em; }
.hero h1 { color: #f2f1e7; font-family: var(--font); font-size: clamp(54px, 5.55vw, 82px); font-weight: 500; line-height: 1.045; letter-spacing: -.065em; max-width: 660px; text-wrap: balance; }
.hero h1 span { color: #c4d0a5; }
.hero-lead { max-width: 480px; margin-top: 28px; font-size: 22px; line-height: 1.45; color: #e6e9da; }
.hero-description { max-width: 460px; margin: 16px 0 0; color: #b6bfa9; font-size: 16px; line-height: 1.85; }
.hero-buttons { justify-content: flex-start; flex-wrap: wrap; gap: 14px; margin-top: 32px; }
.hero-buttons .button { min-height: 56px; }
.hero-price { justify-content: flex-start; margin-top: 27px; color: #c7cdb9; font-size: 14px; }
.hero-price p > span { color: #aeb8a0; font-size: 12px; }
.studio-hero-art { position: absolute; z-index: 0; inset: 0 -140px; pointer-events: none; overflow: hidden; }
.studio-hero-art img { display: block; position: absolute; left: 50%; top: 0; width: auto; max-width: none; height: 100%; max-height: 100%; min-width: 0; min-height: 0; aspect-ratio: 1672 / 941; object-fit: contain; transform: translateX(-50%); -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 88%, #000e 92%, #0009 96%, transparent), linear-gradient(180deg, transparent, #000 5%, #000 86%, transparent); -webkit-mask-composite: source-in; mask-image: linear-gradient(90deg, transparent, #000 7%, #000 88%, #000e 92%, #0009 96%, transparent), linear-gradient(180deg, transparent, #000 5%, #000 86%, transparent); mask-composite: intersect; }
.hero::after { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(12,17,12,.68), rgba(12,17,12,.22) 42%, transparent 61%); pointer-events: none; }

/* The concept workspace is a lit workbench. Its actual sample sites stay legible. */
.playground-section { background: radial-gradient(ellipse at 72% 4%, #25301b 0, #141c11 39%, #11180f 80%); border-top: 1px solid #d7dfbf16; border-bottom: 1px solid #d7dfbf13; }
.playground-workspace { color: var(--text); }
.device-switch button { color: #bfc8b1; border-color: #566449; background: #1a2316; }
.device-switch button[aria-pressed="true"] { background: #c6d2aa; border-color: #d5dfbd; color: #20291b; box-shadow: inset 0 1px 0 #f6f6e7a3; }
.playground-description, .playground-footer, .playground-footer p, .playground-footer > span { color: #bac3ad; }
.playground-canvas { padding: 30px; border: 1px solid var(--studio-edge); border-radius: 18px; background: linear-gradient(135deg, #87986219, #25321c7d 35%, #10180dc7); box-shadow: inset 0 1px 0 #f5f6dd1a, 0 35px 75px #0004; }
.demo-shell { border: 1px solid #a3ad8b; border-radius: 12px; box-shadow: 0 22px 45px #0005, 0 0 0 5px #080e0829; background: #f0eee4; }
.demo-shell:not(.is-mobile) { width: min(100%, 902px); max-width: 902px; margin-inline: auto; }
.browser-chrome { color: #b7c1a6; background: linear-gradient(#313c27, #25321e); border-color: #4d5d3c; }
.browser-dots i { background: #81916b; }
.scene-tabs { background: #131d10; border: 1px solid #51613e; }
.scene-tabs > [role="tab"] { color: #bcc6ac; }
.scene-tabs > [role="tab"][aria-selected="true"] { background: linear-gradient(130deg, #d0dabb, #b6c699); color: #202b19; box-shadow: inset 0 1px 0 #f7f9e77d, 0 3px 10px #0003; }
.demo-shell > .scene-tabs { background: #e7ebdf; border-color: #c5cfb6; }
.demo-shell > .scene-tabs > [role="tab"] { color: #485a3c; background: transparent; }
.demo-shell > .scene-tabs > [role="tab"][aria-selected="true"] { color: #f3f5e9; background: #364c2c; }
.scene-service { color: #353e2d; background: #ebece2; }
.scene-booking { color: #2b3e30; background: #e6ebdf; }
.scene-retail { color: #373c2c; background: #eeede2; }
.scene h2 { color: inherit; font-family: var(--font); }
.scene .concept-overline { color: #58634a; }
.scene p { color: #59604e; }
.concept-nav { color: #37432e; border-color: #c6cdbb; }
.concept-nav > span { color: #68715d; opacity: 1; }
.concept-button, .scene-retail .concept-button { background: #33432a; color: #f4f3e8; border: 1px solid #526647; box-shadow: inset 0 1px 0 #dee8ca1c; }
.concept-button:hover, .scene-retail .concept-button:hover { background: #465839; }
.concept-bottom { color: #66715c; border-color: #c9cfbc; }
.service-art, .vase-art { overflow: hidden; border-radius: 11px; background: #d6dcc8; box-shadow: 0 16px 24px #34412b18; }
.studio-concept-photo { display: block; width: 100%; max-width: 100%; object-fit: cover; }
.service-art .studio-concept-photo { height: 320px; object-position: center; }
.vase-art .studio-concept-photo { height: 300px; object-position: center 48%; }
.vase-art > span { color: #3b4732; background: #e5e7d9; padding: 14px 16px; }
.vase-art > span b { color: #606c50; }
.calendar-concept { background: #f5f5eb; border-color: #c7d0b8; color: #30422e; box-shadow: 0 12px 24px #253c2112; }
.calendar-title, .calendar-week { color: #46533b; }
.calendar-concept .selected-day { background: #415637; color: #f4f5eb; }
.sample-label { color: #67745c; }
.sample-slots button { color: #415238; border-color: #bccbaa; background: #eef1e6; }
.sample-slots button.is-selected { background: #405534; color: #faf9ed; border-color: #405534; }
.demo-shell.is-mobile { border-color: #28331e; box-shadow: 0 20px 46px #0007, inset 0 1px 0 #879671; }
.demo-shell.is-mobile .scene-tabs { border-radius: 6px; }
.demo-shell.is-mobile .service-art .studio-concept-photo { height: 225px; }
.demo-shell.is-mobile .vase-art .studio-concept-photo { height: 260px; }

/* Subtle glass edges and one warm upper-left reflection, consistent throughout. */
.essentials { background: radial-gradient(ellipse at 8% 100%, #2b342035, transparent 60%), #0c110c; }
.bento { border: 1px solid var(--studio-edge); border-radius: 14px; background: var(--studio-glass); box-shadow: var(--studio-shadow); }
.bento-connect { background: linear-gradient(140deg, #a4b47b23, #24301d78 65%, #141c11); }
.bento-care { color: var(--text); border-color: var(--studio-edge); background: linear-gradient(140deg, #77885721, #131b10 76%); }
.bento h3 { color: #eef0e3; }
.bento > p, .bento:not(.bento-care) > p, .bento-care > p { color: #b4bea7; font-size: 16px; line-height: 1.8; }
.bento-top, .bento-top .icon { color: #bdcba0; }
.bento-top > span { color: #aebba0; }
.compare-section { background: radial-gradient(ellipse at 50% 30%, #28321c6e, transparent 72%), #10170e; }
.comparison { border: 1px solid #5a684a; border-radius: 14px; box-shadow: 0 30px 70px #0005, inset 0 1px 0 #eef0dc12; overflow: hidden; }
.comparison-chrome { background: linear-gradient(#303b25, #202b1b); border-color: #526242; color: #bdc6ab; }
.comparison-label, .comparison-view-labels span { color: #d4dcc7; }
.comparison-view-labels { background: #192313; border-color: #465638; }
.compare-basic { background: #f4f4ee; color: #343c31; }
.compare-refined { background: #edf0e4; color: #2c402f; }
.refined-site-nav { color: #2e4230; border-color: #cad1bd; }
.compare-refined .study-overline { color: #677654; }
.compare-refined p { color: #5d6b52; }
.study-refined-button { background: #3c5032; color: #f3f4e7; }
.garden-art { overflow: hidden; border-radius: 8px; background: #d8e0cb; }
.garden-art .studio-concept-photo { height: 100%; min-height: 215px; max-height: 285px; aspect-ratio: 1.13; object-fit: cover; }
.refined-proof, .compare-refined .study-services { color: #627151; border-color: #c7d0b8; }
.compare-divider { background: #dae1c6; box-shadow: 0 0 14px #151e0b38; }
.compare-handle { background: #cbd5ae; border-color: #f0f2e3; color: #26341c; box-shadow: 0 3px 20px #121b0d5c; }

/* Keep both comparison layers aligned without squeezing the mobile copy. */
@media (max-width: 760px) {
  .comparison-stage { display: grid; height: auto; min-height: 620px; }
  .comparison-stage > .compare-layout { position: relative; inset: auto; grid-area: 1 / 1; }
  .comparison-stage .basic-site-grid,
  .comparison-stage .refined-site-grid { min-height: auto; flex-shrink: 0; }
  .garden-art .studio-concept-photo { height: 164px; min-height: 0; max-height: none; aspect-ratio: auto; }
}
.comparison-controls { background: #182214; color: #c7d0b6; border-color: #4d5e3d; }
.comparison-range-row label, .comparison-range-row output { color: #c9d2ba; }
.comparison-presets button { background: #232f1b; color: #c9d4b9; border-color: #596a46; }
.comparison-presets button[aria-pressed="true"] { background: #c6d3aa; color: #24311b; border-color: #d9e2c4; }
.comparison-range-row input { accent-color: #c2d09e; }

/* Planner choices, price and care scope remain distinct and easy to compare. */
.planner-section { background: radial-gradient(ellipse at 78% 42%, #5d6e3524, transparent 60%), #121a0f; }
.planner-grid { gap: 48px; }
.goal-option > span { background: linear-gradient(135deg, #5e70471d, #1a2415); border: 1px solid #4c5b3e; box-shadow: inset 0 1px 0 #eaf0d40a; border-radius: 10px; }
.goal-option strong { color: #e7ecd9; }
.goal-option small { color: #b2bda4; }
.goal-option .icon { color: #c0cf9c; }
.goal-option i { border-color: #8c9a74; }
.goal-option:hover > span { border-color: #9dad81; }
.goal-option input:checked + span { background: linear-gradient(135deg, #74895636, #2a3920); border-color: #acbe8a; box-shadow: inset 0 1px 0 #dbe7bd38, 0 7px 20px #0002; }
.goal-option input:checked + span i { border: 3px solid #d1dfb0; background: #657e43; }
.goal-option input:focus-visible + span { outline: 3px solid var(--focus); outline-offset: 4px; }
.page-select-row, .planner-scope { color: #bdc8ae; border-color: #45553a; }
.page-select-row label { color: #d6dfc8; }
.page-select-row p { color: #b0bd9f; }
.page-select-row select { background: #1d2816; color: #e5ead9; border: 1px solid #6c7e55; }
.planner-result { border: 1px solid #899b6a; border-radius: 15px; background: radial-gradient(ellipse at 90% 0, #9eae6e25, transparent 65%), linear-gradient(135deg, #2c3a21, #172213); color: #ecf1df; box-shadow: 0 25px 60px #0004, inset 0 1px 0 #eef3d42b; }
.planner-result h3, .result-price, .result-price strong { color: #f2f4e9; }
.result-top, .result-detail, .result-deposit, .result-footnote, .planner-result p { color: #c3cfb2; }
.result-price span { color: #c2cead; }
.planner-result .result-deposit { border-color: #63774b; }
.planner-result .button { box-shadow: inset 0 1px 0 #fafbe98c, 0 8px 22px #0003; }
.pricing-section { background: #0c120b; }
.price-card { padding: 40px; border: 1px solid #4d5e3b; border-radius: 15px; color: #e6ecda; background: linear-gradient(140deg, #a2b16f13, #1b26158c 44%, #121b0f); box-shadow: inset 0 1px 0 #edf2d51a, 0 20px 50px #0002; transition: border-color .2s, box-shadow .2s; }
.price-card:hover { transform: none; border-color: #91a372; box-shadow: inset 0 1px 0 #eff4d72b, 0 25px 55px #0004; }
.price-card-featured { border-color: #849967; background: radial-gradient(ellipse at 95% 0, #c6d99422, transparent 58%), linear-gradient(140deg, #2b3921, #162112); }
.price-card h3 { color: #f0f3e6; font-size: 32px; line-height: 1.15; letter-spacing: -.045em; }
.price-card-top, .price-card-top .eyebrow, .package-tag { color: #c7d4af; }
.package-tag { border-color: #738658; background: #83985b1a; }
.price-description, .monthly-line, .package-columns li, .package-price span { color: #bcc8ab; }
.package-price strong { color: #f1f3e5; }
.package-columns { border-color: #4b5d39; }
.package-columns h4 { color: #dbe4c9; }
.package-columns li::before { color: #bdd29a; }
.payment-strip { color: #d4dfc1; background: #1b2815; border-color: #4d623a; }
.payment-strip > div > span { color: #b8c8a4; }
.payment-strip > .icon { color: #a9bd8c; }
.pricing-footnote { color: #aeba9e; font-size: 14px; line-height: 1.8; }
.pricing-footnote strong { color: #dce4cd; }
.custom-work { color: #d9e4c8; border-color: #475837; }
.custom-work p, .custom-work p:not(.eyebrow) { color: #b3c0a3; }
.custom-work .eyebrow { color: #c4d3ad; }
.round-link { border-color: #748760; background: #28371d; }
.round-link:hover { background: #405231; color: #fafbef; }

/* Content and inquiry share the same warm studio lighting. */
.process-section { background: radial-gradient(ellipse at 15% 0, #55603920, transparent 65%), #12190f; }
.process-step { border-color: #4d5d3e; }
.step-number { color: #afbe94; border-color: #4f6140; background: #1e2b16; }
.process-step h3 { color: #e3ead5; }
.process-step p { color: #b2bea2; font-size: 15px; line-height: 1.8; }
.faq-section { background: #0d140c; border-top: 1px solid #d3dfbb12; }
.faq-list details { border-color: #485839; }
.faq-list summary { color: #e1e9d4; }
.faq-list summary:hover { color: #f8f8ee; }
.faq-list details p { color: #b8c5a8; font-size: 15px; line-height: 1.85; }
.faq-list summary::after { color: #afc08c; }
.contact-section { color: var(--text); padding-block: 108px; background: radial-gradient(ellipse at 20% 10%, #72814924, transparent 57%), linear-gradient(135deg, #222e19, #111a0e 72%); border-top: 1px solid #a2b5752e; }
.contact-copy h2 { color: #eff2e4; font-family: var(--font); font-size: clamp(40px, 4.6vw, 64px); font-weight: 500; line-height: 1.08; letter-spacing: -.055em; }
.contact-copy h2 > span { color: #c9dba7; }
.contact-copy > p, .contact-copy > p:not(.eyebrow), .contact-meta { color: #bdc9ad; }
.contact-email { color: #e3ebd4; border-color: #748a55; overflow-wrap: anywhere; }
.contact-card { border: 1px solid #6b7f51; border-radius: 15px; padding: 32px; background: var(--studio-glass); box-shadow: var(--studio-shadow); }
.contact-card-header { color: #dde7ce; border-color: #596d40; }
.contact-card-header .icon { color: #c2d59d; }
.field label, .field > span { color: #d0ddbc; }
.field label > span, .field label .optional { color: #aebf97; }
.field input, .field textarea, .field select { color: #edf1e4; background: #10180d; border: 1px solid #5b6f44; border-radius: 7px; min-height: 52px; box-shadow: inset 0 2px 7px #0003; }
.field textarea { min-height: 130px; }
.field input::placeholder, .field textarea::placeholder { color: #9eae8b; opacity: 1; }
.field input:hover, .field textarea:hover, .field select:hover { border-color: #98ae75; }
.field input:focus, .field textarea:focus, .field select:focus { border-color: #c4d6a2; }
.field input:focus-visible, .field textarea:focus-visible, .field select:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; box-shadow: none; }
.form-privacy, .preview-form-note { color: #b9c7a7; }
.form-privacy a, .preview-form-note a { color: #e0eace; }
.inquiry-status { color: #e2ecd0; }
.site-footer { background: #0a1009; border-top: 1px solid #d2dfb72b; color: #c2cdb2; }
.footer-main > p, .footer-bottom { color: #a2b391; }
.footer-bottom { border-color: #3a4c2b; }
.footer-bottom a, .footer-portal-link { color: #bccbac; }
.motion-toggle, .back-top { color: #c9d7b7; border-color: #536b3e; background: #182611; }
.motion-toggle:hover, .back-top:hover { color: #f2f6e8; background: #293d1f; }

/* Consultation, payment and portal-entry pages belong to the same studio. */
.thanks-page, .payments-page, .portal-page { background: radial-gradient(ellipse at 80% 12%, #52603830, transparent 55%), #0c130b; }
.thanks-main { min-height: calc(100svh - 210px); padding-block: 86px; }
.thanks-card { max-width: 880px; padding: 56px; background: linear-gradient(140deg, #71875220, #1a28125c 50%, #101b0ce6); border: 1px solid #758d58; border-radius: 16px; box-shadow: var(--studio-shadow); }
.thanks-card h1 { color: #f0f4e5; font-family: var(--font); font-size: clamp(42px, 6vw, 72px); line-height: 1.06; font-weight: 500; letter-spacing: -.055em; }
.thanks-card p:not(.eyebrow) { color: #bdcdaa; max-width: 640px; font-size: 16px; line-height: 1.8; }
.thanks-card .preview-form-note { color: #b7c5a5; font-size: 14px; }
.consultation-request { border-color: #50683b; }
.consultation-request h2 { color: #dfead1; }
.consultation-actions .text-link { color: #c8d9b2; }
.payments-main { color: #e9efde; background: transparent; padding-block: 78px 100px; }
.payment-heading h1 { color: #f0f3e6; }
.payment-heading > p:last-child, .payment-help p, .payment-next > p, .deposit-description, .deposit-total { color: #b9c7aa; }
.payment-proposal, .deposit-card { background: linear-gradient(140deg, #899f5d14, #1c2a135c 48%, #101b0be6); border: 1px solid #536d3c; border-radius: 15px; box-shadow: inset 0 1px 0 #f0f6de1c, 0 20px 45px #0003; }
.payment-proposal h2, .payment-help h2, .payment-next h2, .deposit-card h2 { color: #e2edd2; }
.payment-proposal .payment-guidance { color: #afc099; }
.proposal-ack { color: #e0e8d3; }
.proposal-ack input { accent-color: #bfd49a; }
.payment-mode { background: #3e3821; color: #e2d5ac; border-color: #8f7e4b; }
.payment-mode-live { background: #22351a; color: #d8e8c4; border-color: #78995a; }
.deposit-amount { color: #f1f5e6; }
.deposit-amount span { color: #c2d2ae; }
.deposit-card ul { color: #c4d1b6; }
.deposit-button:disabled, .deposit-button:disabled:hover { color: #a7b799; background: #2a3a21; border-color: #566b44; cursor: not-allowed; box-shadow: none; transform: none; opacity: 1; }
.payment-next { border-color: #4c6438; }
.payment-help-links a { color: #d3e4bb; }
.payment-no-script { color: #e6d8b1; background: #3c3420; border-color: #9b8855; }
.portal-access-main { color: #e6eed9; background: transparent; }
.portal-access-heading h1 { color: #f0f4e4; }
.portal-access-heading p, .portal-access-heading > p:last-child, .portal-note, .portal-help { color: #bdceaa; }
.portal-access-card { color: #e5efda; background: linear-gradient(140deg, #8eaa5b18, #16250fdb); border-color: #68834a; border-radius: 16px; box-shadow: var(--studio-shadow); }
.portal-access-card h2 { color: #ebf2e0; }
.portal-access-card p, .portal-access-card li { color: #bdcfa8; }
.portal-access-actions { border-color: #526c3c; }
.portal-preview-status { color: #d5e4bc; background: #2a3b1d; border-color: #7d995b; }
.portal-return { color: #cedfba; }

@media (min-width: 1800px) {
  .hero-grid.hero-intro { min-height: 790px; padding-block: 130px 120px; }
}
@media (max-width: 1180px) and (min-width: 901px) {
  .wrap { width: calc(100% - 64px); }
  .hero-grid.hero-intro { min-height: 680px; grid-template-columns: 1.05fr .95fr; padding-block: 88px; }
  .hero h1 { font-size: 65px; }
  .hero-lead { font-size: 20px; max-width: 410px; }
  .hero-description { max-width: 390px; font-size: 15px; }
  .hero-buttons .button { padding-inline: 19px; font-size: 14px; gap: 15px; }
  .studio-hero-art { inset-inline: -125px; }
  .site-header .main-nav { gap: 13px; }
  .site-header .main-nav a { font-size: 12px; }
  .site-header .header-inner { gap: 18px; }
  .price-card { padding: 30px; }
}
@media (max-width: 900px) {
  .wrap { width: calc(100% - 48px); }
  .section { padding-block: 78px; }
  .site-header .main-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; margin: 0; padding: 16px 24px 22px; flex-direction: column; align-items: stretch; gap: 0; background: #172014; border-color: #516143; }
  .site-header .main-nav.is-open { display: flex; }
  .site-header .main-nav a { font-size: 15px; min-height: 52px; padding: 14px 8px; border-bottom: 1px solid #62784a55; }
  .site-header .main-nav a::after { display: none; }
  .header-actions { margin-left: auto; }
  .menu-toggle { display: block; }
  .hero-grid.hero-intro { display: block; min-height: 0; padding-block: 54px 60px; }
  .hero-copy { max-width: 640px; text-shadow: 0 2px 20px #050b05a6; }
  .hero h1 { font-size: clamp(52px, 8.3vw, 72px); }
  .hero-lead { font-size: 21px; }
  .hero-description { max-width: 540px; }
  .hero::after { display: block; background: linear-gradient(90deg, #081007d9, #0a140ab0 55%, #0a140a40), linear-gradient(180deg, #08100740, #08100710 45%, #081007c0); }
  .studio-hero-art { position: absolute; inset: 0 -24px; width: auto; height: auto; margin: 0; }
  .studio-hero-art img { left: 0; right: auto; top: 0; width: 100%; height: 100%; max-height: none; aspect-ratio: auto; object-fit: cover; object-position: 77% 50%; transform: none; -webkit-mask-image: none; mask-image: none; }
  .hero h1 span { color: #d5e3b4; }
  .hero-lead { color: #f0f3e7; }
  .hero-description { color: #d2dcc5; }
  .hero-price p > span { color: #cbd5be; }
  .section-heading { gap: 26px; }
  .planner-grid { gap: 32px; }
  .contact-section { padding-block: 78px; }
  .price-card { padding: 30px; }
}
@media (max-width: 700px) {
  html { scroll-padding-top: 90px; }
  .wrap { width: calc(100% - 40px); }
  .header-inner { min-height: 78px; gap: 16px; }
  .site-header .header-cta { font-size: 12px; padding-inline: 15px; }
  .hero-grid.hero-intro { padding-block: 36px 46px; }
  .hero-eyebrow { margin-bottom: 23px; font-size: 10px; letter-spacing: .11em; }
  .hero h1 { font-size: clamp(47px, 9.8vw, 65px); letter-spacing: -.06em; }
  .hero-lead { font-size: 19px; margin-top: 20px; max-width: 420px; }
  .hero-description { font-size: 15px; line-height: 1.8; max-width: 460px; margin-top: 12px; }
  .hero-buttons { gap: 12px; margin-top: 24px; }
  .hero-buttons .button { min-height: 54px; font-size: 14px; padding: 15px 18px; gap: 18px; }
  .hero-price { margin-top: 22px; font-size: 13px; }
  .hero-price p > span { font-size: 12px; }
  .studio-hero-art { inset-inline: -20px; width: auto; height: auto; margin: 0; }
  .section { padding-block: 65px; }
  .section-heading { gap: 20px; margin-bottom: 30px; }
  .section-heading h2, .faq-grid h2 { font-size: 36px; line-height: 1.15; }
  .section-intro, .section-light .section-intro, .section-dark .section-intro { font-size: 15px; }
  .playground-toolbar { align-items: flex-start; gap: 14px; }
  .playground-canvas { padding: 15px; border-radius: 12px; }
  .device-switch button { font-size: 13px; min-height: 46px; padding: 11px 13px; }
  .playground-description { margin-block: 16px; font-size: 14px; }
  .playground-footer { font-size: 13px; }
  .bento { border-radius: 12px; }
  .bento > p, .bento-care > p { font-size: 15px; }
  .planner-grid { gap: 28px; }
  .goal-option > span { min-height: 160px; }
  .goal-option strong { font-size: 14px; }
  .goal-option small { font-size: 12px; }
  .price-card { padding: 28px; }
  .price-card h3 { font-size: 30px; }
  .pricing-footnote { font-size: 13px; }
  .contact-section { padding-block: 68px; }
  .contact-copy h2 { font-size: 43px; }
  .contact-card { padding: 25px; }
  .thanks-main { padding-block: 45px; }
  .thanks-card { padding: 34px 26px; }
  .thanks-card h1 { font-size: 44px; }
  .thanks-card p:not(.eyebrow) { font-size: 15px; }
  .thanks-card .preview-form-note { font-size: 13px; }
  .payments-main { padding-block: 48px 64px; }
  .deposit-card { padding: 27px; }
}
@media (max-width: 380px) {
  .wrap { width: calc(100% - 32px); }
  .hero h1 { font-size: 45px; }
  .hero-buttons { gap: 10px; }
  .hero-buttons .button { padding-inline: 14px; font-size: 13px; gap: 12px; }
  .studio-hero-art { inset-inline: -16px; width: auto; height: auto; margin: 0; }
  .contact-card, .price-card, .deposit-card { padding: 23px; }
  .thanks-card { padding: 29px 22px; }
  .payments-header nav { width: 100%; margin: 0; justify-content: space-between; }
}

/* The material remains opaque and still when the visitor requests it. */
@media (prefers-reduced-transparency: reduce) {
  .site-header { background: #10170d; backdrop-filter: none; -webkit-backdrop-filter: none; }
  .bento, .contact-card, .price-card, .planner-result, .thanks-card, .payment-proposal, .deposit-card, .portal-access-card { background: #1c2915; }
}
html[data-motion="off"] .button, html[data-motion="off"] .bento, html[data-motion="off"] .price-card, html[data-motion="off"] .goal-option > span, html[data-motion="off"] .demo-shell { transition: none; }
html[data-motion="off"] .button:hover, html[data-motion="off"] .bento:hover, html[data-motion="off"] .price-card:hover { transform: none; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .button, .bento, .price-card, .goal-option > span, .demo-shell { transition: none; }
  .button:hover, .bento:hover, .price-card:hover { transform: none; }
}
