:root {
  color-scheme: light;
  --ink: #1d2420;
  --deep: #16251e;
  --paper: #f7f8f4;
  --white: #fff;
  --lime: #d5f477;
  --muted: #6f7770;
  --line: rgba(29, 36, 32, .14);
  --font-body: "DM Sans", sans-serif;
  --font-display: "Manrope", sans-serif;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { -webkit-user-select: none; user-select: none; }
input, textarea, select, [contenteditable="true"] { -webkit-user-select: text; user-select: text; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; clip-path: inset(50%); }
.portal-page { min-height: 100vh; background: #f0f2ed; }
.portal-header { position: relative; display: flex; width: min(1240px, calc(100% - 64px)); height: 88px; align-items: center; justify-content: space-between; margin-inline: auto; }
.portal-back, .crm-gate-back { color: #606b62; font-size: 12px; font-weight: 700; }
.portal-back span { margin-left: 9px; color: #769b49; }
.portal-main { display: grid; width: min(1160px, calc(100% - 64px)); grid-template-columns: 1fr minmax(360px, 490px); gap: clamp(40px, 8vw, 110px); align-items: center; margin: 24px auto 80px; }
.portal-intro { max-width: 470px; }
.portal-intro h1 { margin: 23px 0 17px; color: var(--deep); font-family: var(--font-display); font-size: clamp(48px, 6vw, 76px); font-weight: 600; letter-spacing: -.075em; line-height: 1.03; }
.portal-intro h1 em { color: #6e963e; font-style: normal; }
.portal-intro > p:not(.eyebrow) { max-width: 420px; color: #667169; font-size: 14px; line-height: 1.8; }
.portal-assurance { display: flex; align-items: center; gap: 11px; margin-top: 33px; color: #627066; font-size: 11px; line-height: 1.6; }
.portal-assurance span { display: grid; width: 25px; height: 25px; flex: 0 0 25px; place-items: center; border-radius: 50%; background: #e2ebd2; color: #64833f; font-weight: 800; }
.auth-card { padding: 36px; border: 1px solid rgba(29, 36, 32, .08); border-radius: 9px; background: #fff; box-shadow: 0 22px 65px rgba(27, 42, 31, .08); }
.auth-card-heading h2 { margin: 15px 0 6px; color: var(--deep); font-family: var(--font-display); font-size: 29px; letter-spacing: -.055em; }
.auth-card-heading > p:last-child { margin: 0; color: #737d75; font-size: 12px; }
.auth-providers { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 24px; }
.auth-provider { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; gap: 8px; padding: 0 10px; border: 1px solid #dfe4de; border-radius: 4px; background: #fff; color: #28352d; font-size: 10px; font-weight: 700; cursor: pointer; }
.auth-provider:hover { border-color: #91a67d; background: #f9fbf6; }
.auth-provider span { font-size: 15px; font-weight: 800; }
.auth-divider { display: flex; align-items: center; gap: 12px; margin: 23px 0; color: #899189; font-size: 10px; }
.auth-divider::before, .auth-divider::after { height: 1px; flex: 1; background: #e8ebe7; content: ""; }
.auth-form { display: grid; gap: 13px; }
.auth-form h3 { margin: 0 0 2px; color: var(--deep); font-family: var(--font-display); font-size: 16px; letter-spacing: -.025em; }
.auth-form label, .crm-form-fields label { display: grid; gap: 6px; color: #4c584f; font-size: 10px; font-weight: 700; }
.auth-form input, .crm-form-fields input, .crm-form-fields textarea { width: 100%; min-height: 42px; padding: 10px 11px; border: 1px solid #dce2dc; border-radius: 4px; outline: none; background: #fff; color: #1d2922; font: inherit; font-size: 12px; }
.auth-form input:focus, .crm-form-fields input:focus, .crm-form-fields textarea:focus { border-color: #86a85e; box-shadow: 0 0 0 3px rgba(134, 168, 94, .13); }
.field-hint { color: #818a83; font-size: 9px; font-weight: 400; }
.auth-submit { width: 100%; margin-top: 3px; cursor: pointer; font-size: 11px; }
.auth-submit:disabled { opacity: .55; cursor: wait; }
.auth-signin { margin-top: 18px; border-top: 1px solid #e8ebe7; padding-top: 16px; }
.auth-signin summary { color: #536b44; font-size: 11px; font-weight: 700; cursor: pointer; }
.auth-signin[open] .auth-form { margin-top: 16px; }
.auth-message { min-height: 0; margin: 13px 0 0; color: #58773d; font-size: 11px; line-height: 1.6; }
.auth-message:empty { display: none; }
.auth-message[data-state="error"] { color: #a43f39; }
.account-session { display: grid; gap: 12px; padding: 17px; border-radius: 5px; background: #f4f7ef; }
.account-session h3, .account-session p { margin: 0; }
.account-session h3 { color: var(--deep); font-family: var(--font-display); font-size: 17px; }
.account-session > p { color: #68736b; font-size: 11px; }
.account-session .auth-form { margin-top: 7px; }
.account-session .button { width: 100%; }
.text-button { justify-self: start; padding: 4px 0; border: 0; background: transparent; color: #64715f; font: inherit; font-size: 10px; font-weight: 700; cursor: pointer; }
.auth-legal { margin: 21px 0 0; color: #89918a; font-size: 9px; line-height: 1.7; }
.auth-legal a, .crm-settings-card a { color: #58783d; text-decoration: underline; text-underline-offset: 2px; }
.portal-footer { display: flex; width: min(1240px, calc(100% - 64px)); flex-wrap: wrap; justify-content: space-between; gap: 16px; margin: 0 auto; padding: 20px 0 28px; border-top: 1px solid rgba(29, 36, 32, .1); color: #748078; font-size: 9px; }
.crm-page { min-height: 100vh; background: #f3f5f2; color: #1e2c24; }
.crm-shell { min-height: 100vh; }
.crm-shell:not([hidden]) { display: grid; grid-template-columns: 244px minmax(0, 1fr); }
.crm-sidebar { position: sticky; top: 0; display: flex; height: 100vh; flex-direction: column; padding: 24px 14px 15px; border-right: 1px solid #e4e9e4; background: #fff; }
.crm-brand { display: flex; align-items: center; gap: 11px; padding: 0 10px 26px; color: #1c2c22; font-family: var(--font-display); font-size: 13px; font-weight: 800; letter-spacing: .04em; }
.crm-brand .brand-mark { width: 35px; height: 35px; flex-basis: 35px; font-size: 17px; }
.crm-brand small { display: block; margin-top: 4px; color: #78837b; font-family: var(--font-body); font-size: 7px; letter-spacing: .21em; }
.crm-workspace-label, .crm-overline { margin: 0; color: #879188; font-size: 8px; font-weight: 800; letter-spacing: .14em; }
.crm-workspace-label { padding: 0 12px 10px; }
.crm-nav { display: grid; gap: 3px; overflow-y: auto; }
.crm-nav-item { display: flex; min-height: 37px; align-items: center; gap: 11px; padding: 0 11px; border: 0; border-radius: 4px; background: transparent; color: #657169; text-align: left; font: inherit; font-size: 10px; font-weight: 600; cursor: pointer; }
.crm-nav-item > span { display: grid; width: 19px; place-items: center; color: #78867d; font-size: 15px; }
.crm-nav-item:hover { background: #f4f7f2; color: #2a422f; }
.crm-nav-item.is-active { background: #edf3e7; color: #496c32; font-weight: 800; }
.crm-nav-item.is-active > span { color: #648b42; }
.crm-sidebar-bottom { display: grid; gap: 7px; margin-top: auto; padding: 14px 9px 0; border-top: 1px solid #edf0ec; }
.crm-sidebar-bottom a, .crm-sidebar-bottom button { padding: 8px 3px; border: 0; background: transparent; color: #68746c; text-align: left; font: inherit; font-size: 9px; font-weight: 600; cursor: pointer; }
.crm-sidebar-bottom a span { float: right; color: #8da970; }
.crm-main { min-width: 0; }
.crm-topbar { position: sticky; z-index: 3; top: 0; display: flex; min-height: 77px; align-items: center; justify-content: space-between; gap: 20px; padding: 12px clamp(20px, 4vw, 52px); border-bottom: 1px solid #e4e9e4; background: rgba(255, 255, 255, .95); backdrop-filter: blur(12px); }
.crm-breadcrumb { margin: 0; color: #8a938c; font-size: 8px; font-weight: 800; letter-spacing: .13em; }
.crm-breadcrumb span { padding-inline: 6px; color: #bdc5bd; }
.crm-breadcrumb b { color: #64756a; }
.crm-topbar h1 { margin: 6px 0 0; color: #1e3025; font-family: var(--font-display); font-size: 19px; letter-spacing: -.04em; }
.crm-user { display: flex; align-items: center; gap: 9px; color: #4f5e53; font-size: 10px; font-weight: 700; }
.crm-user-avatar { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid #dfe8d5; border-radius: 50%; background: #eff4e9; color: #64823f; font-family: var(--font-display); font-weight: 800; }
.crm-content { width: min(1300px, 100%); margin-inline: auto; padding: 25px clamp(20px, 4vw, 52px) 50px; }
.crm-notice { margin: 0 0 14px; color: #57783e; font-size: 10px; }
.crm-notice:empty { display: none; }
.crm-notice[data-state="error"] { color: #a43f39; }
.crm-welcome { position: relative; display: flex; min-height: 185px; align-items: center; justify-content: space-between; overflow: hidden; padding: 30px 35px; border-radius: 7px; background: #1b3226; color: #fff; }
.crm-welcome .crm-overline { color: #b6ce9c; }
.crm-welcome h2 { max-width: 560px; margin: 12px 0 8px; font-family: var(--font-display); font-size: clamp(23px, 3vw, 33px); font-weight: 600; letter-spacing: -.055em; }
.crm-welcome p:last-child { max-width: 540px; margin: 0; color: rgba(255,255,255,.72); font-size: 11px; line-height: 1.7; }
.crm-welcome-mark { position: absolute; right: 45px; color: rgba(213,244,119,.12); font-family: var(--font-display); font-size: 155px; font-weight: 800; letter-spacing: -.12em; line-height: 1; }
.crm-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; margin: 18px 0; }
.crm-stat-card { display: grid; min-height: 122px; align-content: start; gap: 9px; padding: 17px; border: 1px solid #e5eae4; border-radius: 6px; background: #fff; color: #69746d; text-align: left; font: inherit; font-size: 10px; }
button.crm-stat-card { cursor: pointer; }
button.crm-stat-card:hover { border-color: #b6c9a4; transform: translateY(-1px); }
.crm-stat-card strong { color: #24372a; font-family: var(--font-display); font-size: 27px; letter-spacing: -.06em; }
.crm-stat-card small { color: #849087; font-size: 8px; }
.crm-stat-card small b { padding-left: 4px; color: #789552; }
.crm-panel { margin-top: 16px; border: 1px solid #e5eae4; border-radius: 6px; background: #fff; }
.crm-panel-heading { display: flex; align-items: center; justify-content: space-between; padding: 18px 21px; border-bottom: 1px solid #edf0ec; }
.crm-panel-heading h3 { margin: 7px 0 0; color: #25372b; font-family: var(--font-display); font-size: 15px; letter-spacing: -.03em; }
.crm-panel-meta { color: #879188; font-size: 9px; }
.crm-shortcuts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 9px; }
.crm-shortcuts button { display: flex; min-height: 47px; align-items: center; gap: 10px; padding: 0 11px; border: 0; border-radius: 4px; background: #fff; color: #536159; text-align: left; font: inherit; font-size: 9px; font-weight: 600; cursor: pointer; }
.crm-shortcuts button:hover { background: #f5f8f2; color: #496b35; }
.crm-shortcuts button > span { color: #7d9865; font-size: 15px; }
.crm-shortcuts button > b { margin-left: auto; color: #a4ada5; font-size: 10px; }
.crm-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin: 4px 0 20px; }
.crm-section-heading h2 { margin: 8px 0 5px; color: #203127; font-family: var(--font-display); font-size: 28px; letter-spacing: -.055em; }
.crm-section-heading p:last-child { margin: 0; color: #758078; font-size: 10px; }
.crm-section-heading .button, .crm-empty .button { flex: 0 0 auto; font-size: 9px; cursor: pointer; }
.crm-table-wrap { overflow-x: auto; }
.crm-table { width: 100%; border-collapse: collapse; }
.crm-table th { padding: 13px 15px; background: #fafbf9; color: #8a948b; text-align: left; font-size: 8px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.crm-table td { max-width: 300px; padding: 13px 15px; border-top: 1px solid #eef1ed; color: #526057; font-size: 10px; line-height: 1.5; overflow-wrap: anywhere; }
.crm-status { display: inline-flex; padding: 4px 8px; border-radius: 20px; background: #eff4e8; color: #5e7a43; font-size: 8px; font-weight: 700; }
.crm-row-actions { white-space: nowrap; text-align: right; }
.crm-row-actions button { margin-left: 8px; padding: 4px; border: 0; background: transparent; color: #6d7a70; font: inherit; font-size: 8px; font-weight: 700; cursor: pointer; }
.crm-row-actions button:last-child { color: #a4534b; }
.crm-empty { display: grid; justify-items: center; padding: 56px 20px; color: #738078; text-align: center; }
.crm-empty > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: #eff4e8; color: #6e8e4c; font-size: 20px; }
.crm-empty h3 { margin: 15px 0 5px; color: #293b2f; font-family: var(--font-display); font-size: 17px; letter-spacing: -.03em; }
.crm-empty p { max-width: 420px; margin: 0 0 17px; font-size: 10px; line-height: 1.7; }
.crm-empty.crm-error > span { background: #fbefec; color: #a4534b; }
.crm-settings-card { display: flex; align-items: start; gap: 17px; padding: 24px; }
.crm-settings-icon { display: grid; width: 40px; height: 40px; flex: 0 0 40px; place-items: center; border-radius: 50%; background: #eff4e8; color: #668744; font-size: 19px; }
.crm-settings-card h3 { margin: 8px 0; color: #293b2f; font-family: var(--font-display); font-size: 17px; }
.crm-settings-card p:not(.crm-overline), .crm-security-note p { margin: 0 0 12px; color: #738078; font-size: 10px; line-height: 1.7; }
.crm-settings-card a { font-size: 10px; font-weight: 700; }
.crm-security-note { padding: 18px 21px; }
.crm-security-note b { display: block; margin-bottom: 7px; color: #3a4e3f; font-size: 10px; }
.crm-security-note p { margin: 0; }
.crm-gate { display: grid; min-height: 100vh; align-content: center; justify-items: center; gap: 45px; padding: 30px; }
.crm-gate-card { position: relative; width: min(440px, 100%); padding: 39px; border: 1px solid #e3e9e1; border-radius: 8px; background: #fff; box-shadow: 0 22px 65px rgba(27, 42, 31, .08); }
.crm-gate-icon { position: absolute; top: 30px; right: 32px; display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: #edf3e7; color: #688b46; font-weight: 800; }
.crm-gate-card h1 { margin: 15px 0 8px; color: #1b3226; font-family: var(--font-display); font-size: 32px; letter-spacing: -.06em; }
.crm-gate-card > p:not(.eyebrow) { margin: 0 0 23px; color: #758078; font-size: 11px; line-height: 1.7; }
.crm-gate-card .button { font-size: 10px; }
.crm-dialog { width: min(520px, calc(100% - 32px)); max-height: min(90vh, 760px); padding: 0; overflow: auto; border: 1px solid #e3e9e1; border-radius: 8px; background: #fff; color: #24352a; box-shadow: 0 25px 90px rgba(14, 31, 20, .25); }
.crm-dialog::backdrop { background: rgba(16, 27, 20, .52); backdrop-filter: blur(3px); }
.crm-dialog form { padding: 26px; }
.crm-dialog-heading { display: flex; align-items: start; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.crm-dialog-heading h2 { margin: 7px 0 0; font-family: var(--font-display); font-size: 22px; letter-spacing: -.05em; }
.crm-close { width: 31px; height: 31px; border: 1px solid #e4e9e3; border-radius: 50%; background: #fff; color: #59665c; font-size: 19px; cursor: pointer; }
.crm-form-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.crm-form-fields label:has(textarea) { grid-column: 1 / -1; }
.crm-form-fields textarea { resize: vertical; }
.crm-dialog-error { color: #a43f39; font-size: 10px; }
.crm-dialog-actions { display: flex; justify-content: end; gap: 9px; margin-top: 19px; }
.crm-dialog-actions .button { min-height: 41px; font-size: 9px; cursor: pointer; }
@media (max-width: 800px) {
  .portal-header, .portal-footer { width: calc(100% - 38px); }
  .portal-main { width: calc(100% - 38px); grid-template-columns: 1fr; gap: 27px; margin-top: 4px; }
  .portal-intro h1 { font-size: 52px; }
  .portal-assurance { margin-top: 18px; }
  .auth-card { padding: 25px; }
  .portal-footer { justify-content: flex-start; }
  .crm-shell:not([hidden]) { grid-template-columns: 1fr; }
  .crm-sidebar { position: sticky; z-index: 5; top: 0; height: auto; padding: 8px 12px; border-right: 0; border-bottom: 1px solid #e4e9e4; }
  .crm-brand { padding: 0 4px 8px; }
  .crm-brand .brand-mark { width: 28px; height: 28px; flex-basis: 28px; font-size: 14px; }
  .crm-brand small { font-size: 6px; }
  .crm-workspace-label, .crm-sidebar-bottom { display: none; }
  .crm-nav { display: flex; overflow-x: auto; gap: 4px; padding-bottom: 2px; }
  .crm-nav-item { min-height: 33px; flex: 0 0 auto; gap: 6px; padding-inline: 9px; font-size: 9px; }
  .crm-nav-item > span { width: auto; font-size: 13px; }
  .crm-topbar { min-height: 68px; padding-inline: 18px; }
  .crm-content { padding: 17px 18px 35px; }
  .crm-welcome { min-height: 160px; padding: 24px; }
  .crm-welcome-mark { right: 12px; font-size: 115px; }
  .crm-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .crm-stat-card { min-height: 105px; padding: 13px; }
  .crm-shortcuts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 460px) {
  .portal-header { height: 70px; }
  .portal-back { font-size: 10px; }
  .auth-card { padding: 21px 17px; }
  .auth-providers { grid-template-columns: 1fr; }
  .portal-intro h1 { font-size: 46px; }
  .crm-topbar h1 { font-size: 17px; }
  .crm-user { font-size: 0; }
  .crm-user-avatar { font-size: 11px; }
  .crm-section-heading { align-items: start; flex-direction: column; }
  .crm-section-heading .button { min-height: 40px; }
  .crm-form-fields { grid-template-columns: 1fr; }
  .crm-form-fields label:has(textarea) { grid-column: auto; }
  .crm-dialog form { padding: 20px; }
}
html { scroll-behavior: smooth; scroll-padding-top: 86px; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--font-body); -webkit-font-smoothing: antialiased; }
body, button, a { font-family: var(--font-body); }
a { color: inherit; text-decoration: none; }
button { color: inherit; }
.page-width { width: min(1210px, calc(100% - 104px)); margin-inline: auto; }
.skip-link { position: fixed; z-index: 20; top: 12px; left: 12px; padding: 12px 16px; transform: translateY(-160%); background: var(--lime); color: var(--ink); font-weight: 700; }
.skip-link:focus { transform: translateY(0); }

.site-header { position: absolute; z-index: 5; top: 18px; left: 50%; display: grid; width: min(1360px, calc(100% - 80px)); min-height: 76px; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 28px; padding: 0 24px; transform: translateX(-50%); border: 1px solid rgba(29, 36, 32, .1); border-radius: 8px; background: rgba(250, 251, 248, .94); box-shadow: 0 10px 30px rgba(22, 37, 30, .06); color: var(--ink); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
.brand { display: inline-flex; width: fit-content; align-items: center; gap: 12px; flex: 0 0 auto; }
.brand-mark { position: relative; display: grid; width: 42px; height: 42px; flex: 0 0 42px; place-items: center; border: 1px solid var(--deep); border-radius: 8px; background: var(--deep); color: #fff; font-family: var(--font-display); font-size: 20px; font-weight: 800; letter-spacing: -2px; box-shadow: none; }
.brand-mark::after { position: absolute; right: -4px; bottom: -4px; width: 12px; height: 12px; border: 2px solid var(--paper); border-radius: 50%; background: #95bc57; content: ""; }
.brand-mark > span { position: absolute; right: 7px; bottom: 6px; color: var(--lime); font-size: 10px; line-height: 1; }
.brand-name { display: grid; gap: 4px; color: var(--ink); font-family: var(--font-display); font-size: 16px; font-weight: 800; letter-spacing: .065em; line-height: 1; }
.brand-name > span { color: #69736b; font-size: 7px; font-weight: 700; letter-spacing: .25em; }
.site-nav { display: flex; align-items: center; justify-self: center; gap: clamp(10px, 1.2vw, 18px); padding: 5px; border: 1px solid rgba(29, 36, 32, .07); border-radius: 6px; background: rgba(29, 36, 32, .025); }
.site-nav a, .header-cta { font-size: 11px; font-weight: 600; transition: color .2s ease, background .2s ease, border-color .2s ease; }
.site-nav a { position: relative; padding: 9px 11px; border-radius: 4px; color: #515b54; }
.site-nav a[aria-current="page"] { background: #e9eee2; }
.site-nav a:hover, .site-nav a:focus-visible { color: #587d31; }
.site-nav a[aria-current="page"] { color: #587d31; }
.header-cta { display: inline-flex; min-height: 44px; align-items: center; justify-self: end; gap: 18px; padding: 0 17px; border: 1px solid var(--deep); border-radius: 4px; background: var(--deep); color: #fff; }
.header-cta:hover, .header-cta:focus-visible { border-color: #294534; background: #294534; color: white; }
.header-cta span { color: var(--lime); font-size: 15px; }
.menu-toggle { display: none; }
.site-header-dark { border-color: rgba(255, 255, 255, .14); background: rgba(22, 37, 30, .96); box-shadow: 0 10px 30px rgba(0, 0, 0, .12); color: #fff; }
.site-header-dark .brand-mark { border-color: rgba(255, 255, 255, .18); background: #fff; color: var(--deep); }
.site-header-dark .brand-mark > span { color: #6f963e; }
.site-header-dark .brand-name, .site-header-dark .brand-name > span { color: #fff; }
.site-header-dark .site-nav a { color: rgba(255, 255, 255, .78); }
.site-header-dark .site-nav { border-color: rgba(255, 255, 255, .12); background: rgba(255, 255, 255, .04); }
.site-header-dark .site-nav a[aria-current="page"] { background: rgba(255, 255, 255, .1); color: var(--lime); }
.site-header-dark .header-cta { border-color: var(--lime); background: var(--lime); color: var(--ink); }
.site-header-dark .header-cta span { color: var(--ink); }
.site-header-dark .header-cta:hover, .site-header-dark .header-cta:focus-visible { border-color: var(--lime); background: var(--lime); color: var(--ink); }

.hero { position: relative; overflow: hidden; padding-top: 112px; background: #eef1e9; }
.hero-glow { position: absolute; top: -235px; right: -170px; width: 720px; height: 720px; border-radius: 50%; background: radial-gradient(circle, rgba(205, 229, 167, .66) 0, rgba(205, 229, 167, .25) 38%, transparent 70%); pointer-events: none; }
.hero-layout { position: relative; display: grid; min-height: 620px; grid-template-columns: .85fr 1.15fr; gap: 4%; align-items: center; padding-block: 66px 53px; }
.hero-copy { position: relative; z-index: 1; padding-bottom: 10px; }
.eyebrow { display: flex; align-items: center; gap: 9px; margin: 0; color: #69746b; font-size: 9px; font-weight: 700; letter-spacing: .13em; line-height: 1.5; text-transform: uppercase; }
.eyebrow-dot { width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: #82b34a; }
.hero h1, .section-heading h2, .steps-intro h2, .faq-intro h2, .final-cta h2 { margin: 0; font-family: var(--font-display); font-size: clamp(48px, 6vw, 76px); font-weight: 600; letter-spacing: -.075em; line-height: 1.02; }
.hero h1 { max-width: 590px; margin-top: 24px; font-size: clamp(55px, 6.2vw, 82px); }
.hero h1 em, .section-heading h2 em, .steps-intro h2 em, .faq-intro h2 em { color: #699837; font-style: normal; }
.hero-description { max-width: 405px; margin: 22px 0 0; color: #626d65; font-size: 13px; line-height: 1.8; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-top: 27px; }
.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 20px; padding: 0 18px; border: 1px solid transparent; border-radius: 3px; font-size: 10px; font-weight: 700; transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease; }
.button:hover { transform: translateY(-2px); }
.button span { font-size: 16px; }
.button-dark { background: var(--deep); color: white; }
.button-dark:hover { background: #294534; }
.quiet-link { display: inline-flex; align-items: center; gap: 9px; color: #465149; font-size: 10px; font-weight: 700; }
.play-icon { display: grid; width: 26px; height: 26px; place-items: center; border: 1px solid rgba(29, 36, 32, .35); border-radius: 50%; font-size: 8px; }
.hero-proof { display: flex; align-items: center; gap: 13px; margin-top: 42px; }
.avatar-stack { display: flex; padding-left: 3px; }
.avatar-stack span { display: grid; width: 27px; height: 27px; place-items: center; margin-left: -4px; border: 2px solid #eef1e9; border-radius: 50%; background: #c1a28a; color: white; font-size: 9px; font-weight: 700; }
.avatar-stack span:nth-child(2) { background: #7a8b78; }.avatar-stack span:nth-child(3) { background: #b87d69; }.avatar-stack span:nth-child(4) { background: #667d89; }
.hero-proof p { margin: 0; color: #737b74; font-size: 9px; line-height: 1.65; }
.hero-proof strong { color: #38423b; font-size: 10px; }

.showcase-scene { position: relative; min-width: 0; min-height: 430px; padding: 43px 15px 37px 5px; }
.showcase-desktop { position: relative; z-index: 1; width: 100%; padding: 12px; border: 1px solid rgba(34, 46, 38, .11); border-radius: 10px; background: #fff; box-shadow: 0 30px 75px rgba(31, 50, 37, .19), 0 4px 12px rgba(31, 50, 37, .07); transform: rotate(-2deg); }
.showcase-site { overflow: hidden; background: #f5f3ec; }
.showcase-nav { display: flex; height: 43px; align-items: center; justify-content: space-between; gap: 10px; padding: 0 18px; color: #656a60; font-size: 7px; }
.showcase-logo { color: #26372e; font-family: var(--font-display); font-size: 14px; font-weight: 800; letter-spacing: -.05em; }.showcase-logo span { color: #88a65b; }
.showcase-nav b { color: #303830; font-size: 7px; }
.showcase-main { position: relative; display: grid; min-height: 265px; grid-template-columns: 1fr 1fr; align-items: center; }
.showcase-copy { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; padding: 24px 0 24px 8%; }
.showcase-copy > span { margin-bottom: 14px; color: #787b71; font-size: 6px; font-weight: 700; letter-spacing: .15em; }
.showcase-copy > strong { color: #293a30; font-family: var(--font-display); font-size: clamp(29px, 3.5vw, 44px); font-weight: 600; letter-spacing: -.08em; line-height: .98; }
.showcase-copy > strong i { color: #809f5a; font-weight: 500; }
.showcase-copy > p { margin: 12px 0 0; color: #74786f; font-size: 7px; line-height: 1.6; }
.showcase-copy > b { margin-top: 15px; padding-bottom: 4px; border-bottom: 1px solid #82966c; color: #303b31; font-size: 7px; }
.showcase-image { align-self: stretch; min-height: 265px; background: linear-gradient(145deg, rgba(236, 228, 210, .02), rgba(32, 48, 37, .08)), url("assets/portfolio-ceramics.svg") center/cover; }
.showcase-foot { display: flex; justify-content: space-between; gap: 8px; padding: 10px 13px 2px; color: #777970; font-size: 6px; }
.showcase-mobile { position: absolute; z-index: 2; right: -3px; bottom: 19px; width: 105px; overflow: hidden; padding: 5px; border: 3px solid #29362d; border-radius: 15px; background: #faf9f4; box-shadow: 0 15px 34px rgba(27, 41, 30, .26); transform: rotate(4deg); }
.mobile-status { display: flex; height: 13px; align-items: center; justify-content: space-between; padding: 0 5px; color: #27352c; font-size: 5px; font-weight: 700; }
.mobile-site-nav { display: flex; height: 23px; align-items: center; justify-content: space-between; padding: 0 5px; color: #28382d; font-size: 8px; font-weight: 800; }.mobile-site-nav > span > span { color: #88a65b; }.mobile-site-nav b { font-size: 9px; }
.mobile-site-image { height: 74px; background: url("assets/portfolio-ceramics.svg") center/cover; }
.mobile-site-copy { display: grid; gap: 6px; padding: 10px 6px 12px; }.mobile-site-copy small { color: #788074; font-size: 4px; letter-spacing: .1em; }.mobile-site-copy strong { color: #293a30; font-family: var(--font-display); font-size: 14px; letter-spacing: -.06em; line-height: 1; }.mobile-site-copy > span { margin-top: 3px; color: #465444; font-size: 5px; }
.showcase-note, .showcase-delivery { position: absolute; z-index: 3; display: flex; align-items: center; gap: 9px; padding: 11px 13px; border: 1px solid rgba(25, 41, 30, .07); border-radius: 6px; background: rgba(255, 255, 255, .97); box-shadow: 0 8px 24px rgba(36, 48, 38, .11); }
.showcase-note { top: 0; left: -10px; }.showcase-note > span:first-child { color: #769c49; font-size: 19px; }.showcase-note > span:last-child, .showcase-delivery > span:last-child { display: grid; gap: 3px; }.showcase-note strong, .showcase-delivery strong { color: #303a32; font-size: 8px; }.showcase-note small, .showcase-delivery small { color: #858b85; font-size: 7px; }
.showcase-delivery { right: -8px; bottom: 0; }.delivery-check { display: grid; width: 23px; height: 23px; place-items: center; border-radius: 50%; background: #e9f4de; color: #54803c; font-size: 11px; }
.hero-bottom { position: relative; display: flex; justify-content: space-between; padding: 0 0 19px; color: #758076; font-size: 8px; letter-spacing: .05em; text-transform: uppercase; }.hero-bottom b { padding-left: 7px; color: #5e8a37; }

.trust-strip { background: #fff; }.trust-inner { display: flex; min-height: 108px; align-items: center; justify-content: space-between; gap: 30px; }.trust-inner > p { margin: 0; color: #80867e; font-size: 10px; line-height: 1.6; }.trust-inner > p strong { color: #354038; font-size: 12px; }.trust-types { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px 34px; color: #626b63; font-size: 10px; font-weight: 600; }
.section-pad { padding: 106px 0; }.eyebrow-dark { color: #69736b; }.eyebrow-dark .eyebrow-dot { background: #77a633; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 45px; margin-bottom: 49px; }.section-heading h2 { margin-top: 20px; font-size: clamp(44px, 5.5vw, 68px); }.section-intro { max-width: 330px; margin: 0 0 4px; color: #747b74; font-size: 12px; line-height: 1.8; }
.feature-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 52px 24px; }.feature-card { min-width: 0; }.feature-visual { position: relative; height: 265px; overflow: hidden; background: #e9ebe4; }.feature-card-main .feature-visual { background: #e5eadf; }
.feature-copy { padding: 17px 3px 0; }.feature-number { color: #778171; font-size: 8px; font-weight: 700; letter-spacing: .12em; }.feature-copy h3 { margin: 10px 0 8px; font-family: var(--font-display); font-size: 23px; font-weight: 600; letter-spacing: -.055em; line-height: 1.2; }.feature-copy p { max-width: 420px; margin: 0; color: #727a72; font-size: 11px; line-height: 1.8; }
.visual-canvas { display: grid; place-items: center; }.mini-page { position: relative; width: 72%; height: 210px; overflow: hidden; background: #f8f7f1; box-shadow: 0 12px 32px rgba(50, 65, 50, .12); }.mini-nav { display: flex; height: 34px; align-items: center; gap: 9px; padding: 0 12px; color: #788076; font-size: 5px; }.mini-nav b { margin-right: auto; color: #36443a; font-size: 8px; }.mini-nav b span { color: #8ca557; }.mini-nav i { width: 24px; height: 2px; background: #ccd0c8; }.mini-nav button { width: 37px; height: 13px; border: 0; border-radius: 2px; background: #526c42; }.mini-content { position: relative; z-index: 1; padding: 25px 0 0 22px; }.mini-content small { color: #75806f; font-size: 5px; letter-spacing: .1em; }.mini-content strong { display: block; margin-top: 9px; color: #29392e; font-family: var(--font-display); font-size: 25px; font-weight: 600; letter-spacing: -.07em; line-height: 1; }.mini-content em { color: #789754; font-style: normal; }.mini-content div { width: 52px; height: 13px; margin-top: 12px; background: #d1e2af; }.mini-photo { position: absolute; top: 39px; right: 0; bottom: 0; width: 40%; background: url("assets/portfolio-lodge.svg") center/cover; }.visual-tag { position: absolute; right: 15px; bottom: 13px; padding: 7px 9px; border: 1px solid rgba(38, 52, 40, .12); border-radius: 2px; background: white; color: #515b51; font-size: 7px; }
.visual-templates { display: flex; align-items: center; justify-content: center; gap: 13px; background: #f1eee8; }.template-card { position: relative; display: flex; width: 26%; height: 175px; flex-direction: column; justify-content: space-between; overflow: hidden; padding: 11px 9px; box-shadow: 0 8px 18px rgba(44, 45, 35, .12); }.template-card span { position: relative; z-index: 1; font-family: var(--font-display); font-size: 7px; font-weight: 800; letter-spacing: .08em; }.template-card b { position: relative; z-index: 1; font-family: var(--font-display); font-size: 15px; font-weight: 600; letter-spacing: -.06em; line-height: 1; }.template-card i { position: absolute; inset: 0; background-position: center; background-size: cover; opacity: .72; }.template-one { background: #dfc9ae; color: #fff; transform: rotate(-7deg) translateY(6px); }.template-one i { background-image: linear-gradient(0deg, rgba(39, 40, 30, .45), transparent 75%), url("assets/portfolio-ceramics.svg"); }.template-two { z-index: 1; background: #b6c2a4; color: white; transform: translateY(-8px); }.template-two i { background-image: linear-gradient(0deg, rgba(36, 46, 33, .48), transparent 75%), url("assets/portfolio-travel.svg"); }.template-three { background: #ddc9bc; color: white; transform: rotate(7deg) translateY(7px); }.template-three i { background-image: linear-gradient(0deg, rgba(54, 43, 37, .5), transparent 75%), url("assets/portfolio-wellness.svg"); }.template-count { position: absolute; right: 13px; bottom: 10px; color: #81847b; font-size: 7px; }
.visual-devices { display: flex; align-items: center; justify-content: center; gap: 17px; background: #e7e9e1; }.device-desktop { position: relative; width: 54%; height: 160px; padding: 8px; border: 5px solid #29362d; border-radius: 6px; background: #f9f8f3; box-shadow: 0 13px 25px rgba(39, 54, 41, .15); }.device-desktop::after { position: absolute; right: 25%; bottom: -14px; left: 25%; height: 8px; border-radius: 0 0 3px 3px; background: #526052; content: ""; }.device-desktop div { height: 100%; background: linear-gradient(90deg, transparent 50%, rgba(31, 48, 37, .05) 50%), url("assets/portfolio-architecture.svg") center/cover; }.device-desktop span { position: absolute; top: 27px; left: 19px; width: 34%; height: 5px; background: #f7f6f0; }.device-desktop span:nth-of-type(2) { top: 39px; width: 24%; }.device-desktop i { position: absolute; top: 55px; left: 19px; width: 23%; height: 17px; background: #d0e1b0; }.device-phone { position: relative; width: 64px; height: 126px; padding: 5px; border: 3px solid #29362d; border-radius: 10px; background: #faf9f4; box-shadow: 0 8px 18px rgba(39, 54, 41, .18); }.device-phone div { height: 50%; background: url("assets/portfolio-architecture.svg") center/cover; }.device-phone span { display: block; width: 75%; height: 4px; margin: 7px 0 0 4px; background: #556553; }.device-phone span:nth-of-type(2) { width: 55%; margin-top: 4px; background: #c3c8bd; }.device-phone i { display: block; width: 35px; height: 11px; margin: 7px 0 0 4px; background: #d0e1b0; }.responsive-badge { position: absolute; right: 14px; bottom: 13px; padding: 7px 9px; border: 1px solid rgba(38, 52, 40, .12); background: white; color: #526052; font-size: 7px; line-height: 1.4; }
.visual-launch { display: grid; place-items: center; background: #e6eee0; }.launch-orbit { position: absolute; width: 190px; height: 190px; border: 1px solid rgba(69, 100, 56, .25); border-radius: 50%; }.launch-orbit::before, .launch-orbit::after { position: absolute; inset: 17px -13px; border: 1px solid rgba(69, 100, 56, .2); border-radius: 50%; content: ""; transform: rotate(55deg); }.launch-orbit::after { transform: rotate(-55deg); }.launch-globe { position: relative; z-index: 1; display: grid; width: 70px; height: 70px; place-items: center; border-radius: 50%; background: #829e68; box-shadow: 0 0 0 13px rgba(130, 158, 104, .11), 0 0 0 26px rgba(130, 158, 104, .07); color: white; font-size: 24px; }.launch-tag, .launch-url { position: absolute; z-index: 1; padding: 7px 9px; border: 1px solid rgba(38, 52, 40, .12); border-radius: 2px; background: white; color: #59635a; font-size: 7px; }.launch-tag { top: 32px; left: 21%; }.launch-url { right: 17%; bottom: 34px; }

.templates-section { background: var(--deep); color: white; }.templates-heading { align-items: flex-end; }.templates-heading h2 { color: white; }.templates-heading h2 em { color: var(--lime); }.button-outline { border-color: rgba(255, 255, 255, .4); color: white; }.button-outline:hover { border-color: var(--lime); background: var(--lime); color: var(--ink); }
.template-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }.gallery-card { min-width: 0; }.gallery-preview { position: relative; display: flex; aspect-ratio: 1.08 / 1; flex-direction: column; overflow: hidden; padding: 17px; background: #63766d; color: #fff; }.gallery-preview > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }.gallery-preview::after { position: absolute; z-index: 1; inset: 25% 0 0; background: linear-gradient(0deg, rgba(15, 20, 15, .64), transparent 78%); content: ""; pointer-events: none; }.gallery-preview > :not(img)::selection { background: var(--lime); color: var(--ink); }.gallery-fashion { background-color: #a6a27c; color: #fff; }.gallery-portfolio { background-color: #8c9277; color: #fff; }.gallery-service { background-color: #9a806d; color: #fff; }
.gallery-nav { position: relative; z-index: 1; display: flex; justify-content: space-between; font-family: var(--font-display); font-size: 7px; font-weight: 800; letter-spacing: .06em; }.gallery-nav span { font-family: var(--font-body); font-size: 5px; font-weight: 600; letter-spacing: .04em; }.gallery-title { position: relative; z-index: 1; margin: auto 0 8px; font-family: var(--font-display); font-size: clamp(28px, 4vw, 48px); font-weight: 600; letter-spacing: -.08em; line-height: .95; }.gallery-title i { font-weight: 400; }.gallery-label { position: absolute; z-index: 1; right: 16px; bottom: 16px; font-size: 7px; }.gallery-meta { display: flex; justify-content: space-between; padding-top: 13px; }.gallery-meta h3 { margin: 0 0 4px; font-family: var(--font-display); font-size: 13px; }.gallery-meta p { margin: 0; color: rgba(255, 255, 255, .55); font-size: 9px; }.gallery-meta > span { color: var(--lime); font-size: 15px; }.gallery-note { margin: 23px 0 0; color: rgba(255, 255, 255, .55); font-size: 9px; text-align: center; }

.steps-section { background: #fff; }.steps-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 10%; }.steps-intro h2, .faq-intro h2 { margin-top: 20px; font-size: clamp(45px, 5.2vw, 65px); }.steps-intro > p:not(.eyebrow), .faq-intro > p:not(.eyebrow) { max-width: 330px; margin: 20px 0 0; color: #717971; font-size: 11px; line-height: 1.8; }.steps-intro .text-link, .faq-intro .text-link { margin-top: 25px; }.text-link { display: inline-flex; align-items: center; gap: 17px; padding-bottom: 6px; border-bottom: 1px solid currentColor; font-size: 10px; font-weight: 700; }.text-link span { font-size: 15px; }
.steps-list { border-top: 1px solid var(--line); }.step-item { display: grid; grid-template-columns: 39px 1fr 25px; gap: 14px; align-items: start; padding: 23px 0; border-bottom: 1px solid var(--line); }.step-index { padding-top: 5px; color: #7ba448; font-size: 9px; font-weight: 700; letter-spacing: .08em; }.step-item h3 { margin: 0 0 7px; font-family: var(--font-display); font-size: 18px; font-weight: 700; letter-spacing: -.04em; }.step-item p { max-width: 450px; margin: 0; color: #757d75; font-size: 10px; line-height: 1.75; }.step-symbol { color: #78964f; font-size: 18px; }

.testimonial-section { background: #e8eddf; }.testimonial-content { max-width: 840px; padding-block: 77px 80px; text-align: center; }.testimonial-content .eyebrow { justify-content: center; }.quote-mark { display: block; height: 55px; margin-top: 12px; color: #86a95a; font-family: Georgia, serif; font-size: 83px; line-height: 1; }.testimonial-content blockquote { max-width: 780px; margin: 10px auto 25px; font-family: var(--font-display); font-size: clamp(25px, 3.4vw, 40px); font-weight: 500; letter-spacing: -.055em; line-height: 1.3; }.quote-author { display: inline-flex; align-items: center; gap: 9px; text-align: left; }.author-avatar { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 50%; background: #bd927c; color: white; font-size: 11px; font-weight: 700; }.quote-author > span:last-child { display: grid; gap: 3px; }.quote-author strong { font-size: 9px; }.quote-author small { color: #737c73; font-size: 8px; }

.pricing-section { background: #f7f8f4; }.pricing-heading { max-width: 600px; margin: 0 auto 42px; text-align: center; }.pricing-heading .eyebrow { justify-content: center; }.pricing-heading h2 { margin: 20px 0 12px; font-family: var(--font-display); font-size: clamp(42px, 5vw, 62px); font-weight: 600; letter-spacing: -.07em; line-height: 1.03; }.pricing-heading h2 em { color: #699837; font-style: normal; }.pricing-heading > p:last-child { margin: 0; color: #737a73; font-size: 11px; line-height: 1.7; }
.pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; align-items: stretch; }.price-card { position: relative; padding: 25px 23px 22px; border: 1px solid rgba(29, 36, 32, .16); border-radius: 4px; background: white; }.price-card-featured { border: 1px solid #324638; background: #edf2e8; }.popular-tag { position: absolute; top: -12px; right: 15px; padding: 6px 9px; border-radius: 2px; background: var(--lime); color: #29372b; font-size: 7px; font-weight: 700; }.plan-label { color: #737d73; font-size: 8px; font-weight: 600; }.price-card h3 { margin: 9px 0 7px; font-family: var(--font-display); font-size: 20px; letter-spacing: -.05em; }.plan-description { min-height: 33px; margin: 0; color: #737a73; font-size: 9px; line-height: 1.6; }.plan-price { display: flex; min-height: 62px; flex-direction: column; justify-content: center; gap: 1px; margin: 14px 0 10px; }.plan-price strong { font-family: var(--font-display); font-size: 21px; font-weight: 700; letter-spacing: -.04em; }.plan-price span { color: #778076; font-size: 8px; }.plan-button { display: flex; min-height: 39px; align-items: center; justify-content: space-between; padding: 0 12px; border: 1px solid #334638; border-radius: 2px; font-size: 9px; font-weight: 700; }.plan-button span { font-size: 14px; }.plan-button-light { color: #2c3c30; }.plan-button-light:hover { background: #eef2e9; }.plan-button-dark { background: #20362a; color: white; }.plan-button-dark:hover { background: #36533e; }.price-card ul { display: grid; gap: 11px; margin: 20px 0 0; padding: 0; list-style: none; }.price-card li { position: relative; padding-left: 17px; color: #606a61; font-size: 9px; }.price-card li::before { position: absolute; left: 0; color: #759a4b; content: "✓"; }.pricing-note { margin: 21px 0 0; color: #7a817a; font-size: 9px; text-align: center; }.pricing-note a { color: #496d35; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

.faq-section { background: #e9ece5; }.faq-layout { display: grid; grid-template-columns: .65fr 1.35fr; gap: 11%; }.faq-intro > p:not(.eyebrow) { max-width: 230px; }.faq-list { border-top: 1px solid var(--line); }.faq-list details { border-bottom: 1px solid var(--line); }.faq-list summary { display: flex; min-height: 60px; align-items: center; justify-content: space-between; gap: 16px; cursor: pointer; font-family: var(--font-display); font-size: 13px; font-weight: 700; letter-spacing: -.025em; list-style: none; }.faq-list summary::-webkit-details-marker { display: none; }.faq-list summary span { color: #6d9145; font-size: 18px; font-weight: 400; transition: transform .2s ease; }.faq-list details[open] summary span { transform: rotate(45deg); }.faq-list details p { max-width: 590px; margin: -2px 28px 18px 0; color: #6f786f; font-size: 10px; line-height: 1.8; }

.final-cta { overflow: hidden; background: var(--deep); color: white; }.final-cta-inner { display: grid; min-height: 395px; grid-template-columns: 1fr .7fr; gap: 10%; align-items: center; padding-block: 75px; }.final-cta .eyebrow { color: rgba(255, 255, 255, .65); }.final-cta h2 { margin-top: 23px; font-size: clamp(55px, 7vw, 83px); }.final-cta h2 em { color: var(--lime); font-style: normal; }.final-cta-side p { max-width: 350px; margin: 0; color: rgba(255, 255, 255, .68); font-size: 12px; line-height: 1.8; }.button-lime { margin-top: 21px; background: var(--lime); color: var(--ink); }.button-lime:hover { background: #e1ff9a; }.final-email { display: block; margin-top: 14px; color: rgba(255, 255, 255, .6); font-size: 9px; }

.site-footer { background: #101a14; color: white; }.footer-top { display: grid; min-height: 133px; grid-template-columns: 1fr .8fr 1.2fr; align-items: center; border-bottom: 1px solid rgba(255, 255, 255, .16); }.brand-footer .brand-mark { border-color: rgba(255, 255, 255, .5); }.footer-top > p { margin: 0; color: rgba(255, 255, 255, .55); font-size: 9px; line-height: 1.7; }.footer-links { display: flex; justify-content: flex-end; gap: 21px; }.footer-links a, .footer-bottom { color: rgba(255, 255, 255, .65); font-size: 8px; }.footer-links a:hover, .footer-bottom a:hover { color: var(--lime); }.footer-links span { color: var(--lime); }.footer-bottom { display: flex; min-height: 55px; align-items: center; justify-content: space-between; gap: 18px; }

.site-nav a[aria-current="page"] { color: #5e8736; }
.inner-hero { position: relative; overflow: hidden; padding: 166px 0 86px; background: #eef1e9; }
.inner-hero::after { position: absolute; top: -270px; right: -110px; width: 650px; height: 650px; border-radius: 50%; background: radial-gradient(circle, rgba(205, 229, 167, .54), transparent 68%); content: ""; pointer-events: none; }
.inner-hero-content { position: relative; z-index: 1; }
.inner-hero h1 { max-width: 900px; margin: 25px 0 18px; font-family: var(--font-display); font-size: clamp(58px, 8vw, 98px); font-weight: 600; letter-spacing: -.08em; line-height: .98; }
.inner-hero h1 em { color: #699837; font-style: normal; }
.inner-hero-content > p:not(.eyebrow) { max-width: 590px; margin: 0 0 24px; color: #657067; font-size: 14px; line-height: 1.8; }
.inner-hero-dark { background: var(--deep); color: white; }
.inner-hero-dark::after { background: radial-gradient(circle, rgba(115, 150, 87, .28), transparent 68%); }
.inner-hero-dark .eyebrow { color: rgba(255, 255, 255, .68); }
.inner-hero-dark h1 em { color: var(--lime); }
.inner-hero-dark .inner-hero-content > p:not(.eyebrow) { color: rgba(255, 255, 255, .68); }
.service-detail-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.service-detail { min-height: 210px; padding: 27px 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.service-detail > span, .work-project-meta > div > span { color: #78934d; font-size: 8px; font-weight: 700; letter-spacing: .11em; }
.service-detail h3, .audience-grid h3 { margin: 22px 0 8px; font-family: var(--font-display); font-size: 22px; font-weight: 600; letter-spacing: -.045em; }
.service-detail p, .audience-grid p { max-width: 410px; margin: 0; color: #6f786f; font-size: 11px; line-height: 1.8; }
.service-callout { background: var(--deep); color: white; }
.service-callout-inner { display: grid; min-height: 320px; grid-template-columns: 1fr .7fr; gap: 10%; align-items: center; padding-block: 60px; }
.service-callout .eyebrow { color: rgba(255, 255, 255, .65); }
.service-callout h2, .page-cta h2 { margin: 20px 0 0; font-family: var(--font-display); font-size: clamp(42px, 5.5vw, 66px); font-weight: 600; letter-spacing: -.07em; line-height: 1.03; }
.service-callout-inner > div:last-child > p { max-width: 410px; margin: 0; color: rgba(255, 255, 255, .65); font-size: 12px; line-height: 1.8; }
.service-callout h2 em, .page-cta h2 em { color: var(--lime); font-style: normal; }
.audience-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.audience-grid article { padding-top: 20px; border-top: 1px solid var(--line); }
.audience-grid article > span { color: #7c9f55; font-size: 9px; font-weight: 700; }
.audience-grid h3 { margin-top: 16px; font-size: 17px; }
.page-cta { padding: 76px 0; background: #dcebbf; }
.page-cta h2 { margin: 17px 0 22px; font-size: clamp(48px, 6.5vw, 78px); }
.page-cta h2 em { color: #608b34; }
.page-cta .eyebrow { color: #64715c; }
.page-cta .eyebrow-dot { background: #6a963c; }
.work-page-section { background: var(--paper); }
.work-page-intro { max-width: 670px; margin-bottom: 44px; }
.work-page-intro h2, .package-details h2 { margin: 18px 0 13px; font-family: var(--font-display); font-size: clamp(42px, 5.2vw, 62px); font-weight: 600; letter-spacing: -.07em; line-height: 1.04; }
.work-page-intro h2 em, .package-details h2 em { color: #699837; font-style: normal; }
.work-page-intro > p:last-child, .package-details-layout > div:first-child > p:not(.eyebrow) { max-width: 550px; margin: 0; color: #727a72; font-size: 12px; line-height: 1.8; }
.work-page-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 42px 24px; }
.work-project { min-width: 0; }
.work-project .gallery-preview { aspect-ratio: 1.24 / 1; }
.work-project-meta { display: flex; justify-content: space-between; gap: 15px; padding-top: 14px; }
.work-project-meta h3 { margin: 7px 0 5px; font-family: var(--font-display); font-size: 18px; letter-spacing: -.04em; }
.work-project-meta p { margin: 0; color: #737a73; font-size: 10px; }
.work-project-meta > a { color: #678d3e; font-size: 19px; }
.concept-disclaimer { margin: 34px 0 0; padding: 14px 16px; border-left: 2px solid #91ae6b; background: #edf0e8; color: #667067; font-size: 9px; line-height: 1.7; }
.gallery-food { background-color: #754b37; color: #fff; }
.gallery-food::after { background: linear-gradient(0deg, rgba(26, 18, 13, .72), transparent 76%); }
.gallery-food .gallery-title { max-width: 350px; font-size: clamp(30px, 4.3vw, 51px); }
.gallery-hospitality { background-color: #596c5f; color: #fff; }
.gallery-hospitality .gallery-title { max-width: 290px; font-size: clamp(30px, 4.1vw, 47px); }
.gallery-interiors { background-color: #9a9284; color: #fff; }
.gallery-interiors .gallery-title { max-width: 330px; font-size: clamp(29px, 3.8vw, 44px); }
.gallery-wellness { background-color: #9ea992; color: #fff; }
.gallery-wellness .gallery-title { max-width: 340px; font-size: clamp(30px, 4.2vw, 48px); }
.gallery-outdoors { background-color: #586b4c; color: #fff; }
.gallery-outdoors .gallery-title { max-width: 300px; font-size: clamp(30px, 4.2vw, 48px); }
.gallery-lodge { background-color: #63766d; }
.gallery-ceramics { background-color: #8f7962; }
.gallery-cafe { background-color: #785741; }
.gallery-architecture { background-color: #788176; }
.gallery-pets { background-color: #82947f; }
.gallery-finance { background-color: #1d3a37; }
.gallery-events { background-color: #554c3b; }
.gallery-preview > .gallery-nav, .gallery-preview > .gallery-title, .gallery-preview > .gallery-label { z-index: 2; }
.gallery-preview > .gallery-title { margin-top: auto; }
.gallery-preview > .gallery-title em { font-style: italic; }
.process-detail-section { background: #fff; }
.process-timeline { max-width: 900px; margin: 0 auto; }
.process-stage { display: grid; grid-template-columns: 48px 1fr 70px; gap: 22px; align-items: start; padding: 35px 0; border-bottom: 1px solid var(--line); }
.process-stage:first-child { border-top: 1px solid var(--line); }
.process-stage-number { padding-top: 4px; color: #719746; font-size: 10px; font-weight: 700; }
.process-stage h2 { margin: 10px 0; font-family: var(--font-display); font-size: clamp(24px, 3vw, 34px); font-weight: 600; letter-spacing: -.05em; }
.process-stage > div > p:not(.eyebrow) { max-width: 620px; margin: 0; color: #6f786f; font-size: 11px; line-height: 1.8; }
.process-stage ul { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 17px 0 0; padding: 0; list-style: none; }
.process-stage li { color: #58675a; font-size: 9px; }
.process-stage li::before { margin-right: 7px; color: #779b4c; content: "✓"; }
.process-stage-mark { display: grid; width: 54px; height: 54px; place-items: center; border-radius: 50%; background: #edf2e6; color: #719746; font-family: var(--font-display); font-size: 15px; font-weight: 700; }
.process-note { background: #e9ece5; }
.process-note > .page-width { display: grid; min-height: 180px; grid-template-columns: 42px 1fr auto; gap: 20px; align-items: center; }
.process-note-symbol { color: #75954d; font-size: 28px; }
.process-note h2 { margin: 0 0 7px; font-family: var(--font-display); font-size: 19px; letter-spacing: -.03em; }
.process-note p { max-width: 600px; margin: 0; color: #6b756c; font-size: 10px; line-height: 1.7; }
.process-note .text-link { white-space: nowrap; }
.packages-page-pricing { padding-top: 70px; }
.packages-page-pricing .pricing-grid { max-width: 1050px; margin: 0 auto; }
.packages-page-pricing .pricing-note { max-width: 780px; margin-inline: auto; line-height: 1.7; }
.package-details { background: #fff; }
.package-details-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 10%; align-items: center; }
.package-details h2 { margin-block: 18px; }
.package-details-layout > div:first-child > p:not(.eyebrow) { margin-bottom: 19px; }
.quote-includes { border-top: 1px solid var(--line); }
.quote-includes article { display: grid; grid-template-columns: 37px 1fr; gap: 12px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.quote-includes article > span { color: #78974e; font-size: 9px; font-weight: 700; }
.quote-includes h3 { margin: 0 0 5px; font-family: var(--font-display); font-size: 14px; letter-spacing: -.03em; }
.quote-includes p { margin: 0; color: #717970; font-size: 10px; }
.faq-page-section { background: #fff; }
.faq-page-section .faq-layout { max-width: 1060px; }
.contact-page-hero { padding: 155px 0 90px; background: var(--deep); color: white; }
.contact-page-layout { display: grid; grid-template-columns: 1fr .8fr; gap: 10%; align-items: center; }
.contact-page-copy .eyebrow { color: rgba(255, 255, 255, .65); }
.contact-page-copy h1 { margin: 24px 0 17px; font-family: var(--font-display); font-size: clamp(57px, 7vw, 86px); font-weight: 600; letter-spacing: -.08em; line-height: .99; }
.contact-page-copy h1 em { color: var(--lime); font-style: normal; }
.contact-page-copy > p:not(.eyebrow) { max-width: 430px; margin: 0; color: rgba(255, 255, 255, .67); font-size: 12px; line-height: 1.8; }
.contact-email-large { display: inline-flex; align-items: center; gap: 13px; margin-top: 28px; padding-bottom: 7px; border-bottom: 1px solid rgba(255, 255, 255, .4); font-family: var(--font-display); font-size: clamp(17px, 2vw, 22px); font-weight: 600; }
.contact-email-large span { color: var(--lime); }
.contact-page-copy .reply-note { margin-top: 10px !important; font-size: 9px !important; }
.contact-brief-card { padding: 30px; border-radius: 5px; background: #f7f8f4; color: var(--ink); }
.contact-brief-card h2 { margin: 16px 0 8px; font-family: var(--font-display); font-size: 24px; letter-spacing: -.05em; }
.contact-brief-card > p:not(.eyebrow) { margin: 0; color: #707970; font-size: 10px; }
.contact-brief-card ul { display: grid; gap: 15px; margin: 22px 0; padding: 18px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); list-style: none; }
.contact-brief-card li { display: flex; gap: 12px; align-items: baseline; color: #455047; font-size: 10px; }
.contact-brief-card li span { color: #78974e; font-size: 8px; font-weight: 700; }
.contact-brief-card .button { width: 100%; }
.contact-brief-card > small { display: block; margin-top: 11px; color: #7a817a; font-size: 8px; line-height: 1.6; }
.contact-expectations { background: #fff; }
.contact-expectations > .page-width { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; padding-block: 42px; }
.contact-expectations article { padding-top: 17px; border-top: 1px solid var(--line); }
.contact-expectations article > span { color: #76984a; font-size: 9px; font-weight: 700; }
.contact-expectations h3 { margin: 12px 0 6px; font-family: var(--font-display); font-size: 14px; letter-spacing: -.03em; }
.contact-expectations p { margin: 0; color: #737b73; font-size: 9px; line-height: 1.7; }
.legal-hero { padding-bottom: 67px; }
.legal-hero h1 { font-size: clamp(56px, 7vw, 82px); }
.legal-updated { display: inline-block; margin-top: 20px; color: #70796f; font-size: 9px; letter-spacing: .04em; }
.legal-layout { display: grid; grid-template-columns: 205px minmax(0, 760px); gap: clamp(40px, 8vw, 100px); align-items: start; justify-content: space-between; }
.legal-section { background: #fff; }
.legal-aside { position: sticky; top: 30px; display: grid; gap: 13px; padding: 18px 0; border-top: 1px solid var(--line); }
.legal-aside > span { margin-bottom: 5px; color: #80877f; font-size: 8px; font-weight: 700; letter-spacing: .12em; }
.legal-aside a { color: #626c63; font-size: 10px; }
.legal-aside a:hover, .legal-aside a[aria-current="page"] { color: #6e963e; }
.legal-copy { min-width: 0; }
.legal-copy .legal-lead { margin: 0 0 30px; color: #425046; font-family: var(--font-display); font-size: 17px; font-weight: 500; letter-spacing: -.025em; line-height: 1.7; }
.legal-copy h2 { margin: 30px 0 9px; font-family: var(--font-display); font-size: 17px; font-weight: 700; letter-spacing: -.035em; }
.legal-copy p, .legal-copy li { color: #687168; font-size: 11px; line-height: 1.9; }
.legal-copy p { margin: 0 0 13px; }
.legal-copy ul { display: grid; gap: 10px; margin: 12px 0 17px; padding-left: 20px; }
.legal-copy a { color: #547a37; text-decoration: underline; text-underline-offset: 3px; }
.legal-copy .legal-note { margin-top: 33px; padding: 15px 17px; border-left: 2px solid #91ae6b; background: #f0f3eb; color: #626e63; font-size: 9px; line-height: 1.8; }
.footer-legal { display: flex; align-items: center; gap: 13px; }
.footer-legal a { color: rgba(255, 255, 255, .65); font-size: 8px; white-space: nowrap; }
.footer-legal a:hover, .footer-legal a[aria-current="page"] { color: var(--lime); }

:focus-visible { outline: 2px solid #719c35; outline-offset: 4px; }

@media (max-width: 900px) {
  .page-width { width: min(100% - 64px, 760px); }
  .site-header { width: calc(100% - 48px); gap: 14px; padding-inline: 16px; }
  .site-nav { gap: 4px; }
  .site-nav a { font-size: 10px; }
  .header-cta { min-height: 38px; gap: 10px; padding-inline: 11px; font-size: 10px; }
  .hero { padding-top: 104px; }
  .hero-layout { min-height: 600px; grid-template-columns: .9fr 1.1fr; gap: 2%; }
  .hero h1 { font-size: clamp(52px, 7vw, 67px); }
  .hero-description { font-size: 11px; }
  .hero-actions { gap: 14px; }
  .button { gap: 12px; padding-inline: 13px; font-size: 9px; }
  .showcase-scene { min-height: 395px; }.showcase-main, .showcase-image { min-height: 235px; }
  .section-pad { padding-block: 85px; }.feature-visual { height: 230px; }.mini-page { height: 180px; }.mini-content strong { font-size: 22px; }
  .steps-layout, .faq-layout { gap: 7%; }.footer-links { gap: 13px; }
  .inner-hero { padding: 145px 0 72px; }.service-callout-inner { gap: 7%; }.contact-page-layout { gap: 6%; }.contact-brief-card { padding: 23px; }
  .legal-layout { grid-template-columns: 160px minmax(0, 1fr); gap: 35px; }
}
@media (max-width: 680px) {
  html { scroll-padding-top: 70px; }
  .page-width { width: calc(100% - 40px); }
  .site-header { top: 10px; left: 12px; width: calc(100% - 24px); min-height: 64px; grid-template-columns: 1fr auto; gap: 12px; padding-inline: 12px; transform: none; border-radius: 7px; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .brand { gap: 10px; }.brand-mark { width: 36px; height: 36px; flex-basis: 36px; border-radius: 7px; font-size: 17px; }.brand-mark::after { right: -3px; bottom: -3px; width: 10px; height: 10px; }.brand-mark > span { right: 6px; bottom: 5px; font-size: 9px; }.brand-name { font-size: 14px; }.brand-name > span { font-size: 6px; }
  .header-cta { display: none; }
  .menu-toggle { position: relative; z-index: 7; display: flex; width: 40px; height: 40px; flex-direction: column; align-items: center; justify-content: center; gap: 6px; border: 1px solid rgba(29, 36, 32, .4); border-radius: 50%; background: transparent; cursor: pointer; }
  .menu-toggle span { width: 15px; height: 1px; background: var(--ink); transition: transform .2s ease; }.menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }.menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .site-header-dark .menu-toggle { border-color: rgba(255, 255, 255, .6); }.site-header-dark .menu-toggle span { background: #fff; }.site-header-dark .site-nav { background: var(--deep); }.site-header-dark .site-nav a { color: #fff; border-color: rgba(255, 255, 255, .18); }
  .site-nav { position: fixed; z-index: 6; inset: 0; display: flex; min-height: 100svh; flex-direction: column; align-items: stretch; justify-content: center; justify-self: stretch; gap: 0; padding: 80px 28px 35px; border: 0; border-radius: 0; background: var(--paper); box-shadow: 0 18px 40px rgba(22, 37, 30, .12); opacity: 0; pointer-events: none; transform: translateY(-10px); transition: opacity .2s ease, transform .2s ease; }.site-nav.is-open { opacity: 1; pointer-events: auto; transform: translateY(0); }.site-nav a { padding: 16px 0; border-bottom: 1px solid var(--line); color: var(--ink); font-family: var(--font-display); font-size: 25px; font-weight: 600; letter-spacing: -.04em; }
  .hero { padding-top: 86px; }.hero-layout { min-height: auto; grid-template-columns: 1fr; gap: 25px; padding-block: 49px 23px; }.hero-copy { padding-bottom: 0; }.hero h1 { max-width: 530px; margin-top: 19px; font-size: clamp(49px, 13vw, 68px); }.hero-description { max-width: 390px; margin-top: 15px; font-size: 11px; }.hero-actions { gap: 17px; margin-top: 20px; }.button { min-height: 44px; }.hero-proof { margin-top: 23px; }.hero-proof p { font-size: 8px; }.hero-proof strong { font-size: 9px; }
  .showcase-scene { min-height: 330px; padding: 35px 0 28px; }.showcase-desktop { padding: 7px; border-radius: 7px; }.showcase-nav { height: 31px; padding-inline: 10px; font-size: 5px; }.showcase-logo { font-size: 11px; }.showcase-nav b { font-size: 5px; }.showcase-main, .showcase-image { min-height: 185px; }.showcase-copy { padding-block: 16px; }.showcase-copy > span { margin-bottom: 10px; font-size: 4px; }.showcase-copy > strong { font-size: clamp(24px, 7vw, 35px); }.showcase-copy > p { margin-top: 8px; font-size: 5px; }.showcase-copy > b { margin-top: 9px; font-size: 5px; }.showcase-foot { padding: 7px 8px 1px; font-size: 4px; }.showcase-mobile { right: 1px; bottom: 12px; width: 84px; border-width: 2px; border-radius: 12px; }.mobile-status { height: 10px; font-size: 4px; }.mobile-site-nav { height: 19px; font-size: 7px; }.mobile-site-image { height: 57px; }.mobile-site-copy { gap: 5px; padding: 7px 5px 9px; }.mobile-site-copy small { font-size: 3px; }.mobile-site-copy strong { font-size: 11px; }.mobile-site-copy > span { font-size: 4px; }.showcase-note, .showcase-delivery { gap: 6px; padding: 8px; }.showcase-note { left: -2px; }.showcase-delivery { right: 0; }.showcase-note strong, .showcase-delivery strong { font-size: 6px; }.showcase-note small, .showcase-delivery small { font-size: 5px; }.showcase-note > span:first-child { font-size: 14px; }.delivery-check { width: 18px; height: 18px; font-size: 9px; }.hero-bottom { padding-bottom: 15px; font-size: 7px; }
  .trust-inner { min-height: 105px; align-items: flex-start; flex-direction: column; justify-content: center; gap: 13px; padding-block: 18px; }.trust-inner > p br { display: none; }.trust-inner > p { font-size: 8px; }.trust-inner > p strong { font-size: 10px; }.trust-types { justify-content: flex-start; gap: 8px 16px; font-size: 8px; }
  .section-pad { padding-block: 70px; }.section-heading { align-items: flex-start; flex-direction: column; gap: 17px; margin-bottom: 32px; }.section-heading h2 { margin-top: 16px; font-size: clamp(40px, 10vw, 56px); }.section-intro { max-width: 400px; font-size: 10px; }
  .feature-grid { grid-template-columns: 1fr; gap: 35px; }.feature-visual { height: 240px; }.feature-copy { padding-top: 13px; }.feature-copy h3 { font-size: 21px; }.feature-copy p { font-size: 10px; }.mini-page { width: 78%; height: 190px; }.mini-content strong { font-size: 22px; }
  .templates-heading { gap: 21px; }.templates-heading .button { min-height: 42px; }.template-gallery { grid-template-columns: 1fr; gap: 25px; }.gallery-preview { aspect-ratio: 1.18 / 1; padding: 15px; }.gallery-title { font-size: clamp(36px, 10vw, 49px); }.gallery-note { font-size: 8px; line-height: 1.6; }
  .steps-layout, .faq-layout { grid-template-columns: 1fr; gap: 34px; }.steps-intro h2, .faq-intro h2 { font-size: 48px; }.steps-intro > p:not(.eyebrow), .faq-intro > p:not(.eyebrow) { margin-top: 13px; font-size: 10px; }.steps-intro .text-link, .faq-intro .text-link { margin-top: 17px; }.step-item { grid-template-columns: 29px 1fr 19px; gap: 10px; padding-block: 19px; }.step-item h3 { font-size: 16px; }.step-item p { font-size: 9px; }
  .testimonial-content { padding-block: 60px; }.testimonial-content .eyebrow { font-size: 8px; }.quote-mark { height: 47px; font-size: 72px; }.testimonial-content blockquote { font-size: clamp(23px, 6vw, 31px); }.quote-author strong { font-size: 8px; }
  .pricing-heading h2 { font-size: 43px; }.pricing-heading > p:last-child { font-size: 10px; }.pricing-grid { grid-template-columns: 1fr; gap: 19px; }.price-card { padding: 23px 20px; }.plan-description { min-height: auto; }.plan-price { min-height: 51px; margin-block: 9px; }.price-card ul { gap: 10px; }.pricing-note { line-height: 1.7; }
  .faq-list summary { min-height: 57px; font-size: 12px; }.faq-list details p { font-size: 9px; }
  .final-cta-inner { min-height: auto; grid-template-columns: 1fr; gap: 29px; padding-block: 64px; }.final-cta h2 { margin-top: 18px; font-size: 60px; }.final-cta-side p { font-size: 10px; }.final-email { font-size: 8px; }
  .footer-top { min-height: auto; grid-template-columns: 1fr 1fr; gap: 20px 10px; padding-block: 27px; }.footer-top > p { justify-self: end; text-align: right; }.footer-links { grid-column: 1 / -1; flex-wrap: wrap; justify-content: flex-start; gap: 14px 19px; }.footer-links a { font-size: 8px; }.footer-bottom { min-height: 68px; flex-wrap: wrap; justify-content: space-between; gap: 8px 14px; padding-block: 13px; font-size: 7px; }.footer-bottom > span:last-child { display: none; }
  .inner-hero { padding: 125px 0 58px; }.inner-hero h1 { margin-top: 19px; font-size: clamp(49px, 12.5vw, 68px); }.inner-hero-content > p:not(.eyebrow) { font-size: 11px; }
  .service-detail-grid { grid-template-columns: 1fr; }.service-detail { min-height: 0; padding: 22px 19px; }.service-detail h3 { margin-top: 15px; font-size: 19px; }
  .service-callout-inner { min-height: 0; grid-template-columns: 1fr; gap: 22px; padding-block: 52px; }.service-callout h2, .page-cta h2 { font-size: 48px; }.service-callout-inner > div:last-child > p { font-size: 10px; }
  .audience-grid { grid-template-columns: 1fr; gap: 22px; }.audience-grid article { padding-top: 14px; }.audience-grid h3 { margin: 11px 0 5px; }.page-cta { padding-block: 55px; }
  .work-page-intro { margin-bottom: 30px; }.work-page-intro h2, .package-details h2 { font-size: 42px; }.work-page-intro > p:last-child { font-size: 10px; }.work-page-grid { grid-template-columns: 1fr; gap: 28px; }.work-project .gallery-preview { aspect-ratio: 1.12 / 1; }.work-project-meta h3 { font-size: 16px; }.work-project-meta p { font-size: 9px; }.concept-disclaimer { margin-top: 25px; }
  .process-stage { grid-template-columns: 25px 1fr; gap: 12px; padding-block: 25px; }.process-stage-mark { display: none; }.process-stage h2 { font-size: 23px; }.process-stage > div > p:not(.eyebrow) { font-size: 10px; }.process-stage ul { gap: 8px 14px; }.process-stage li { font-size: 8px; }
  .process-note > .page-width { grid-template-columns: 27px 1fr; gap: 12px; padding-block: 26px; }.process-note-symbol { font-size: 20px; }.process-note h2 { font-size: 16px; }.process-note .text-link { grid-column: 2; justify-self: start; }
  .packages-page-pricing { padding-top: 48px; }.package-details-layout { grid-template-columns: 1fr; gap: 30px; }.package-details-layout > div:first-child > p:not(.eyebrow) { font-size: 10px; }
  .contact-page-hero { padding: 120px 0 55px; }.contact-page-layout { grid-template-columns: 1fr; gap: 34px; }.contact-page-copy h1 { margin-block: 18px 13px; font-size: clamp(51px, 13vw, 67px); }.contact-page-copy > p:not(.eyebrow) { font-size: 10px; }.contact-email-large { margin-top: 19px; font-size: 17px; }.contact-brief-card { padding: 21px; }.contact-expectations > .page-width { grid-template-columns: 1fr; gap: 18px; padding-block: 29px; }
  .legal-hero { padding-block: 125px 48px; }.legal-hero h1 { font-size: 53px; }.legal-layout { grid-template-columns: 1fr; gap: 24px; }.legal-aside { position: static; grid-template-columns: repeat(2, 1fr); gap: 11px; padding-block: 13px; }.legal-aside > span { grid-column: 1 / -1; }.legal-copy .legal-lead { font-size: 15px; }.legal-copy h2 { margin-top: 25px; font-size: 15px; }.legal-copy p, .legal-copy li { font-size: 10px; }.footer-bottom { align-items: flex-start; }.footer-legal { order: 3; width: 100%; flex-wrap: wrap; gap: 10px 15px; }.footer-legal a { font-size: 7px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

:root {
  color-scheme: dark;
  --ink: #e8eef5;
  --deep: #0c121b;
  --paper: #0a1018;
  --white: #111923;
  --lime: #adf277;
  --muted: #9aa9b9;
  --line: rgba(163, 185, 208, .15);
  --code-cyan: #6ce5d4;
  --code-violet: #c2a0ff;
  --code-mono: "Cascadia Code", "SFMono-Regular", Consolas, monospace;
}

::selection { background: rgba(173, 242, 119, .28); color: #f7fff1; }
body { background: var(--paper); color: var(--ink); }
.site-header { border-color: rgba(163, 185, 208, .14); background: rgba(14, 21, 31, .92); box-shadow: 0 14px 38px rgba(0, 0, 0, .26); color: var(--ink); }
.brand-mark { border-color: rgba(108, 229, 212, .38); background: linear-gradient(145deg, #18352f, #10211f); color: var(--code-cyan); }
.brand-mark::after { border-color: #0e151f; background: var(--lime); box-shadow: 0 0 14px rgba(173, 242, 119, .55); }
.brand-mark > span { color: var(--lime); }
.brand-name { color: #f0f4f8; }
.brand-name > span { color: #91a2b5; }
.site-nav { border-color: rgba(163, 185, 208, .13); background: rgba(255, 255, 255, .025); }
.site-nav a { color: #aab8c7; }
.site-nav a:hover, .site-nav a:focus-visible, .site-nav a[aria-current="page"] { color: var(--code-cyan); }
.site-nav a[aria-current="page"] { background: rgba(108, 229, 212, .1); }
.header-cta { border-color: var(--lime); background: var(--lime); color: #122018; }
.header-cta span { color: #264834; }
.header-cta:hover, .header-cta:focus-visible { border-color: #c5ff96; background: #c5ff96; color: #122018; }
.site-header-dark { border-color: rgba(163, 185, 208, .16); background: rgba(14, 21, 31, .96); }
.site-header-dark .brand-mark { border-color: rgba(108, 229, 212, .38); background: linear-gradient(145deg, #18352f, #10211f); color: var(--code-cyan); }
.site-header-dark .brand-name, .site-header-dark .brand-name > span { color: #f0f4f8; }
.site-header-dark .site-nav a { color: #aab8c7; }
.site-header-dark .site-nav a:hover, .site-header-dark .site-nav a[aria-current="page"] { color: var(--code-cyan); }
.site-header-dark .site-nav a[aria-current="page"] { background: rgba(108, 229, 212, .1); }
.site-header-dark .header-cta { border-color: var(--lime); background: var(--lime); color: #122018; }
.site-header-dark .header-cta span { color: #264834; }

.hero { padding-top: 126px; background: #0a1119; color: var(--ink); }
.hero::before { position: absolute; inset: 0; background-image: linear-gradient(rgba(131, 165, 190, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(131, 165, 190, .045) 1px, transparent 1px); background-size: 44px 44px; content: ""; mask-image: linear-gradient(to bottom, rgba(0, 0, 0, .8), transparent 92%); pointer-events: none; }
.hero-glow { top: -250px; right: -120px; background: radial-gradient(circle, rgba(60, 176, 157, .2) 0, rgba(51, 111, 115, .11) 38%, transparent 70%); animation: code-glow 9s ease-in-out infinite alternate; }
.hero h1 em, .section-heading h2 em, .steps-intro h2 em, .faq-intro h2 em, .pricing-heading h2 em, .inner-hero h1 em { color: var(--code-cyan); }
.hero h1 { letter-spacing: -.07em; }
.eyebrow, .eyebrow-dark { color: #9eb0bf; }
.eyebrow-dot { background: var(--lime); box-shadow: 0 0 12px rgba(173, 242, 119, .55); }
.hero-description, .hero-proof p { color: #9eacbb; }
.hero-proof strong { color: #e5edf5; }
.hero-proof .avatar-stack span { border-color: #0a1119; }
.button-dark { background: var(--lime); color: #142018; }
.button-dark:hover { background: #c4ff92; }
.quiet-link { color: #c1cbd6; }
.play-icon { border-color: rgba(173, 242, 119, .52); color: var(--lime); }
.hero-bottom { color: #8091a2; }
.hero-bottom b { color: var(--code-cyan); }

.showcase-scene { min-height: 430px; padding: 48px 10px 40px 0; }
.code-window { position: relative; z-index: 1; overflow: hidden; border: 1px solid rgba(139, 167, 192, .2); border-radius: 9px; background: #0d141e; box-shadow: 0 32px 90px rgba(0, 0, 0, .48), 0 0 55px rgba(67, 201, 184, .08); transform: perspective(1300px) rotateY(-5deg) rotateX(1deg); transition: transform .5s ease, box-shadow .5s ease; }
.showcase-scene:hover .code-window { box-shadow: 0 38px 100px rgba(0, 0, 0, .52), 0 0 70px rgba(67, 201, 184, .15); transform: perspective(1300px) rotateY(-1deg) translateY(-4px); }
.code-titlebar { display: grid; height: 43px; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; padding: 0 14px; border-bottom: 1px solid rgba(163, 185, 208, .12); background: #121b27; color: #9aa9b9; font-family: var(--code-mono); font-size: 8px; }
.code-window-dots { display: flex; gap: 5px; }
.code-window-dots i { width: 7px; height: 7px; border-radius: 50%; background: #ff6f70; }.code-window-dots i:nth-child(2) { background: #ffc66d; }.code-window-dots i:nth-child(3) { background: #7ee787; }
.code-file-path { color: #bac6d2; text-align: center; white-space: nowrap; }.code-file-path b { padding: 0 4px; color: #617286; font-weight: 400; }
.code-live { display: flex; align-items: center; justify-self: end; gap: 6px; color: #9ce9b0; font-size: 7px; letter-spacing: .07em; }.code-live i { width: 6px; height: 6px; border-radius: 50%; background: #8bec9d; box-shadow: 0 0 9px rgba(139, 236, 157, .65); }
.code-workspace { display: grid; min-height: 300px; grid-template-columns: 142px 1fr; }
.code-sidebar { display: flex; flex-direction: column; gap: 12px; padding: 18px 12px; border-right: 1px solid rgba(163, 185, 208, .1); background: #101823; color: #94a3b3; font-family: var(--code-mono); font-size: 8px; }
.code-sidebar-title { margin-bottom: 5px; color: #75879a; font-size: 7px; font-weight: 700; letter-spacing: .12em; }
.code-folder { color: #b5c1ce; }.code-file { padding-left: 13px; color: #8d9bad; }.code-file-active { margin-left: -12px; padding: 6px 0 6px 25px; border-left: 2px solid var(--code-cyan); background: rgba(108, 229, 212, .08); color: #e2ebf4; }
.code-editor { overflow: hidden; padding: 18px 15px; color: #d1dae4; font-family: var(--code-mono); font-size: clamp(7px, .78vw, 10px); line-height: 1.83; }
.code-line { display: flex; min-width: max-content; white-space: pre; }.code-line-no { width: 27px; flex: 0 0 27px; padding-right: 10px; color: #526276; text-align: right; user-select: none; }.code-line code { font-family: inherit; }.code-line b { color: #d69dff; font-weight: 500; }.code-line i { color: #7ed6f5; font-style: normal; }.code-line em { color: #b6e28a; font-style: normal; }.code-line strong { color: #75dfcb; font-weight: 500; }
.code-caret { display: inline-block; width: 6px; height: 13px; margin-left: 3px; background: var(--lime); vertical-align: -2px; animation: caret-blink 1.1s steps(2, start) infinite; }
.code-statusbar { display: flex; min-height: 27px; align-items: center; justify-content: space-between; gap: 8px; padding: 0 12px; background: #14282b; color: #a2c9c4; font-family: var(--code-mono); font-size: 7px; }
.showcase-note, .showcase-delivery { border-color: rgba(139, 167, 192, .19); background: rgba(17, 26, 38, .97); box-shadow: 0 14px 38px rgba(0, 0, 0, .34); }
.showcase-note > span:first-child { color: var(--code-cyan); font-family: var(--code-mono); font-size: 16px; font-weight: 700; }
.showcase-note strong, .showcase-delivery strong { color: #e5edf5; }.showcase-note small, .showcase-delivery small { color: #91a1b2; }
.showcase-delivery { right: -5px; }.delivery-check { background: rgba(173, 242, 119, .13); color: var(--lime); }
.showcase-mobile { display: none; }

main > section:not(.hero):not(.inner-hero):not(.contact-page-hero):not(.final-cta):not(.service-callout):not(.page-cta) { background-color: #0e151f; color: var(--ink); }
main > section:nth-of-type(even):not(.hero):not(.inner-hero):not(.contact-page-hero):not(.final-cta):not(.service-callout):not(.page-cta) { background-color: #111a25; }
.trust-strip, .steps-section, .pricing-section, .faq-page-section, .legal-section, .work-page-section, .contact-expectations, .faq-section, .testimonial-section { color: var(--ink); }
.trust-inner > p, .trust-inner > p strong, .trust-types { color: #a4b1bf; }
.section-intro, .steps-intro > p:not(.eyebrow), .faq-intro > p:not(.eyebrow), .feature-copy p, .step-item p, .faq-list details p, .pricing-heading > p:last-child, .plan-description, .plan-price span, .pricing-note { color: #9aa8b7; }
.feature-copy h3, .step-item h3, .faq-list summary, .pricing-heading h2 { color: #e8eef5; }
.feature-number, .step-index, .step-symbol, .faq-list summary span { color: var(--code-cyan); }
.feature-visual, .feature-card-main .feature-visual { border: 1px solid rgba(163, 185, 208, .13); background-color: #141e2a; }
.steps-list, .step-item, .faq-list, .faq-list details, .service-detail-grid { border-color: var(--line); }
.testimonial-section { background-image: radial-gradient(ellipse at 50% 100%, rgba(70, 126, 117, .12), transparent 60%); }
.testimonial-content blockquote { color: #e4ecf3; }.quote-mark { color: var(--code-cyan); }.quote-author small { color: #9aa9b9; }
.price-card { border-color: rgba(163, 185, 208, .18); background: #131d29; }.price-card-featured { border-color: rgba(108, 229, 212, .48); background: linear-gradient(145deg, #14272b, #14202a); box-shadow: 0 12px 38px rgba(0, 0, 0, .15); }
.price-card h3 { color: #e7eef5; }.plan-label { color: #a2b1bf; }.popular-tag { background: var(--lime); color: #142018; }.plan-button { border-color: rgba(108, 229, 212, .48); }.plan-button-light { color: #c8d4df; }.plan-button-light:hover { background: rgba(108, 229, 212, .1); }.plan-button-dark { border-color: var(--lime); background: var(--lime); color: #142018; }.plan-button-dark:hover { background: #c7ff9b; }.price-card li { color: #b0bdc9; }.price-card li::before { color: var(--code-cyan); }.pricing-note a { color: var(--code-cyan); }
.faq-section { background-image: linear-gradient(110deg, rgba(17, 26, 37, .96), rgba(12, 19, 28, .98)); }
.final-cta { background: radial-gradient(ellipse at 90% 50%, rgba(65, 135, 119, .19), transparent 42%), #0c151d; }.final-cta .eyebrow, .final-cta-side p, .final-email { color: #a5b2bf; }.final-cta h2 em, .service-callout h2 em { color: var(--code-cyan); }.button-lime { background: var(--lime); color: #142018; }
.site-footer { background: #080d13; }.footer-top { border-bottom-color: var(--line); }.footer-top > p, .footer-links a, .footer-bottom { color: #91a0af; }.footer-links span { color: var(--code-cyan); }
.inner-hero { background: radial-gradient(ellipse at 82% 25%, rgba(52, 142, 130, .16), transparent 48%), #0e151f; color: var(--ink); }.inner-hero::after { background: radial-gradient(circle, rgba(108, 229, 212, .1), transparent 68%); }.inner-hero-content > p:not(.eyebrow) { color: #a4b2c0; }.inner-hero-dark { background: radial-gradient(ellipse at 80% 20%, rgba(57, 149, 133, .16), transparent 47%), #0b121b; }.inner-hero-dark h1 em { color: var(--code-cyan); }
.inner-hero-content > .eyebrow, .contact-page-copy .eyebrow { color: #a6b4c0; }
.service-detail { border-color: var(--line); background: #111a25; }.service-detail > span, .work-project-meta > div > span { color: var(--code-cyan); }.service-detail h3, .audience-grid h3 { color: #e6edf4; }.service-detail p, .audience-grid p { color: #a2afbd; }
.service-callout { background: radial-gradient(ellipse at 85% 50%, rgba(61, 142, 126, .16), transparent 46%), #0b121b; }.service-callout .eyebrow, .service-callout-inner > div:last-child > p { color: #a4b1bf; }
.audience-grid article { border-color: var(--line); }.audience-grid article > span { color: var(--code-cyan); }.page-cta { background: #14251f; }.page-cta h2 em { color: var(--lime); }.page-cta .eyebrow { color: #b1c2b2; }
.work-page-intro h2 em, .package-details h2 em { color: var(--code-cyan); }.work-page-intro > p:last-child, .package-details-layout > div:first-child > p:not(.eyebrow) { color: #a2afbd; }.work-project-meta h3 { color: #e7edf4; }.work-project-meta p { color: #9eacba; }.work-project-meta > a { color: var(--code-cyan); }.concept-disclaimer { border-left-color: var(--code-cyan); background: #121f28; color: #a7b5c1; }
.process-stage { border-color: var(--line); }.process-stage h2 { color: #e5edf4; }.process-stage > div > p:not(.eyebrow), .process-stage li { color: #a3b0bd; }.process-stage-index, .process-stage-mark { color: var(--code-cyan); }
.process-note { background: #111a25; }.process-note h2 { color: #e8eef5; }.process-note-symbol { color: var(--code-cyan); }
.package-details { background: #0e151f; }.package-details-layout > div:first-child > p:not(.eyebrow) { color: #a2afbd; }
.contact-page-hero { background: radial-gradient(ellipse at 82% 18%, rgba(58, 143, 128, .17), transparent 45%), #0b121b; }.contact-page-copy .eyebrow, .contact-page-copy > p:not(.eyebrow) { color: #a5b2bf; }.contact-page-copy h1 em { color: var(--code-cyan); }.contact-email-large { border-color: rgba(108, 229, 212, .45); }.contact-email-large span { color: var(--code-cyan); }
.contact-brief-card { border: 1px solid rgba(163, 185, 208, .18); background: #141e2a; color: var(--ink); }.contact-brief-card h2 { color: #e6edf4; }.contact-brief-card > p:not(.eyebrow), .contact-brief-card > small { color: #a1afbd; }.contact-brief-card li { color: #c1ccd7; }.contact-brief-card li span { color: var(--code-cyan); }.contact-brief-card .eyebrow { color: #9baebe; }
.contact-expectations article { border-color: var(--line); }.contact-expectations article > span { color: var(--code-cyan); }.contact-expectations h3 { color: #e5edf4; }.contact-expectations p { color: #9eacba; }
.legal-updated { color: #9eacba; }.legal-aside { border-color: var(--line); }.legal-aside > span { color: #8293a5; }.legal-aside a { color: #b0bdc9; }.legal-aside a:hover, .legal-aside a[aria-current="page"] { color: var(--code-cyan); }.legal-copy .legal-lead { color: #d2dde7; }.legal-copy h2 { color: #e2eaf2; }.legal-copy p, .legal-copy li { color: #a3b0bd; }.legal-copy a { color: var(--code-cyan); }.legal-copy .legal-note { border-left-color: var(--code-cyan); background: #13222a; color: #adbdc8; }
.footer-legal a { color: #91a0af; }.footer-legal a:hover, .footer-legal a[aria-current="page"] { color: var(--code-cyan); }
.menu-toggle { border-color: rgba(163, 185, 208, .4); }.menu-toggle span { background: #d9e3ec; }.site-header-dark .menu-toggle { border-color: rgba(163, 185, 208, .4); }.site-header-dark .menu-toggle span { background: #d9e3ec; }
.site-nav a[aria-current="page"] { color: var(--code-cyan); }
:focus-visible { outline-color: var(--lime); }

@keyframes caret-blink { to { visibility: hidden; } }
@keyframes code-glow { from { transform: translate3d(-12px, 5px, 0) scale(.95); } to { transform: translate3d(8px, -8px, 0) scale(1.07); } }

@media (max-width: 900px) {
  .code-workspace { grid-template-columns: 110px 1fr; }
  .code-sidebar { padding-inline: 9px; font-size: 7px; }
  .code-editor { padding-inline: 10px; font-size: 7px; }
  .code-statusbar { font-size: 6px; }
}
@media (max-width: 680px) {
  .hero { padding-top: 88px; }
  .hero::before { background-size: 32px 32px; }
  .hero-layout { padding-top: 49px; }
  .showcase-scene { min-height: 320px; padding: 43px 0 36px; }
  .code-window { border-radius: 7px; transform: none; }
  .showcase-scene:hover .code-window { transform: translateY(-2px); }
  .code-titlebar { height: 37px; grid-template-columns: auto 1fr auto; padding-inline: 9px; }
  .code-file-path { overflow: hidden; font-size: 6px; text-overflow: ellipsis; }
  .code-live { font-size: 5px; }
  .code-workspace { min-height: 213px; grid-template-columns: 82px 1fr; }
  .code-sidebar { gap: 11px; padding: 14px 7px; font-size: 6px; }
  .code-sidebar-title { font-size: 6px; }
  .code-file-active { margin-left: -7px; padding-left: 14px; }
  .code-editor { overflow: hidden; padding: 13px 7px; font-size: 6px; line-height: 1.9; }
  .code-line-no { width: 21px; flex-basis: 21px; padding-right: 6px; }
  .code-statusbar { min-height: 23px; padding-inline: 7px; font-size: 5px; }
  .showcase-note, .showcase-delivery { gap: 6px; padding: 8px; }
  .showcase-note { left: 0; }.showcase-delivery { right: 0; }
  .showcase-note strong, .showcase-delivery strong { font-size: 6px; }.showcase-note small, .showcase-delivery small { font-size: 5px; }
  .showcase-note > span:first-child { font-size: 13px; }.delivery-check { width: 18px; height: 18px; font-size: 9px; }
  .site-header-dark .site-nav { background: #0c141e; }
  .site-header-dark .site-nav a { color: #d9e3ec; border-color: var(--line); }
  .site-nav { background: #0c141e; }
  .site-nav a { color: #d9e3ec; border-color: var(--line); }
  .site-nav a[aria-current="page"] { color: var(--code-cyan); }
  .avatar-stack span { border-color: #0a1119; }
  .service-detail { background: #111a25; }
  .legal-copy .legal-note { color: #adbdc8; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-glow, .code-caret { animation: none; }
}

.discount-wheel {
  width: min(520px, calc(100% - 28px));
  max-height: min(92svh, 760px);
  overflow: auto;
  padding: 0;
  border: 1px solid rgba(108, 229, 212, .28);
  border-radius: 12px;
  background: #0e1722;
  color: #e8eef5;
  box-shadow: 0 30px 100px rgba(0, 0, 0, .65), 0 0 55px rgba(108, 229, 212, .1);
}
.discount-wheel::backdrop { background: rgba(3, 7, 12, .78); -webkit-backdrop-filter: blur(7px); backdrop-filter: blur(7px); }
.discount-wheel-card { padding: 26px 30px 24px; }
.discount-wheel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.wheel-kicker { margin: 0; color: var(--code-cyan); font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.discount-wheel-heading h2 { margin: 9px 0 0; color: #f0f5f9; font-family: var(--font-display); font-size: clamp(24px, 5vw, 34px); letter-spacing: -.055em; line-height: 1.12; }
.wheel-close { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border: 1px solid rgba(163, 185, 208, .2); border-radius: 50%; background: transparent; color: #b5c3d0; font-size: 22px; line-height: 1; cursor: pointer; }
.wheel-close:hover { border-color: var(--code-cyan); color: var(--code-cyan); }
.wheel-description { max-width: 390px; margin: 13px auto 0; color: #aab7c4; font-size: 11px; line-height: 1.75; text-align: center; }
.wheel-stage { position: relative; display: grid; width: min(250px, 68vw); aspect-ratio: 1; place-items: center; margin: 22px auto 18px; }
.wheel-disc { position: relative; width: 100%; height: 100%; overflow: hidden; border: 7px solid #192635; border-radius: 50%; background: conic-gradient(from -45deg, #183c3c 0deg 90deg, #223653 90deg 180deg, #27394c 180deg 270deg, #254941 270deg 360deg); box-shadow: 0 0 0 1px rgba(108, 229, 212, .35), 0 12px 38px rgba(0, 0, 0, .42), inset 0 0 22px rgba(0, 0, 0, .35); transition: transform 4.5s cubic-bezier(.12,.72,.12,1); }
.wheel-disc::before { position: absolute; inset: 50%; z-index: 1; width: 26px; height: 26px; border: 3px solid #0e1722; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 1px rgba(255, 255, 255, .36), 0 0 18px rgba(173, 242, 119, .48); content: ""; transform: translate(-50%, -50%); }
.wheel-disc::after { position: absolute; top: 0; bottom: 0; left: 50%; width: 1px; background: rgba(216, 232, 244, .19); content: ""; transform: rotate(45deg); }
.wheel-prize { position: absolute; z-index: 2; color: #f0f6f6; font-family: var(--font-display); font-size: 22px; font-weight: 800; text-shadow: 0 2px 10px rgba(0, 0, 0, .4); }
.wheel-prize-one { top: 20%; right: 20%; }
.wheel-prize-two { right: 20%; bottom: 20%; }
.wheel-prize-three { bottom: 20%; left: 20%; }
.wheel-prize-four { top: 20%; left: 20%; }
.wheel-pointer { position: absolute; z-index: 3; top: -6px; left: 50%; width: 0; height: 0; border-right: 13px solid transparent; border-bottom: 25px solid var(--lime); border-left: 13px solid transparent; filter: drop-shadow(0 3px 4px rgba(0, 0, 0, .45)); transform: translateX(-50%) rotate(180deg); }
.wheel-spin-button, .wheel-whatsapp { display: flex; min-height: 46px; align-items: center; justify-content: center; gap: 12px; border: 1px solid var(--lime); border-radius: 4px; background: var(--lime); color: #142018; font-size: 11px; font-weight: 800; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.wheel-spin-button { width: 100%; }
.wheel-spin-button:hover:not(:disabled), .wheel-whatsapp:hover { background: #c7ff9b; transform: translateY(-1px); }
.wheel-spin-button:disabled { cursor: wait; opacity: .8; }
.wheel-spin-button span, .wheel-whatsapp span { font-size: 16px; }
.wheel-status { min-height: 16px; margin: 8px 0 0; color: #ffc66d; font-size: 9px; line-height: 1.5; text-align: center; }
.wheel-fine-print { margin: 5px 0 0; color: #8494a5; font-size: 8px; text-align: center; }
.wheel-result { padding-top: 28px; text-align: center; }
.wheel-result-amount { margin: 10px 0 0; color: #e8eef5; font-family: var(--font-display); font-size: 19px; font-weight: 600; letter-spacing: -.03em; }
.wheel-result-amount strong { color: var(--lime); font-size: clamp(36px, 10vw, 52px); letter-spacing: -.06em; }
.wheel-result .wheel-description { margin-top: 8px; }
.wheel-code { display: block; margin: 20px auto; padding: 14px 10px; border: 1px dashed rgba(108, 229, 212, .5); border-radius: 5px; background: rgba(108, 229, 212, .06); color: #b9f5e7; font-family: var(--code-mono); font-size: clamp(14px, 4vw, 19px); font-weight: 700; letter-spacing: .08em; }
.wheel-whatsapp { width: 100%; text-decoration: none; }
.wheel-continue { margin-top: 14px; padding: 8px 12px; border: 0; background: transparent; color: #aab7c4; font-size: 10px; cursor: pointer; }
.wheel-continue:hover { color: var(--code-cyan); }
.wheel-trigger { position: fixed; z-index: 8; right: 18px; bottom: 18px; display: inline-flex; min-height: 42px; align-items: center; gap: 9px; padding: 0 15px; border: 1px solid rgba(108, 229, 212, .45); border-radius: 24px; background: #111d28; box-shadow: 0 10px 28px rgba(0, 0, 0, .32); color: #e5eef5; font-size: 10px; font-weight: 700; cursor: pointer; }
.wheel-trigger[hidden], .wheel-prompt[hidden], .wheel-result[hidden] { display: none; }
.wheel-trigger span { color: var(--lime); font-size: 15px; }
.wheel-trigger:hover { border-color: var(--lime); }

@media (max-width: 680px) {
  .discount-wheel-card { padding: 22px 18px 18px; }
  .wheel-stage { width: min(220px, 66vw); margin-block: 18px 15px; }
  .wheel-prize { font-size: 19px; }
  .wheel-trigger { right: 12px; bottom: 12px; min-height: 39px; }
}
@media (prefers-reduced-motion: reduce) {
  .wheel-disc { transition-duration: .01ms; }
  .wheel-spin-button, .wheel-whatsapp { transition-duration: .01ms; }
}

.portal-page { color-scheme: dark; background: #0a1018; color: #e8eef5; }
.portal-page .portal-intro h1, .portal-page .auth-card-heading h2, .portal-page .auth-form h3, .portal-page .account-session h3 { color: #f0f4f8; }
.portal-page .portal-intro h1 em { color: var(--code-cyan); }
.portal-page .portal-intro > p:not(.eyebrow), .portal-page .portal-assurance { color: #a5b2bf; }
.portal-page .portal-assurance span { background: #17352c; color: var(--lime); }
.portal-page .portal-back { color: #b4c0cd; }
.portal-page .auth-card { border-color: rgba(163, 185, 208, .15); background: #111923; box-shadow: 0 22px 65px rgba(0, 0, 0, .28); }
.portal-page .auth-card-heading > p:last-child { color: #a5b2bf; }
.portal-page .auth-provider { border-color: rgba(163, 185, 208, .22); background: #0c141e; color: #e8eef5; }
.portal-page .auth-provider:hover { border-color: var(--code-cyan); background: #14212b; }
.portal-page .auth-divider { color: #9eacbb; }
.portal-page .auth-divider::before, .portal-page .auth-divider::after, .portal-page .auth-signin { border-color: rgba(163, 185, 208, .16); }
.portal-page .auth-form label { color: #c0ccd7; }
.portal-page .auth-form input { border-color: rgba(163, 185, 208, .24); background: #0c141e; color: #f0f4f8; }
.portal-page .auth-form input:focus { border-color: var(--code-cyan); box-shadow: 0 0 0 3px rgba(108, 229, 212, .13); }
.portal-page .field-hint, .portal-page .auth-legal { color: #9eacbb; }
.portal-page .auth-signin summary, .portal-page .text-button { color: var(--code-cyan); }
.portal-page .account-session { background: #14221e; }
.portal-page .account-session > p { color: #b3c1cd; }
.portal-page .auth-legal a { color: var(--code-cyan); }
.portal-page .portal-footer { border-color: rgba(163, 185, 208, .15); color: #9eacbb; }
.portal-page .portal-footer a { color: #bac6d2; }
.portal-page .portal-footer a:hover { color: var(--code-cyan); }

.header-actions { display: flex; align-items: center; justify-self: end; gap: 18px; }
.header-quote, .header-login { color: #b4c1cd; font-size: 10px; font-weight: 600; transition: color .2s ease; }
.header-quote:hover, .header-login:hover, .header-quote:focus-visible, .header-login:focus-visible { color: var(--code-cyan); }
.header-actions .header-cta { flex: 0 0 auto; }
.mobile-account-links { display: none; }
.portal-page .auth-mode-switch { margin: 0; color: #a5b2bf; font-size: 11px; }
.portal-page .auth-mode-switch a { color: var(--code-cyan); font-weight: 700; }
@media (max-width: 900px) {
  .header-actions { gap: 12px; }
  .header-quote { display: none; }
}
@media (max-width: 680px) {
  .header-actions { display: none; }
  .mobile-account-links { display: grid; gap: 10px; margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--line); }
  .mobile-account-links a { display: block; padding: 13px 0; border: 0; border-bottom: 1px solid var(--line); color: var(--code-cyan); font-size: 19px; }
  .mobile-account-links .header-cta { display: inline-flex; width: fit-content; min-height: 42px; align-items: center; gap: 14px; padding: 0 15px; border: 1px solid var(--lime); border-radius: 4px; background: var(--lime); color: #122018; font-size: 12px; }
}
