/* Generated with Google Material Color Utilities; teal seed and amber tertiary. */
:root{
  --md-sys-color-primary: #0e6b58;
  --md-sys-color-on-primary: #ffffff;
  --md-sys-color-primary-container: #a2f2da;
  --md-sys-color-on-primary-container: #005142;
  --md-sys-color-secondary: #4b635b;
  --md-sys-color-on-secondary: #ffffff;
  --md-sys-color-secondary-container: #cde9de;
  --md-sys-color-on-secondary-container: #344c44;
  --md-sys-color-tertiary: #855318;
  --md-sys-color-on-tertiary: #ffffff;
  --md-sys-color-tertiary-container: #ffdcbd;
  --md-sys-color-on-tertiary-container: #693c00;
  --md-sys-color-error: #ba1a1a;
  --md-sys-color-on-error: #ffffff;
  --md-sys-color-error-container: #ffdad6;
  --md-sys-color-on-error-container: #93000a;
  --md-sys-color-surface: #f5fbf7;
  --md-sys-color-surface-container-lowest: #ffffff;
  --md-sys-color-surface-container-low: #eff5f1;
  --md-sys-color-surface-container: #e9efeb;
  --md-sys-color-surface-container-high: #e3eae6;
  --md-sys-color-surface-container-highest: #dee4e0;
  --md-sys-color-on-surface: #171d1b;
  --md-sys-color-on-surface-variant: #3f4945;
  --md-sys-color-outline: #6f7975;
  --md-sys-color-outline-variant: #bfc9c4;
  --md-sys-color-inverse-surface: #2b322f;
  --md-sys-color-inverse-on-surface: #ecf2ee;
}

/* Material 3 roles, shape scale and state layers for the existing site components. */
:root{
 --md-sys-shape-corner-small:8px;--md-sys-shape-corner-medium:12px;--md-sys-shape-corner-large:16px;--md-sys-shape-corner-extra-large:28px;--md-sys-shape-corner-full:999px;
 --md-sys-motion-duration-short:180ms;--md-sys-motion-easing-standard:cubic-bezier(.2,0,0,1);
 --md-sys-typescale-headline-large-size:32px;--md-sys-typescale-title-medium-size:16px;--md-sys-typescale-body-medium-size:14px;
 --md-sys-elevation-level-1:0 1px 3px #171d1b14,0 1px 2px #171d1b0d;
 --bg:var(--md-sys-color-surface);--paper:var(--md-sys-color-surface-container-lowest);--ink:var(--md-sys-color-on-surface);--muted:var(--md-sys-color-on-surface-variant);--line:var(--md-sys-color-outline-variant);--accent:var(--md-sys-color-primary);--radius:var(--md-sys-shape-corner-large);
}
body{background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface)}
.app-shell{padding-top:8px}.topbar{border:0;min-height:94px;margin-bottom:22px;gap:20px}
.brand{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:650;letter-spacing:0;color:var(--md-sys-color-on-surface)}
.brand-symbol{width:36px;height:36px;display:grid;place-items:center;background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border-radius:12px}.brand-symbol svg{width:23px;height:23px}
.tagline{margin-left:46px;margin-top:2px;font-size:11px;color:var(--md-sys-color-on-surface-variant)}
.desktop-nav{gap:6px;margin-right:6px}.desktop-nav a{border:0;border-radius:999px;padding:12px 20px;color:var(--md-sys-color-on-surface-variant);font-weight:500;transition:background var(--md-sys-motion-duration-short)}
.desktop-nav a.active{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.desktop-nav a:hover{background:var(--md-sys-color-surface-container-high)}
.round{width:44px;height:44px;flex-basis:44px;border:0;background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}
.card,.account-card{border:0;background:var(--md-sys-color-surface-container-low);border-radius:16px;box-shadow:none}
.hero{border-radius:28px;padding:36px 38px;gap:38px;background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);position:relative;isolation:isolate;overflow:hidden}
.hero-copy{position:relative;min-width:0}.hero .eyebrow{display:inline-flex;align-items:center;gap:6px;border:0;padding:5px 10px;background:var(--md-sys-color-surface-container-lowest);color:var(--md-sys-color-on-primary-container);border-radius:999px;font-size:11px;font-weight:500}.hero .eyebrow svg{width:17px;height:17px}
.hero h1{font-size:36px;font-weight:550;margin:19px 0 14px;letter-spacing:-.025em;line-height:1.25;color:var(--md-sys-color-on-primary-container)}
.hero p{font-size:13px;color:var(--md-sys-color-on-primary-container);line-height:1.8;margin-bottom:14px}
.hero-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 22px}.hero-chips span{font-size:10px;padding:4px 9px;border:1px solid #00514240;border-radius:8px;color:var(--md-sys-color-on-primary-container)}
.hero .hero-action{background:var(--md-sys-color-primary)!important;color:var(--md-sys-color-on-primary)!important;min-height:44px;min-width:156px;gap:20px}
.hero-decoration{position:absolute;width:105px;height:90px;top:-14px;right:6px;color:var(--md-sys-color-on-primary-container);pointer-events:none;z-index:-1}
.decor-warm{fill:var(--md-sys-color-tertiary-container)}.decor-tonal{fill:var(--md-sys-color-secondary-container)}.decor-mark{fill:var(--md-sys-color-primary)}
.hero-guide{align-self:center;background:var(--md-sys-color-surface-container-lowest);border:0;border-radius:22px;padding:26px;color:var(--md-sys-color-on-surface);box-shadow:var(--md-sys-elevation-level-1)}
.hero-guide h2{font-size:12px;font-weight:500;color:var(--md-sys-color-on-surface-variant);margin-bottom:20px}.hero-guide ol{gap:19px}.hero-guide li{gap:14px;align-items:center}
.hero-guide li>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);font-size:11px;flex-shrink:0}
.hero-guide li:nth-child(2)>span{background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container)}.hero-guide li:nth-child(3)>span{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}
.hero-guide b{font-size:13px;font-weight:550}.hero-guide small{color:var(--md-sys-color-on-surface-variant);font-size:11px;margin-top:2px}
.notice{border:0;background:var(--md-sys-color-surface-container);border-radius:16px;margin-top:12px;padding:12px 16px;min-height:48px}
.notice>span{border:0;background:var(--md-sys-color-surface-container-lowest);color:var(--md-sys-color-on-surface-variant);padding:2px 8px;border-radius:6px}.notice p{color:var(--md-sys-color-on-surface-variant);font-size:12px}.notice a{color:var(--md-sys-color-primary);font-weight:550;padding:3px 0}
.quick{background:none;border:0;gap:12px;margin:18px 0;border-radius:0}
.quick>a{border:0!important;border-radius:20px;background:var(--md-sys-color-surface-container-low);padding:20px;gap:13px;transition:background 180ms,box-shadow 180ms}
.quick>a:nth-child(2){background:var(--md-sys-color-secondary-container)}.quick>a:nth-child(3){background:var(--md-sys-color-tertiary-container)}
.quick>a:hover{box-shadow:var(--md-sys-elevation-level-1);background:var(--md-sys-color-surface-container-high)}
.quick-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);flex-shrink:0}.quick-icon svg{color:inherit;width:22px;height:22px;margin:0}
.quick>a:nth-child(2) .quick-icon{background:var(--md-sys-color-surface-container-lowest);color:var(--md-sys-color-on-secondary-container)}.quick>a:nth-child(3) .quick-icon{background:var(--md-sys-color-surface-container-lowest);color:var(--md-sys-color-on-tertiary-container)}
.quick b{font-size:14px;font-weight:550}.quick em{font-size:11px;color:var(--md-sys-color-on-surface-variant)}.quick-arrow{color:var(--md-sys-color-on-surface-variant)}
.coupon{background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container);border:0;border-radius:20px;padding:17px 22px;gap:20px}
.coupon-value{border-color:#693c0040}.coupon-value strong,.coupon-value span,.coupon-copy small{color:var(--md-sys-color-on-tertiary-container)}.coupon-value strong{font-size:28px;font-weight:550}.coupon-copy b{font-size:13px}.coupon-copy small{font-size:11px}.coupon-button{border:0;background:var(--md-sys-color-tertiary);color:var(--md-sys-color-on-tertiary);border-radius:999px;min-height:40px;padding:8px 16px;font-weight:500;font-size:11px}
.section-head{margin-top:29px}.section-head h2{font-size:23px;font-weight:550}.section-head small{font-size:11px;color:var(--md-sys-color-on-surface-variant)}.section-head>a{color:var(--md-sys-color-primary);padding:8px 0;font-weight:500}
.service-grid{gap:14px}.service-card{background:var(--md-sys-color-surface-container-low);border:1px solid transparent;border-radius:16px;padding:22px;gap:14px;transition:background 180ms,box-shadow 180ms,border-color 180ms}
.service-card:hover{background:var(--md-sys-color-surface-container);box-shadow:var(--md-sys-elevation-level-1)}
.service-number{width:36px;height:36px;flex:0 0 36px;border-radius:12px;display:grid;place-items:center;padding:0;background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);font-size:12px;font-weight:550}
.service-card:nth-child(4n+2) .service-number{background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container)}.service-card:nth-child(4n+3) .service-number{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}
.service-title h3{font-size:16px;font-weight:550}.badge{background:var(--md-sys-color-surface-container-high);border:0;border-radius:6px;padding:2px 7px;font-size:10px;color:var(--md-sys-color-on-surface-variant)}
.service-desc{font-size:12px;color:var(--md-sys-color-on-surface-variant);margin:9px 0 14px}.price,.checkout-price,.pay-row b,.order-price{color:var(--md-sys-color-tertiary);font-weight:550}.price{font-size:20px}.price small{color:var(--md-sys-color-on-surface-variant);font-size:11px}
.order-btn{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);border:0;border-radius:999px;min-height:40px;padding:8px 16px;font-size:12px;font-weight:550;transition:background 180ms}.order-btn:hover{background:var(--md-sys-color-primary-container);border:0}
.primary-action,.secondary-action,.danger-action,.submit-btn{border-radius:999px;min-height:48px;padding:12px 23px;font-size:14px;font-weight:550;transition:background 180ms,box-shadow 180ms}
.primary-action,.submit-btn{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.primary-action:hover,.submit-btn:hover{background:var(--md-sys-color-primary);box-shadow:0 0 0 100vmax #ffffff14 inset,var(--md-sys-elevation-level-1)}
.secondary-action{background:var(--md-sys-color-secondary-container);border:0;color:var(--md-sys-color-on-secondary-container)}.danger-action{background:var(--md-sys-color-error-container);border:0;color:var(--md-sys-color-on-error-container)}
.promise{background:var(--md-sys-color-surface-container-low);border:0;border-radius:16px;padding:20px 22px;margin-top:26px}.promise h3{font-size:13px;font-weight:550}.promise p{font-size:11px;color:var(--md-sys-color-on-surface-variant)}.site-footer{border:0;color:var(--md-sys-color-on-surface-variant);padding:22px 8px 0}
.page-banner{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);border:0;border-radius:24px;padding:28px;margin-bottom:24px;position:relative;overflow:hidden}
.page-banner::after{content:'';position:absolute;right:-28px;top:-48px;width:145px;height:145px;border:24px solid #ffffff40;border-radius:50%;pointer-events:none}.page-banner h1{font-size:30px;font-weight:500;margin:10px 0;color:var(--md-sys-color-on-secondary-container);position:relative;z-index:1}.page-banner p,.page-banner .eyebrow{color:var(--md-sys-color-on-secondary-container);position:relative;z-index:1}.page-banner p{font-size:12px}.page-banner .eyebrow{font-size:11px}.back-link{color:var(--md-sys-color-primary);font-size:13px}
.filter-row{gap:8px}.filter-row button{border:1px solid var(--md-sys-color-outline);border-radius:8px;padding:8px 16px;color:var(--md-sys-color-on-surface-variant);font-size:12px}.filter-row button.active{border-color:transparent;background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}
.account-card{background:var(--md-sys-color-surface-container-low);border-radius:20px;padding:24px}.account-card h3{font-size:16px;font-weight:550}.account-card p,.standalone-card p{color:var(--md-sys-color-on-surface-variant);font-size:13px}.standalone-card h3{font-size:20px;font-weight:500}.account-icon,.empty-icon{color:var(--md-sys-color-primary)}
.profile-hero{background:var(--md-sys-color-primary-container)}.profile-hero h2{color:var(--md-sys-color-on-primary-container);font-size:23px;font-weight:500}.profile-hero p,.profile-hero small{color:var(--md-sys-color-on-primary-container)}
.avatar-placeholder{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.round .avatar-placeholder{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}
.menu-card{padding:0 24px}.menu-card>a{border-color:var(--md-sys-color-outline-variant);padding:21px 0}.menu-card>a>span{padding:10px;border-radius:12px;background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.menu-card small{color:var(--md-sys-color-on-surface-variant)}.ok-line{color:var(--md-sys-color-primary)!important}
.order-list-item{background:var(--md-sys-color-surface-container-low);border:0;border-radius:16px}.order-list-icon{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);border-radius:12px}.status-pill{color:var(--md-sys-color-on-secondary-container);background:var(--md-sys-color-secondary-container);border-radius:8px;font-size:11px;padding:4px 9px}
.checkout-service{border-radius:20px;background:var(--md-sys-color-surface-container-low)}.service-icon{border-radius:16px;background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.checkout-service h2{font-weight:500}.checkout-form{border-radius:20px;background:var(--md-sys-color-surface-container-low)}
.checkout-form input,.checkout-form select,.checkout-form textarea,.chat-send input{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline);border-radius:8px;min-height:52px;color:var(--md-sys-color-on-surface)}.checkout-form label{color:var(--md-sys-color-on-surface-variant);font-size:13px}.checkout-form input:focus,.checkout-form select:focus,.checkout-form textarea:focus,.chat-send input:focus{border-color:var(--md-sys-color-primary);outline:1px solid var(--md-sys-color-primary)}
.order-summary,.detail-card,.chat-panel{border-radius:20px;background:var(--md-sys-color-surface-container-low)}.summary-top h1{font-weight:500}.summary-grid span{border:0;background:var(--md-sys-color-surface-container-high);padding:12px;border-radius:12px;color:var(--md-sys-color-on-surface-variant)}.progressbar{background:var(--md-sys-color-surface-container-highest);height:6px;border-radius:999px}.progressbar i{background:var(--md-sys-color-primary)}.progress-item img{border-radius:12px}.timeline>div{border-color:var(--md-sys-color-outline-variant)}
.chat-messages{background:var(--md-sys-color-surface-container);border:0;border-radius:16px}.chat-msg{background:var(--md-sys-color-surface-container-lowest);border:0;border-radius:12px}.chat-msg.user{background:var(--md-sys-color-secondary-container)}.chat-tip,.chat-empty,.chat-msg small{color:var(--md-sys-color-on-surface-variant)}
.empty-state,.error-card{border-radius:20px;background:var(--md-sys-color-surface-container-low)}.toast{background:var(--md-sys-color-inverse-surface);color:var(--md-sys-color-inverse-on-surface);border-radius:12px;box-shadow:var(--md-sys-elevation-level-1)}
.m3-state-target{position:relative;isolation:isolate;overflow:hidden}.m3-ripple{position:absolute;border-radius:50%;background:currentColor;opacity:0;pointer-events:none;transform:scale(0);animation:m3-ripple 560ms var(--md-sys-motion-easing-standard) forwards}
@keyframes m3-ripple{0%{transform:scale(0);opacity:.16}65%{opacity:.12}100%{transform:scale(1);opacity:0}}
@media(max-width:768px){
 .app-shell{padding:0 16px 118px}.topbar{min-height:88px;gap:12px;margin-bottom:16px}.brand{font-size:23px;gap:9px}.brand-symbol{width:32px;height:32px;border-radius:11px}.brand-symbol svg{width:21px;height:21px}.tagline{margin-left:41px;font-size:10px}.round{width:42px;height:42px;flex-basis:42px}
 .hero{padding:25px 24px;border-radius:24px;gap:24px}.hero h1{font-size:28px;margin:17px 0 12px;font-weight:500}.hero p{font-size:12px}.hero-chips{margin-bottom:20px;gap:5px}.hero-chips span{font-size:10px;padding:3px 8px}.hero .hero-action{min-height:44px;font-size:13px;min-width:145px}.hero-decoration{width:63px;height:54px;right:-5px;top:-8px}
 .hero-guide{padding:16px;border-radius:18px;width:100%;box-shadow:none}.hero-guide h2{display:none}.hero-guide ol{gap:8px}.hero-guide li{display:flex;flex-direction:column;align-items:start;gap:7px}.hero-guide li>span{width:29px;height:29px;font-size:10px;margin:0}.hero-guide b{font-size:10px;font-weight:550}.hero-guide small{display:none}
 .notice{padding:12px 13px;border-radius:14px;gap:10px}.notice p,.notice a{font-size:11px}.quick{gap:8px;margin:14px 0}.quick>a{padding:15px 12px;border-radius:18px;display:block}.quick-icon{width:36px;height:36px;border-radius:12px;margin-bottom:11px}.quick-icon svg{width:20px;height:20px;margin:0}.quick b{font-size:12px}.quick em{font-size:10px;margin-top:4px}
 .coupon{padding:15px 16px;gap:12px;border-radius:18px}.coupon-value{padding-right:12px}.coupon-value strong{font-size:27px}.coupon-value span{font-size:10px;margin-top:6px}.coupon-copy b{font-size:11px}.coupon-copy small{font-size:10px}.coupon-button{padding:8px 12px;min-height:40px;font-size:10px}
 .section-head h2{font-size:22px}.section-head small{font-size:10px}.service-grid{gap:12px}.service-card{padding:18px 16px;border-radius:16px;gap:12px}.service-number{width:32px;height:32px;flex-basis:32px;border-radius:10px;font-size:11px}.service-title h3{font-size:15px}.badge{font-size:9px;padding:2px 5px}.service-desc{font-size:11px;margin:8px 0 11px}.price{font-size:19px}.price small{font-size:10px}.service-card .order-btn{font-size:11px;padding:8px 12px;gap:8px;min-height:40px}
 .promise{padding:18px 20px;border-radius:16px}.page-banner{padding:24px;border-radius:24px;margin-bottom:20px}.page-banner h1{font-size:28px}.page-banner p{font-size:12px}.account-card{padding:22px;border-radius:20px}.profile-hero h2{font-size:21px}.menu-card{padding:0 22px}.account-card p{font-size:12px}.order-list-item{padding:18px;gap:12px}.order-list-icon{width:38px;height:38px;flex-basis:38px}.checkout-form,.checkout-service,.order-summary,.detail-card,.chat-panel{padding:22px}.summary-grid{gap:10px}.summary-grid span{padding:11px}
 .tabbar{background:var(--md-sys-color-surface-container);border:0;padding:8px 8px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -1px 8px #171d1b08;min-height:80px}.tabbar a{gap:4px;padding:3px 0;color:var(--md-sys-color-on-surface-variant);font-size:11px;border-radius:16px}.tabbar .nav-icon{display:grid;place-items:center;width:64px;height:32px;border-radius:999px;transition:background 180ms}.tabbar .nav-icon svg{width:22px;height:22px}.tabbar a.active{color:var(--md-sys-color-on-secondary-container);font-weight:650}.tabbar a.active .nav-icon{background:var(--md-sys-color-secondary-container)}.toast{bottom:104px}
}
@media(prefers-reduced-motion:reduce){.m3-ripple{display:none}.service-card,.quick>a,.tabbar .nav-icon,.primary-action,.secondary-action,.danger-action,.submit-btn,.desktop-nav a{transition:none}}
