@charset "UTF-8";
@font-face{font-family:Archi;src:url('./assets/archi-300.woff') format('woff');font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:Archi;src:url('./assets/archi-500.woff') format('woff');font-style:normal;font-weight:400 600;font-display:swap}
@font-face{font-family:Archi;src:url('./assets/archi-700.woff') format('woff');font-style:normal;font-weight:700 900;font-display:swap}

:root {
  --paper:#f6f4ee; --white:#fffcf7; --ink:#35322e; --muted:#847f77;
  --line:#e5ddd0; --charcoal:#373430; --neutral-soft:#efe7da; --gold:#b89961;
  --gold-light:#e5d6b7; --display:"Archi",Arial,sans-serif;
  --sans:"Archi",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}
*{box-sizing:border-box}
.order-list{border-top:1px solid var(--line)}
.order-card{position:relative;display:block;width:100%;padding:20px 24px 20px 0;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;font:inherit;cursor:pointer;overflow-wrap:anywhere}
.order-meta{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted);margin-bottom:10px;letter-spacing:.02em}
.order-card>strong{display:block;font-size:17px;font-weight:500;margin-bottom:9px;line-height:1.4}
.order-status{display:inline-block;font-size:12px;color:var(--gold)}
.order-chevron{position:absolute;right:0;top:50%;color:var(--muted)}
.order-chevron .icon{width:16px;height:16px}
.order-updated{font-size:11px;color:var(--muted);margin-top:14px}
.order-controls{display:flex;justify-content:space-between;gap:16px;margin:12px 0 26px}
.order-warning{padding:12px 14px;background:var(--neutral-soft);border:1px solid var(--line);border-radius:12px;color:var(--ink);font-size:13px}
.order-detail-title{font-size:20px;overflow-wrap:anywhere}
.order-detail{display:grid;grid-template-columns:1fr 1.5fr;gap:16px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px;overflow-wrap:anywhere}
.order-detail>span{color:var(--muted)}
.order-detail>strong{font-weight:500}
.message-list{margin:18px 0}
.message-card{display:flex;flex-direction:column;gap:6px;width:100%;padding:16px 0;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;overflow-wrap:anywhere}
.message-card>span{color:var(--gold)}
.message-card>small{color:var(--muted)}
.console-search{margin:24px 0 18px}.console-search>label,.console-form>label{display:block;margin:12px 0 7px;color:var(--muted);font-size:12px}.console-search>div{display:flex;gap:8px}.console-search input{min-width:0;flex:1}.console-search .secondary-button{width:auto;flex:none;margin:0}
.console-client-row{display:flex;width:100%;gap:14px;justify-content:space-between;align-items:center;padding:18px 0;border:0;border-bottom:1px solid var(--line);text-align:left;background:transparent;color:var(--ink);font:inherit;cursor:pointer}.console-client-row>span{min-width:0;overflow-wrap:anywhere}.console-client-row strong,.console-client-row small{display:block}.console-client-row small,.console-reader small{color:var(--muted);font-size:12px}.console-client-row>span:last-child{font-size:12px;color:var(--gold);text-align:right}
.console-person{margin:22px 0}.console-person h2{margin:0 0 6px;overflow-wrap:anywhere}.console-person p{margin:5px 0;color:var(--muted)}.console-person .console-client-tier{color:var(--gold)}
.console-balances{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.console-balances small{display:block;font-size:10px;color:var(--muted)}.console-balances strong{display:block;font-weight:500;font-size:23px;overflow-wrap:anywhere}
.console-form{padding:20px 0;border-bottom:1px solid var(--line)}.console-form input,.console-form select,.console-search input{width:100%;padding:13px 12px;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--ink);font:inherit}.console-form .primary-button,.console-form .secondary-button{margin-top:18px}.console-form h2{font-size:20px}
.console-audit{padding:0;list-style:none}.console-audit li{display:flex;justify-content:space-between;gap:15px;padding:18px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.console-audit li>div{min-width:0}.console-audit strong,.console-audit small{display:block}.console-audit small{color:var(--muted);font-size:10px;margin-top:5px}.console-audit p{font-size:12px;margin:7px 0 0}.console-audit li>span{white-space:nowrap;color:var(--gold)}
.console-notice{padding:14px 0;color:var(--muted);font-size:13px}.console-warning{color:var(--ink);background:var(--neutral-soft);padding:14px;border-radius:12px}.console-reader{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.console-reader small{display:block}.console-reader>span{min-width:0;overflow-wrap:anywhere}.console-reader button{flex:none}
html{background:#e9e8e0;scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
button,input,textarea,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button{color:inherit;cursor:pointer}
a{color:inherit;text-decoration:none}
button:disabled{cursor:default;opacity:.45}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
button{border:0}
img{display:block;max-width:100%}
svg{display:block;flex-shrink:0}
[hidden]{display:none!important}
.app-shell{position:relative;width:100%;max-width:480px;min-height:100vh;min-height:100dvh;background:var(--paper);margin:0 auto;padding-bottom:calc(100px + env(safe-area-inset-bottom));overflow:clip}
.demo-strip{padding:calc(7px + env(safe-area-inset-top)) 12px 7px;display:flex;align-items:center;justify-content:center;gap:6px;background:#f2eadd;font-size:9px;letter-spacing:.15em;color:#76716a}
.demo-strip>span{width:4px;height:4px;background:#969188;border-radius:50%}
.app-header{display:flex;align-items:center;justify-content:space-between;padding:22px 25px 14px;min-height:84px}
.wordmark{font-size:17px;font-weight:600;letter-spacing:.2em;line-height:1.1}
.wordmark>span{display:block;font-size:7px;letter-spacing:.35em;margin-top:7px;color:#77726b}
.icon-button{width:44px;height:44px;display:grid;place-items:center;background:transparent;border:1px solid var(--line);border-radius:50%;position:relative}
.icon{width:21px;height:21px;stroke:currentColor;stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
.notification-dot{position:absolute;top:9px;right:10px;width:6px;height:6px;border-radius:50%;background:var(--gold);border:1.5px solid var(--paper)}
main{padding:12px 25px 20px}
.eyebrow{font-size:9px;letter-spacing:.17em;text-transform:uppercase;font-weight:500;color:#807b73}
.welcome{margin:8px 0 28px}
.welcome h1{font:normal clamp(30px,7.4vw,36px)/1.13 var(--display);letter-spacing:-.045em;margin:12px 0 0}
.welcome h1 em{font-weight:normal;color:#7e7971}
.greeting{font-size:11px;color:var(--muted)}
.membership{position:relative;isolation:isolate;overflow:hidden;min-height:219px;border-radius:17px;padding:22px 23px 20px;color:#f6f0df;background:radial-gradient(ellipse at 95% 10%,#5b5751 0,transparent 66%),linear-gradient(120deg,#36332f,#36332f);box-shadow:0 12px 26px #37343015}
.membership:before{content:"";position:absolute;width:235px;height:235px;right:-55px;top:-29px;border:1px solid #c5bb9635;border-radius:50%;z-index:-1}
.membership:after{content:"";position:absolute;width:235px;height:235px;right:-85px;top:-29px;border:1px solid #c5bb9635;border-radius:50%;z-index:-1}
.member-top,.member-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px}
.card-brand{font-size:11px;letter-spacing:.2em}
.card-brand small{display:block;font-size:7px;letter-spacing:.32em;color:#cac3b8;margin-top:4px}
.tier-badge{border:1px solid #dad2c668;border-radius:4px;color:#dcd4c8;padding:3px 9px;font-size:9px;letter-spacing:.18em}
.member-balance{margin-top:24px;display:flex;align-items:baseline;gap:10px}
.member-balance strong{font:normal 54px/1 var(--display);letter-spacing:-.035em;color:#f1e5ca}
.member-balance span{font-size:11px;color:#d3ccc0}
.member-bottom{margin-top:22px;font-size:9px;color:#d0c8bd}
.member-bottom .member-name{letter-spacing:.15em;text-transform:uppercase}
.member-bottom strong{font-size:13px;color:#e5d5b4;font-weight:500}
.membership .card-monogram{font:normal 96px/1 var(--display);position:absolute;right:15px;top:70px;color:#d7d3ad14;letter-spacing:-.14em;pointer-events:none}
.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}
.quick-action{display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid #e3dbce;background:transparent;border-radius:10px;min-height:47px;font-size:11px}
.quick-action .icon{width:18px;height:18px;color:#79746d}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:30px 0 16px}
.section-heading h2{font:normal 24px/1.2 var(--display);letter-spacing:-.025em;margin:0}
.text-link{display:inline-flex;align-items:center;gap:5px;min-height:34px;background:transparent;font-size:11px;color:#7a756e;padding:0}
.text-link .icon{width:15px;height:15px}
.order-copy{min-width:0;flex:1}
.order-ref{font-size:9px;letter-spacing:.09em;color:#8a857c;display:flex;justify-content:space-between;gap:5px}
.order-copy h3{font-size:13px;font-weight:500;line-height:1.45;margin:6px 0 5px}
.order-service{color:var(--muted);font-size:11px;margin:0 0 10px}
.status-label{display:inline-flex;align-items:center;gap:5px;font-size:9px;color:#78746c}
.status-label:before{content:"";width:4px;height:4px;border-radius:50%;background:currentColor}
.status-label[data-stage="2"]{color:#9a7d44}
.status-label[data-stage="3"],.status-label[data-stage="4"]{color:#5d5953}
.order-chevron{align-self:center;color:#a09a91}
.order-chevron .icon{width:15px}
.editorial{position:relative;overflow:hidden;margin-top:28px;min-height:144px;background:#eee6d9;border-radius:12px;padding:22px}
.editorial:after{content:"CC";position:absolute;right:-6px;top:5px;transform:rotate(-18deg);font:normal 128px/1.2 var(--display);letter-spacing:-.18em;color:#87827a17}
.editorial .eyebrow{font-size:9px}
.editorial p{position:relative;z-index:1;font:normal 24px/1.17 var(--display);letter-spacing:-.025em;margin:10px 0 8px}
.editorial .text-link{position:relative;z-index:1;font-size:9px}
.quiet-note{font-size:9px;line-height:1.7;color:#979188;margin:18px 0 0;text-align:center}
.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);z-index:20;width:100%;max-width:480px;display:grid;grid-template-columns:repeat(4,1fr);padding:12px 12px calc(12px + env(safe-area-inset-bottom));background:#f6f4eef5;border-top:1px solid #e8e0d3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.bottom-nav a{min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#9d978e;font-size:9px;letter-spacing:.01em;border-radius:8px}
.bottom-nav .icon{width:21px;height:21px;stroke-width:1.4}
.bottom-nav a.active{color:#423f3a}
.bottom-nav a.active:before{content:"";position:absolute;top:0;width:25px;height:2px;border-radius:0 0 4px 4px;background:#6b6660}
.page-heading{margin:8px 0 24px}
.page-heading h1{font:normal 35px/1.15 var(--display);letter-spacing:-.035em;margin:9px 0 8px}
.page-heading p{color:var(--muted);font-size:11px;line-height:1.7;margin:0;max-width:300px}
.segmented{display:flex;background:#f1e8db;border-radius:10px;padding:4px;margin:0 0 18px}
.segmented button{flex:1;border-radius:7px;min-height:39px;background:transparent;color:#878179;font-size:11px}
.segmented button.selected{background:var(--white);color:var(--ink);box-shadow:0 2px 5px #29272310}
.search-field{position:relative;display:flex;align-items:center;margin-bottom:18px}
.search-field .icon{position:absolute;left:14px;width:17px;color:#989289}
.search-field input{width:100%;min-height:47px;border:1px solid var(--line);background:transparent;border-radius:9px;padding:11px 12px 11px 40px;font-size:16px;color:var(--ink)}
.search-field input::placeholder{font-size:11px;color:#9b958c}
.empty-state{padding:42px 15px;text-align:center;color:var(--muted)}
.empty-state .icon{width:30px;height:30px;margin:0 auto 15px;color:#a19b91}
.empty-state h3{color:var(--ink);font:normal 23px var(--display);margin:0 0 8px}
.empty-state p{font-size:11px;margin:0}
.back-link{display:inline-flex;gap:7px;align-items:center;font-size:11px;color:#858078;min-height:38px;margin:0 0 6px}
.back-link .icon{width:16px}
.detail-title{padding:21px 0 20px;margin:7px 0 9px;border-bottom:1px solid var(--line)}
.detail-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.detail-meta .status-label{font-size:10px}
.detail-title h1{font:normal 30px/1.15 var(--display);letter-spacing:-.04em;margin:7px 0}
.detail-title>p{color:var(--muted);font-size:11px;margin:0}
.info-pair{display:flex;justify-content:space-between;gap:20px;font-size:11px;padding:15px 0;border-bottom:1px solid var(--line)}
.info-pair>span{color:var(--muted)}
.info-pair strong{font-weight:500}
.timeline{margin:20px 0 25px;padding:0;list-style:none}
.timeline li{display:flex;gap:15px;position:relative;min-height:60px}
.timeline li:last-child{min-height:30px}
.timeline li:not(:last-child):before{content:"";position:absolute;top:22px;bottom:0;left:10px;width:1px;background:#e4dccf}
.timeline li.complete:not(:last-child):before{background:#a9a299}
.step-dot{width:21px;height:21px;display:grid;place-items:center;flex-shrink:0;border-radius:50%;background:var(--paper);border:1px solid #ded6ca;color:#9e988f;position:relative;z-index:1}
.step-dot .icon{width:11px;height:11px}
.timeline li.complete .step-dot{background:#89847c;border-color:#89847c;color:#fff}
.timeline li.current .step-dot{border-color:#b69657;background:#f3ecd9;color:#9e7f41;box-shadow:0 0 0 4px #b8996112}
.step-copy strong{display:block;font-size:11px;font-weight:400;color:#99938a;line-height:22px}
.step-copy small{display:block;font-size:9px;color:#958f87;margin-top:3px}
.timeline li.complete .step-copy strong,.timeline li.current .step-copy strong{color:var(--ink)}
.timeline li.current .step-copy strong{font-weight:500}
.section-label{font-size:11px;color:#858078;letter-spacing:.04em;margin:27px 0 8px}
.service-row{display:flex;justify-content:space-between;gap:18px;padding:10px 0;font-size:11px}
.service-row span{color:#77726b}
.service-row strong{white-space:nowrap;font-weight:400}
.total-row{display:flex;align-items:baseline;justify-content:space-between;border-top:1px solid var(--line);margin-top:8px;padding:16px 0 5px;font-size:12px}
.total-row strong{font:normal 28px var(--display);letter-spacing:-.04em}
.primary-button,.secondary-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:49px;padding:12px 18px;border-radius:10px;font-size:11px}
.primary-button{background:var(--charcoal);color:#f7f4e7}
.secondary-button{background:transparent;border:1px solid #e1d9cc}
.primary-button .icon,.secondary-button .icon{width:17px;height:17px}
.detail-actions{display:grid;gap:10px;margin-top:23px}
.demo-control{margin-top:28px;border-top:1px dashed #ded6ca;padding-top:17px}
.demo-control p{font-size:9px;color:#9a948b;margin:5px 0 12px}
.button-row{display:flex;gap:9px}
.button-row>button{flex:1;min-height:42px;font-size:11px;background:#f1e9db;border-radius:7px}
.button-row>button:last-child{flex:0 0 78px;background:transparent;border:1px solid var(--line)}
.club-progress{margin:25px 0 27px}
.club-progress-top{display:flex;align-items:center;justify-content:space-between;font-size:11px}
.club-progress-top strong{font-weight:500}
.club-progress-top>span{font-size:9px;color:#928c83}
.progress-track{height:3px;background:#e4dcd0;border-radius:3px;margin:13px 0 9px;overflow:hidden}
.progress-fill{width:85%;height:100%;background:linear-gradient(90deg,#858078,#b79c62)}
.club-progress p{font-size:11px;color:#8b857d;margin:0}
.club-progress b{font-weight:500;color:#646059}
.benefit-list{margin:15px 0 25px}
.benefit{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);align-items:center}
.benefit>.icon{width:23px;height:23px;color:#8e8880}
.benefit strong{font-size:11px;font-weight:500;display:block}
.benefit p{font-size:11px;color:var(--muted);margin:4px 0 0}
.ledger-row{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-top:1px solid var(--line)}
.ledger-row strong{font-size:11px;font-weight:400}
.ledger-row small{display:block;font-size:9px;color:var(--muted);margin-top:4px}
.ledger-value{font-size:13px;color:#6f6a63}
.ledger-value.negative{color:#998466}
.tier-table{width:100%;border-collapse:collapse;margin:18px 0;font-size:11px}
.tier-table th,.tier-table td{padding:12px 3px;text-align:left;border-bottom:1px solid var(--line)}
.tier-table th{font-size:9px;font-weight:400;color:var(--muted)}
.tier-table td:last-child{text-align:right;color:#77726b}
.tier-table tr.current-tier td{font-weight:500;color:#4a4742}
.profile-hero{display:flex;align-items:center;gap:17px;margin:15px 0 29px}
.avatar{width:65px;height:65px;display:grid;place-items:center;flex-shrink:0;background:#ebe3d6;border:1px solid #dfd7cb;border-radius:50%;font:normal 26px var(--display);color:#817c74}
.profile-hero h1{font:normal 31px var(--display);letter-spacing:-.025em;margin:0 0 5px}
.profile-hero p{font-size:11px;color:#908a82;margin:0}
.profile-section{margin:0 0 27px}
.profile-section>.eyebrow{display:block;margin:0 0 10px;font-size:9px}
.menu-row{display:flex;align-items:center;gap:13px;min-height:58px;width:100%;padding:12px 0;background:transparent;text-align:left;border-bottom:1px solid var(--line)}
.menu-row>.icon{color:#948f86;width:20px;height:20px}
.menu-row>span{flex:1;font-size:11px}
.menu-row small{display:block;font-size:9px;color:var(--muted);margin-top:4px}
.menu-row>.chevron{flex:none;color:#a49e95}
.menu-row .chevron .icon{width:15px;height:15px}
.switch{width:37px;height:22px;flex:none!important;background:#ddd5c9;border-radius:20px;padding:3px;transition:background .2s}
.switch:after{content:"";display:block;width:16px;height:16px;background:#fffcf4;border-radius:50%;box-shadow:0 1px 3px #0002;transition:transform .2s}
.switch.on{background:#817c74}
.switch.on:after{transform:translateX(15px)}
.profile-footer{text-align:center;color:#a19b92;font-size:9px;padding:7px 0}
.profile-footer .footer-brand{font-size:11px;letter-spacing:.18em;color:#88837b;margin-bottom:5px}
.sheet{position:fixed;inset:auto 0 0;margin:0 auto;width:min(100%,480px);max-width:480px;max-height:88vh;max-height:88dvh;border:0;border-radius:24px 24px 0 0;background:var(--paper);color:var(--ink);padding:35px 26px calc(28px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;box-shadow:0 -15px 60px #2d2a2722}
.sheet::backdrop{background:#29262360;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.sheet-handle{position:absolute;top:10px;left:calc(50% - 17px);width:34px;height:3px;background:#ddd5c9;border-radius:5px}
.sheet-close{position:absolute;right:17px;top:20px;width:36px;height:36px;border-color:transparent}
.sheet-close .icon{width:19px;height:19px}
.sheet h2{font:normal 30px/1.2 var(--display);letter-spacing:-.035em;margin:12px 35px 15px 0}
.sheet p,.sheet li{font-size:12px;line-height:1.8;color:#847e77}
.sheet ul,.sheet ol{padding-left:20px}
.sheet .primary-button{margin-top:22px}
.sheet label{display:block;font-size:11px;color:#88827a;margin:17px 0 7px}
.sheet input,.sheet textarea{display:block;width:100%;font-size:16px;min-height:48px;border-radius:8px;border:1px solid #dfd7cb;background:#fcfaf3;color:var(--ink);padding:12px}
.sheet textarea{min-height:120px;resize:vertical}
.sheet select{display:block;width:100%;min-height:48px;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink);font:inherit;padding:12px}
.sheet input[type=hidden]{display:none}
.desk-summary{padding:20px 0;border-bottom:1px solid var(--line)}
.desk-summary>small{display:block;margin:8px 0;color:var(--muted);overflow-wrap:anywhere}
.desk-summary>.text-link{margin-right:18px}
.entry-form details{margin-top:24px}.entry-form details>label{display:block;margin:18px 0 8px;color:var(--muted);font-size:12px}
.entry-form details>summary{padding:12px 0;cursor:pointer}
[data-theme=dark] .sheet textarea{background:#25221f;border-color:#544638;color:#f3e9dc}
.sheet .field-note{font-size:11px;line-height:1.7;margin:9px 0;color:#9b958c}
.form-error{color:#9e583d!important;font-size:11px!important}
.card-qr{display:flex;align-items:center;justify-content:center;width:205px;height:205px;margin:25px auto 15px;background:#fff;border:12px solid white;border-radius:8px}
.qr-svg{width:100%;height:100%}
.card-number{text-align:center;font-size:12px;letter-spacing:.24em;margin:8px 0;color:#6d6962}
.card-caption{text-align:center;font-size:11px!important;max-width:270px;margin:8px auto 22px}
.card-title{text-align:center}
.card-title h2{margin-right:0}
.card-title .eyebrow{font-size:9px}
.notification-item{display:flex;gap:13px;align-items:flex-start;border-top:1px solid var(--line);padding:18px 0}
.notification-item>.icon{color:#979188;width:19px;height:19px}
.notification-item strong{display:block;font-size:12px;font-weight:500}
.notification-item p{font-size:11px;margin:4px 0}
.notification-item small{font-size:9px;color:#9d978e}
.toast{position:fixed;left:50%;bottom:calc(100px + env(safe-area-inset-bottom));transform:translate(-50%,12px);width:max-content;max-width:calc(100% - 44px);padding:12px 19px;border-radius:11px;background:#393632;color:#f9f6eb;font-size:11px;line-height:1.6;opacity:0;visibility:hidden;transition:opacity .18s,transform .18s;box-shadow:0 8px 30px #2d2b272a;z-index:100;text-align:center;pointer-events:none}
.toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}
body.modal-open{overflow:hidden}
.desktop-note{display:none}
.noscript{margin:30px auto;max-width:420px;padding:15px}
@media(min-width:900px) and (hover:hover) and (pointer:fine){
  body{padding:28px 0 28px 200px;background:radial-gradient(ellipse at 17% 70%,#ddd5c966,transparent 55%)}
  .app-shell{max-width:430px;min-height:calc(100vh - 56px);border:1px solid #fff9;border-radius:23px 23px 0 0;box-shadow:0 25px 90px #433f3b20}
  .bottom-nav{max-width:430px;left:calc(50% + 100px);border-left:1px solid #fff7;border-right:1px solid #fff7}
  .demo-strip{border-radius:22px 22px 0 0}
  .desktop-note{display:flex;position:fixed;left:max(30px,calc(50% - 420px));width:230px;top:78px;bottom:57px;flex-direction:column;justify-content:space-between}
  .desktop-wordmark{font-size:34px;line-height:1.04;font-weight:500;letter-spacing:.16em;width:max-content}
  .desktop-wordmark>span{display:block;font-size:9px;letter-spacing:.3em;margin:13px 0 0 2px;color:#837e76}
  .desktop-caption p{font:normal 28px/1.35 var(--display);letter-spacing:-.035em;margin:15px 0 25px}
  .desktop-caption small{font-size:11px;color:#938d85}
  .desktop-line{display:block;width:28px;height:1px;background:#c0b9ae;margin-bottom:18px}
  .desktop-edition{font-size:9px;letter-spacing:.14em;color:#9a948b}
  .sheet{inset:0;width:410px;max-height:80vh;height:max-content;border-radius:19px;margin:auto;bottom:0}
  .sheet-handle{display:none}
  .toast{left:calc(50% + 100px)}
}
@media(max-width:359px){
  main{padding-left:18px;padding-right:18px}
  .app-header{padding-left:18px;padding-right:18px}
  .membership{padding:20px;min-height:208px}
  .member-balance strong{font-size:49px}
  .quick-action{font-size:11px;gap:6px}
  .order-card{gap:11px}
  .order-copy h3{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{transition:none!important;animation:none!important}
}

/* Clean & Care: site logo, Archi type, black, white and sand-gold. */
:root{--paper:#faf8f4;--white:#fffdfa;--ink:#25221e;--muted:#7f7972;--line:#e4ded5;--charcoal:#25221e;--gold:#b8945c;--gold-light:#e7cc9c}
.app-header{padding-top:17px;padding-bottom:12px}
.brand-lockup{display:flex;align-items:center;gap:12px}
.brand-lockup img{width:47px;height:47px;object-fit:contain;filter:brightness(0)}
.wordmark{font-weight:500;font-size:17px;letter-spacing:.045em}
.wordmark>span{font-size:7px;letter-spacing:.24em;margin-top:5px}
.desktop-logo{width:90px;height:90px;object-fit:contain;filter:brightness(0);margin-bottom:15px}
.desktop-wordmark{font-size:28px;letter-spacing:.04em}
.welcome h1{font-weight:400;font-size:clamp(30px,7.4vw,35px);line-height:1.17;letter-spacing:-.035em}
.welcome h1 em{font-style:normal;color:#9f7d43}
.membership{background:radial-gradient(ellipse at 105% -15%,#625441,transparent 63%),linear-gradient(125deg,#191817,#312b23);border:1px solid #594d3c;box-shadow:0 12px 26px #211b151a}
.member-balance strong{font-weight:300;font-size:55px;letter-spacing:-.045em}
.membership .card-monogram{display:none}
.card-emblem{position:absolute;width:113px;height:113px;object-fit:contain;right:13px;top:58px;opacity:.12;pointer-events:none}
.member-name{font-size:9px}
.card-brand{letter-spacing:.1em;font-size:11px}
.member-balance span,.member-bottom{color:#c9bdab}
.tier-badge{border-color:#ad96766b;color:#e6d0aa}
.section-heading h2{font-size:22px;font-weight:400}
.status-label,.status-label[data-stage="3"],.status-label[data-stage="4"]{color:#76644b}
.status-label[data-stage="2"]{color:#a07e43}
.bottom-nav a.active{color:#372b1a}
.bottom-nav a.active:before{background:#b8945c}
.bottom-nav a{font-size:10px}
.quick-action{background:#fffcf8;font-size:12px}
.order-copy h3{font-size:14px}
.order-service{font-size:11px}
.order-ref{font-size:9px}
.status-label{font-size:10px}
.greeting{font-size:12px}
.editorial{background:linear-gradient(110deg,#ede5d8,#e8dfd0)}
.editorial p{font-size:25px;line-height:1.25}
.timeline li.complete .step-dot{background:#a4895b;border-color:#a4895b}
.timeline li.complete:not(:last-child):before{background:#c9bda7}
.timeline .step-copy strong{font-size:12px}
.page-heading p,.primary-button,.secondary-button,.menu-row>span{font-size:12px}
.page-heading h1{font-weight:400}
.avatar{background:#ece3d4;color:#8b7048;border-color:#ded0b8}
.switch.on{background:#ac8b55}
.progress-fill{background:linear-gradient(90deg,#c5b18a,#a38148)}
.benefit>.icon,.quick-action .icon,.menu-row>.icon{color:#9e8254}
.ledger-value{color:#8d713e}
.toast{background:#2a251f;color:#faf4e8}
.demo-strip{background:#eee7db;color:#85765f}
.demo-strip>span{background:#b79a65}
.quiet-note{color:#91867a}
@media(min-width:900px) and (hover:hover) and (pointer:fine){body{background:radial-gradient(ellipse at 17% 70%,#dcd2c566,transparent 55%)}}

/* New site in the user's video is the primary visual reference. */
:root{--paper:#f4efeb;--white:#fcf9f6;--ink:#292420;--line:#e1d7cf;--gold:#bc9067;--display:Georgia,"Times New Roman",serif}
.wordmark{font:normal 24px/1.12 var(--display);letter-spacing:-.03em}
.wordmark>span{font-family:var(--sans);font-size:7px;letter-spacing:.25em;margin-top:6px;color:#988572}
.desktop-wordmark{font:normal 32px/1.1 var(--display);letter-spacing:-.03em}
.desktop-wordmark>span{font-family:var(--sans);letter-spacing:.25em}
.membership{background:radial-gradient(ellipse at 105% -15%,#72604c,transparent 63%),linear-gradient(125deg,#201d1b,#3a312a);border-color:#6c5843}
.membership .card-brand{font-family:var(--display);letter-spacing:.04em;font-size:14px}
.membership .card-brand small{font-family:var(--sans);font-size:7px}
.membership .card-emblem{opacity:.065}
.primary-button{background:#bd9066;color:#fffaf3}
.bottom-nav{background:#f4efebf5}
.bottom-nav a.active{color:#8d643e}
.bottom-nav a.active:before{background:#ba8e64}
.quick-action{background:#fcf9f6}
.welcome h1{font-weight:normal;font-size:clamp(31px,7.8vw,37px);letter-spacing:-.045em}
.welcome h1 em{color:#a67d56}
.section-heading h2{font-size:25px}
.detail-title h1,.profile-hero h1,.page-heading h1{font-weight:normal}
.member-balance strong{font-family:var(--display);font-size:57px;font-weight:normal}
.demo-strip{background:#eae1d8;color:#8a7665}
.demo-strip>span{background:#b88b61}
.editorial{background:linear-gradient(105deg,#eadfd5,#e5d7ca)}
.editorial p{font-size:27px}
.profile-hero h1{overflow-wrap:anywhere}

/* Presentation onboarding uses fictional data; live identity providers come later. */
.app-shell.entry-mode{padding-bottom:calc(28px + env(safe-area-inset-bottom))}
.entry-intro{margin:14px 0 23px}
.entry-intro h1{font:normal clamp(32px,8.7vw,41px)/1.13 var(--display);letter-spacing:-.045em;margin:13px 0 15px}
.entry-intro h1 em{font-style:normal;color:#a67d56}
.entry-intro>p{font-size:12px;line-height:1.8;color:var(--muted);margin:0}
.entry-card{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 110% -20%,#7b6650,transparent 65%),linear-gradient(125deg,#201d1b,#3a312a);color:#f2e6cf;border:1px solid #6c5843;border-radius:16px;padding:23px 24px;box-shadow:0 12px 26px #211b1515}
.entry-card:after{content:"";position:absolute;z-index:-1;width:240px;height:240px;right:-120px;top:-42px;border:1px solid #c9aa7d44;border-radius:50%;box-shadow:0 0 0 28px #c9aa7d0b,0 0 0 29px #c9aa7d22}
.entry-card-top{display:flex;align-items:center;justify-content:space-between;gap:20px;font:normal 14px var(--display);letter-spacing:.04em}
.entry-card-top small{display:block;font:7px var(--sans);letter-spacing:.3em;color:#c5b39d;margin-top:6px}
.entry-card-top>.icon{color:#d5bb94;width:24px;height:24px}
.entry-card>p{font:normal 25px/1.2 var(--display);letter-spacing:-.02em;margin:25px 0 21px}
.entry-card-bottom{font-size:7px;letter-spacing:.23em;color:#cbb89f}
.entry-benefits{display:flex;justify-content:space-between;gap:10px;margin:20px 0 0;font-size:10px;color:#8a7867}
.entry-benefits>span{display:flex;align-items:center;gap:7px}
.entry-benefits .icon{width:17px;height:17px}
.entry-actions{margin-top:23px;text-align:center}
.guest-entry{display:grid;gap:10px;margin:20px 0}
.update-page{width:100%;max-width:430px;margin:8vh auto;padding:24px}.update-page h1{font:normal 32px/1.2 var(--display)}.update-page>p{color:var(--muted);line-height:1.7}.update-page .primary-button{margin-top:24px}
.entry-actions>.primary-button,.entry-form>.primary-button{display:flex;align-items:center;justify-content:center;gap:14px;min-height:52px}
.entry-actions>.primary-button .icon,.entry-form>.primary-button .icon{width:17px;height:17px}
.entry-actions>.text-link{margin-top:8px;min-height:42px;font-size:12px}
.entry-form{margin-top:26px}
.entry-form>label:not(.choice-field){display:block;font-size:12px;color:#82766b;margin:20px 0 8px}
.entry-form>input,.entry-form label>input:not([type=checkbox]){display:block;width:100%;font-size:16px;min-height:51px;border-radius:9px;border:1px solid var(--line);background:var(--white);color:var(--ink);padding:13px 14px}
.entry-form>select,.entry-form label>select{display:block;width:100%;min-width:0;font-size:16px;min-height:51px;border-radius:9px;border:1px solid var(--line);background:var(--white);color:var(--ink);padding:13px 14px}
.entry-form label:has(>input:not([type=checkbox])){display:block;margin:14px 0}
.entry-form>.field-note{font-size:11px;line-height:1.7;color:var(--muted);margin:9px 0}
.entry-form>.primary-button{margin-top:24px}
.entry-form>.text-link{display:flex;margin:13px auto 0;min-height:44px;font-size:12px}
.entry-note{display:flex;gap:12px;margin-top:30px;border-top:1px solid var(--line);padding-top:20px;color:var(--muted)}
.entry-note>.icon{width:17px;height:17px;margin-top:3px;color:#ac8b6e}
.entry-note>p{font-size:11px;line-height:1.75;margin:0}
.label-optional{font-size:10px;font-weight:400;color:var(--muted);margin-left:6px}
input[type=date]{display:block;width:100%;min-width:0;min-height:49px;color:var(--ink);-webkit-appearance:none;appearance:none;text-align:left}
input[type=date]::-webkit-date-and-time-value{text-align:left}
.choice-field{display:flex;align-items:flex-start;gap:10px;margin:24px 0!important;cursor:pointer}
.choice-field>input{flex:0 0 20px;width:20px;min-height:20px;height:20px;margin:2px 0 0;padding:0;accent-color:#b98e67}
.choice-field>span{font-size:12px;line-height:1.6}
.choice-field small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:3px}
.profile-birthday{display:flex;justify-content:space-between;gap:12px;padding:4px 0 18px;font-size:11px;color:var(--muted)}
.profile-birthday>strong{color:var(--ink);font-weight:400;text-align:right}
.profile-hero>div:last-child{min-width:0}
.profile-hero h1{font-size:28px;line-height:1.18}
.member-bottom{align-items:flex-end}
.member-name{max-width:70%;overflow-wrap:anywhere;line-height:1.7}
.member-bottom>span:last-child{flex-shrink:0}
.greeting{overflow-wrap:anywhere}
.profile-entry-link{min-height:44px}
.profile-logout{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin:24px 0 20px}
@media(max-width:359px){.entry-benefits{font-size:9px;gap:5px}.entry-benefits>span{gap:5px}.entry-card{padding:20px}.entry-card>p{font-size:23px}}

.header-actions{display:flex;gap:9px;align-items:center}
.header-actions .icon-button{width:38px;height:38px}
.account-note{display:flex;align-items:flex-start;gap:10px;margin:21px 0 25px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted)}
.account-note>.icon{width:17px;height:17px;margin-top:3px;color:var(--gold)}
.account-note>p{font-size:11px;line-height:1.7;margin:0;flex:1;min-width:0}
.account-note>a{display:flex;align-items:center;gap:2px;font-size:10px;color:var(--gold);min-height:30px;flex-shrink:0}
.account-note>a .icon{width:13px;height:13px}
.theme-options{display:grid;gap:11px;margin:24px 0 5px}
.theme-options>button{min-height:52px;text-align:left;padding:13px 16px;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--ink)}
.theme-options>button[aria-pressed=true]{border-color:var(--gold);box-shadow:inset 3px 0 var(--gold)}
.club-conditions{font-size:12px;line-height:1.8;color:var(--muted)}
.secondary-button{color:var(--ink);border-color:var(--line)}
html[data-theme=light]{color-scheme:light}
html[data-theme=dark]{color-scheme:dark;--paper:#191817;--white:#25221f;--ink:#f0e7db;--muted:#b8ab9e;--line:#413a33;--gold:#cda37e;--charcoal:#211e1b;background:#121110}
[data-theme=dark] body{background:#121110}
[data-theme=dark] .app-shell{border-color:#38322c;box-shadow:0 25px 90px #0004}
[data-theme=dark] .wordmark>span,[data-theme=dark] .eyebrow{color:#b8a38d}
[data-theme=dark] .entry-intro h1 em,[data-theme=dark] .welcome h1 em{color:#cca17b}
[data-theme=dark] .primary-button{background:#c79d77;color:#201912}
[data-theme=dark] .secondary-button{background:#25211e;color:var(--ink)}
[data-theme=dark] .quick-action{background:#24211e;border-color:var(--line);color:var(--ink)}
[data-theme=dark] .quick-action .icon,[data-theme=dark] .menu-row>.icon{color:#c4a280}
[data-theme=dark] .bottom-nav{background:#1c1a18f5;border-color:#3b342e}
[data-theme=dark] .bottom-nav a{color:#b0a396}
[data-theme=dark] .bottom-nav a.active{color:#e0b58c}
[data-theme=dark] .bottom-nav a.active:before{background:#d3a57d}
[data-theme=dark] .greeting,[data-theme=dark] .text-link,[data-theme=dark] .back-link{color:#b8ab9e}
[data-theme=dark] .segmented{background:#2b2622}
[data-theme=dark] .segmented button{color:#b6a89a}
[data-theme=dark] .segmented button.selected{background:#44382e;color:#f3e7d7}
[data-theme=dark] .empty-state .icon{color:#ad9277}
[data-theme=dark] .empty-state h3{color:#e7d9c7}
[data-theme=dark] .editorial{background:linear-gradient(105deg,#332a23,#28231e)}
[data-theme=dark] .editorial:after{color:#ddba8d12}
[data-theme=dark] .avatar{background:#30271f;border-color:#564431;color:#e0b78c}
[data-theme=dark] .profile-hero p{color:#bcafa1}
[data-theme=dark] .switch{background:#51473e}
[data-theme=dark] .switch.on{background:#ba8e66}
[data-theme=dark] .sheet::backdrop{background:#0009}
[data-theme=dark] .sheet-handle{background:#675344}
[data-theme=dark] .sheet input,[data-theme=dark] .entry-form>input,[data-theme=dark] .entry-form label>input:not([type=checkbox]){background:#25221f;border-color:#544638;color:#f3e9dc}
[data-theme=dark] .sheet label,[data-theme=dark] .entry-form>label:not(.choice-field){color:#c6b5a4}
[data-theme=dark] .sheet p,[data-theme=dark] .sheet li,[data-theme=dark] .field-note,[data-theme=dark] .entry-note{color:#b8ab9e}
[data-theme=dark] input::placeholder{color:#a39485}
[data-theme=dark] .form-error{color:#efaa8b!important}
[data-theme=dark] .quiet-note,[data-theme=dark] .profile-footer{color:#b4a392}
[data-theme=dark] .footer-brand,[data-theme=dark] .desktop-caption small,[data-theme=dark] .desktop-edition{color:#b5a18a}
[data-theme=dark] .toast{background:#ebd3b9;color:#241c15}
[data-theme=dark] .entry-benefits{color:#c0a589}
@media(min-width:900px) and (hover:hover) and (pointer:fine){[data-theme=dark] body{background:radial-gradient(ellipse at 17% 70%,#2f251d,transparent 60%),#121110}}

.update-banner{position:fixed;z-index:120;left:50%;bottom:calc(100px + env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;align-items:center;gap:12px;width:calc(100% - 32px);max-width:490px;padding:16px 18px;background:var(--white);color:var(--ink);border:1px solid #b49a70;border-radius:16px;box-shadow:0 8px 35px #0003;font-size:14px}.update-banner[hidden],.update-banner button[hidden]{display:none}.update-banner span{flex:1}.update-banner button{border:0;border-radius:9px;background:#a4875d;color:#fff;padding:10px 12px;font:inherit;cursor:pointer}.update-banner .update-close{padding:4px;background:transparent;color:inherit;font-size:23px}

.bonus-history{list-style:none;margin:0;padding:0}
.bonus-history li{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding:17px 0;font-size:13px}
.bonus-history li>div{min-width:0;overflow-wrap:anywhere}
.bonus-history strong{font-weight:500;font-size:12px}
.bonus-history small{display:block;color:var(--muted);font-size:10px;margin-top:5px}
.bonus-history li>span{flex-shrink:0;color:var(--ink);font-size:17px;font-variant-numeric:tabular-nums}
.activation-choice{display:flex;align-items:center;gap:12px;padding:15px 12px;border:1px solid var(--line);border-radius:10px;cursor:pointer;margin:12px 0!important}
.sheet .activation-choice>input{width:19px;min-height:19px;height:19px;flex:0 0 19px;margin:0;accent-color:var(--gold)}
.activation-choice>span{min-width:0;overflow-wrap:anywhere;font-size:13px;color:var(--ink)}
.activation-choice small{display:block;color:var(--muted);margin-top:4px;font-size:11px}
input[readonly]{color:var(--muted);background:var(--paper)}
.member-top .tier-badge{max-width:48%;text-align:center;overflow-wrap:anywhere;letter-spacing:.06em}
.member-bottom .member-name{flex:1;min-width:0;max-width:58%}
.member-bottom>span:last-child{max-width:49%;text-align:right;white-space:normal}
.account-note>.text-link{flex:0 0 90px;justify-content:flex-end;text-align:right;color:var(--gold);font-size:10px;line-height:1.5}
.member-balance strong{font-size:clamp(32px,11vw,54px);overflow-wrap:anywhere;min-width:0}
@media(max-width:359px){.membership{padding:20px 18px}.member-top .card-brand{font-size:9px}.member-bottom{gap:7px}.member-bottom .member-name{letter-spacing:.08em}.member-balance{gap:7px}}
/* Contact details use the same profile sheet and theme. */
.integration-callback{overflow-wrap:anywhere;user-select:all}
#profile-sync-note{margin:12px 0 24px}
#telegram-login:empty{display:none}
/* Common-ledger deadlines are factual server values, not a timer in browser storage. */
.points-expiry{font-size:.82rem;line-height:1.6;color:var(--muted);margin:12px 0;overflow-wrap:anywhere}
.tier-progress{margin:19px 0 22px}
.tier-progress-labels{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px;font-size:12px;line-height:1.5;color:var(--ink)}
.tier-progress-labels>span{max-width:48%;overflow-wrap:anywhere}
.tier-progress-labels>span:last-child{text-align:right}
.tier-progress-track{height:6px;border-radius:6px;background:var(--line);overflow:hidden}
.tier-progress-fill{display:block;height:100%;border-radius:inherit;background:#987442}
[data-theme=dark] .tier-progress-fill{background:#c8a271}
.order-services{padding-left:1.25rem;line-height:1.7;overflow-wrap:anywhere}
.home-contacts{margin:0 0 28px;padding:27px 22px 22px;border:1px solid var(--line);border-radius:20px;background:#f8f5f0}
.home-contacts h2{font:normal 32px/1.15 var(--display);letter-spacing:-.025em;margin:10px 0 25px}
.home-contacts>.eyebrow{font-size:9px;letter-spacing:.16em}
.contact-label{font-size:12px;letter-spacing:.02em;color:#71685e;margin:0 0 12px}
.contact-channels{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.contact-channel{border:1px solid #dcd1c5;border-radius:12px;background:#f2ece4;display:flex;align-items:center;gap:9px;min-height:46px;padding:12px 10px;font-size:13px;color:#5c4c3d;overflow-wrap:anywhere}
.home-contacts .icon{width:20px;height:20px;flex:0 0 20px;color:#9a7d5c;stroke-width:1.4}
.contact-addresses{margin-top:25px;padding-top:22px;border-top:1px solid var(--line)}
.contact-place{display:flex;gap:11px;margin:16px 0 0}
.contact-place>div{min-width:0;overflow-wrap:anywhere}
.contact-place strong{display:block;font-size:13px;font-weight:500}
.contact-place small{display:block;margin-top:6px;font-size:11px;color:#71685e}
.contact-place .contact-route{display:inline-block;min-height:44px;margin:0;padding:10px 0 7px;border:0;background:transparent;font:inherit;font-size:11px;color:#8c6a47;text-align:left}
.contact-socials{display:flex;justify-content:center;gap:35px;margin-top:22px;border-top:1px solid var(--line);padding-top:20px}
.contact-social{display:flex;min-width:46px;min-height:46px;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-size:10px;color:#78634e}
.contact-social .icon{width:23px;height:23px}
.home-contacts a:focus-visible,.contact-route:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:8px}
[data-theme=dark] .home-contacts{background:#211e1a}
[data-theme=dark] .contact-channel{background:#2b261f;border-color:var(--line);color:var(--ink)}
[data-theme=dark] .contact-place .contact-route,[data-theme=dark] .contact-social{color:#d0ac87}
[data-theme=dark] .contact-label,[data-theme=dark] .contact-place small{color:var(--muted)}
[data-theme=dark] .home-contacts .icon{color:#c4a280}
@media(max-width:359px){.home-contacts{padding:22px 16px}.contact-channel{gap:6px;font-size:12px;padding:10px 8px}.contact-socials{gap:26px}}
.route-chooser{display:grid;gap:12px}
.route-chooser .secondary-button{min-height:48px;font-size:14px}
.route-destination{color:var(--ink);line-height:1.6}
.route-chooser .field-note{margin-bottom:0}
.philosophy-copy p{font-size:14px;line-height:1.85;color:var(--ink)}
/* Unread status remains in the inbox and badge; the colored stripe is hidden. */
.cc-notifications .message-card.cc-unread{border-left:0}

/* Shared controls; the complete type and colour hierarchy is defined below. */
.header-actions .icon-button{width:44px;height:44px;min-width:44px;flex:0 0 44px;padding:0;display:grid;place-items:center}
.header-actions .icon-button>span{display:grid;place-items:center}
.header-actions .icon-button .icon{width:22px;height:22px}
.entry-benefits{flex-wrap:wrap;row-gap:12px}
.notification-button{position:relative}
.lifecycle-tools{margin-top:24px;border-top:1px solid var(--line);padding-top:20px}

.new-request-button{margin:18px 0 24px;width:100%}.request-tabs,.request-photo-actions{display:flex;gap:14px;margin:18px 0;flex-wrap:wrap}.request-photo-actions label{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;margin:0}.request-photos{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.request-photos img{width:82px;height:90px;object-fit:cover;border-radius:8px}.request-photos>span{position:relative}.request-photos button{position:absolute;right:-5px;top:-5px;border-radius:50%;padding:2px 8px;background:var(--bg);border:1px solid var(--line)}.request-card{border-bottom:1px solid var(--line);padding:20px 0}.request-card p{white-space:pre-wrap;overflow-wrap:anywhere}#request-description{width:100%;resize:vertical;padding:12px;font:inherit;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:9px;box-sizing:border-box}#consultation-form label{display:block;margin-top:18px}#consultation-form input[type=datetime-local]{max-width:100%;box-sizing:border-box}.request-card small{display:block}

/* One customer type system: editorial headings, readable Archi, quiet sand accents.
   Functional copy is never reduced to decorative microtype. */
:root{--type-body:1rem;--type-note:.875rem;--type-brand:.75rem;--muted:#6c6259;--link-ink:#765333;--action-fill:#c49a73;--action-ink:#2b2118;--danger-ink:#91452e}
html{font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-size:var(--type-body);font-weight:400;line-height:1.6}
html[data-theme=dark]{--muted:#c0b3a6;--link-ink:#d3ad88;--action-fill:#c79d77;--action-ink:#201912;--danger-ink:#e6ad96;--neutral-soft:#28231f}

/* Primary copy and actions. */
.sheet p,.sheet li,.page-heading p,.entry-intro>p,.empty-state p,.entry-note>p,
.account-note>p,.club-conditions,.philosophy-copy p,.request-card p,
.choice-field>span,.activation-choice>span,.menu-row>span,.benefit strong,.order-copy h3,
.bonus-history li,.bonus-history strong,.ledger-row strong,.step-copy strong,.service-row,
.total-row,.info-pair,.profile-birthday,.order-detail,.order-card>strong,
.message-card strong,.notification-item strong,.theme-options>button{font-size:var(--type-body);line-height:1.6}
.primary-button,.secondary-button,.quick-action,.sheet .primary-button,.sheet .secondary-button,
.request-tabs .text-link,.segmented button,.button-row>button{font-size:var(--type-body);line-height:1.45;min-height:50px;padding:13px 16px;white-space:normal;overflow-wrap:anywhere}
.primary-button{background:var(--action-fill);color:var(--action-ink);font-weight:500}
.secondary-button{color:var(--ink);border-color:var(--line)}
.segmented{background:var(--neutral-soft)}
.segmented button{color:var(--muted)}
.segmented button.selected{color:var(--ink)}
.text-link,.back-link,.entry-form>.text-link,.entry-actions>.text-link,
.account-note>.text-link,.editorial .text-link,.contact-place .contact-route{font-size:var(--type-note);line-height:1.5;min-height:44px;color:var(--link-ink)}
.sheet .text-link{font-size:var(--type-body)}

/* Labels and secondary information share one readable size and contrast. */
.sheet label,.sheet .field-note,.sheet .quiet-note,.sheet .card-caption,
.sheet label small,.sheet .request-card small,.entry-form>label:not(.choice-field),
.entry-form details>label,.entry-form>.field-note,.field-note,.quiet-note,
.entry-note p,.entry-benefits,.label-optional,.choice-field small,.activation-choice small,.greeting,
.menu-row small,.profile-hero p,.profile-footer,.order-meta,.order-status,
.order-updated,.order-service,.order-ref,.status-label,.detail-title>p,
.order-warning,.section-label,.step-copy small,.club-progress-top,
.club-progress-top>span,.club-progress p,.benefit p,.ledger-row small,
.tier-table,.tier-table th,.bonus-history small,.message-card>small,
.notification-item p,.notification-item small,.contact-label,.contact-channel,
.contact-place strong,.contact-place small,.contact-social,.tier-progress-labels,
.points-expiry,.toast,.card-number,.desk-summary>small,.console-notice,
.console-search>label,.console-form>label,.console-client-row small,.console-reader small,
.console-client-row>span:last-child,.console-balances small,.console-audit small,.console-audit p{font-size:var(--type-note);line-height:1.6}
.sheet label,.sheet p,.sheet li,.sheet .field-note,.sheet .quiet-note,.entry-form>label:not(.choice-field),
.entry-form details>label,.entry-form>.field-note,.field-note,.quiet-note,.page-heading p,
.entry-intro>p,.entry-note,.entry-benefits,.entry-note p,.account-note>p,
.profile-hero p,.menu-row small,.profile-birthday>span,.profile-footer,
.order-meta,.order-updated,.order-ref,.order-service,.order-detail>span,
.detail-title>p,.step-copy small,.club-progress-top>span,.club-progress p,
.benefit p,.ledger-row small,.tier-table th,.tier-table td:last-child,.bonus-history small,
.message-card>small,.notification-item p,.notification-item small,.contact-label,
.contact-place small,.points-expiry,.label-optional,.choice-field small{color:var(--muted)}
.sheet .order-detail-title,.sheet .request-card strong,.sheet .message-card strong{color:var(--ink)}
.sheet .order-detail-title{font-size:1.125rem;line-height:1.5}
.form-error{font-size:var(--type-note)!important;line-height:1.6!important;color:var(--danger-ink)!important}
.card-caption{font-size:var(--type-note)!important}
.tier-table tr.current-tier td,.tier-table tr.current-tier td:last-child{color:var(--ink)}
.status-label,.status-label[data-stage],.order-status,.contact-social,.contact-channel{color:var(--link-ink)}

/* Retain the expressive heading hierarchy and restrained brand captions. */
.sheet h2{font-size:1.875rem;line-height:1.18;margin:12px 48px 22px 0}
.sheet h1{font:normal 1.875rem/1.18 var(--display);letter-spacing:-.035em;margin:12px 48px 22px 0}
.sheet h1,.sheet h2,.page-heading h1,.profile-hero h1{overflow-wrap:anywhere}
.sheet h3{font-size:1.125rem;line-height:1.45;margin:26px 0 14px}
.page-heading h1,.detail-title h1{font-size:2.125rem;line-height:1.18}
.section-heading h2{font-size:1.625rem;line-height:1.25}
.eyebrow,.sheet .eyebrow,.profile-section>.eyebrow,.home-contacts>.eyebrow,.editorial .eyebrow{font-size:var(--type-brand);line-height:1.6;letter-spacing:.14em}
.wordmark>span{font-size:.6875rem;line-height:1.5;letter-spacing:.12em;color:var(--muted)}
.desktop-wordmark>span,.desktop-edition{font-size:var(--type-brand);line-height:1.6;color:var(--muted)}
.desktop-caption small{font-size:var(--type-note);color:var(--muted)}
.membership .card-brand{font-size:var(--type-note)}
.membership .card-brand small,.entry-card-top small,.entry-card-bottom{font-size:.6875rem;line-height:1.6;letter-spacing:.15em}
.profile-footer .footer-brand{font-size:var(--type-brand)}
.member-name,.member-bottom,.tier-badge,.member-balance span{font-size:var(--type-note);line-height:1.5}
.tier-badge{letter-spacing:.04em;padding:5px 9px}
.member-top,.member-bottom{flex-wrap:wrap;gap:14px}
.member-name{max-width:100%;flex:1 1 130px;letter-spacing:.06em!important}
.member-bottom>span:last-child{font-size:var(--type-note)}
.member-balance strong{font-size:clamp(38px,12vw,56px)}

/* Reflow and spacing apply equally to sheets, narrow screens and text scaling. */
.app-header{gap:14px}.wordmark{min-width:0}.wordmark>span{overflow-wrap:anywhere}
.section-heading{align-items:flex-start;flex-wrap:wrap;row-gap:6px}
.profile-birthday{flex-wrap:wrap;row-gap:4px}.profile-birthday>strong{margin-left:auto}
.menu-row{padding:17px 0;gap:14px}.menu-row>span{min-width:0;overflow-wrap:anywhere}.menu-row .switch{flex-shrink:0}
.bottom-nav a{font-size:var(--type-note);line-height:1.35;color:var(--muted);min-width:0;min-height:52px}
.bottom-nav a>span{max-width:100%;text-align:center;overflow-wrap:anywhere}
.bottom-nav a.active{color:var(--link-ink)}
.sheet{padding-top:36px;scroll-padding:24px;overflow-x:hidden}
.sheet-close{width:44px;height:44px;right:16px;top:17px;min-width:44px}
.sheet-close .icon{width:22px;height:22px}
.sheet label{margin:22px 0 9px}
.sheet label small{display:block;margin-top:3px}
.sheet input,.sheet textarea,.sheet select,.entry-form input,.entry-form select{font-size:var(--type-body);line-height:1.5;min-width:0;max-width:100%}
.sheet textarea::placeholder,.sheet input::placeholder,.entry-form input::placeholder,.search-field input::placeholder{font-size:var(--type-body);color:var(--muted);opacity:1}
.sheet input[type=date],.sheet input[type=datetime-local]{appearance:none;-webkit-appearance:none;width:100%;min-inline-size:0;inline-size:100%;max-inline-size:100%;text-align:left;min-height:52px}
.sheet input[type=datetime-local]::-webkit-date-and-time-value,.sheet input[type=date]::-webkit-date-and-time-value{text-align:left;min-height:1.5em}
.sheet input[type=datetime-local]::-webkit-datetime-edit,.sheet input[type=date]::-webkit-datetime-edit{min-width:0;padding:0}
.sheet .quiet-note{margin:16px 0;text-align:left}
.sheet .card-caption{text-align:center}
.request-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:5px;background:var(--neutral-soft);border:1px solid var(--line);border-radius:12px;margin:24px 0}
.request-tabs .text-link{justify-content:center;padding:11px 7px;text-align:center}
.request-tabs .text-link[aria-pressed=true]{background:var(--paper);color:var(--ink);border-radius:8px;box-shadow:0 1px 4px #0000000a}
.request-photo-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 20px}
.sheet #consultation-form .request-photo-actions>label{display:flex;align-items:center;justify-content:center;text-align:center;font-size:var(--type-body);line-height:1.45;min-height:52px;padding:13px 10px;margin:0;color:var(--ink);border-color:var(--line)}
#request-description{background:var(--white);color:var(--ink);font-size:var(--type-body);line-height:1.6;min-height:144px;padding:14px 16px}
.request-photos button{min-width:44px;min-height:44px;right:-7px;top:-7px;background:var(--white);color:var(--ink);font-size:22px}
.request-card{padding:24px 0}
@media(max-width:359px){.sheet{padding-left:20px;padding-right:20px}.app-header{gap:8px}.wordmark{font-size:23px}.membership{padding:22px 18px}.entry-benefits{font-size:var(--type-note)}.tier-table th,.tier-table td{padding-left:2px;padding-right:2px}}

/* Each row keeps its value on the right; only the name and label may wrap. */
.membership .member-bottom{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:baseline;gap:10px}
.membership .member-name{display:block;min-width:0;max-width:100%;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.6;letter-spacing:.055em!important}
.membership .member-bottom .member-status{max-width:none;justify-self:end;text-align:right;white-space:nowrap;line-height:1.6}
.member-card-meta{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:baseline;gap:10px;margin-top:17px;padding-top:14px;border-top:1px solid #e5d4ad40}
.member-card-label{min-width:0;color:#d8cbb6;font-size:.8125rem;line-height:1.5;letter-spacing:0}
.member-card-number{justify-self:end;max-width:100%;font:500 clamp(1.125rem,5.1vw,1.375rem)/1.4 var(--sans);font-variant-numeric:tabular-nums;letter-spacing:.06em;white-space:nowrap;color:#ead8ad}
.console-card-number{display:flex;flex-wrap:wrap;gap:5px 12px;align-items:baseline}
.console-card-number strong{font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:.06em;white-space:nowrap}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .member-card-number{background-image:linear-gradient(105deg,#f3e7cb 0%,#dcc39a 38%,#faf0d5 55%,#dec8a6 78%,#efe0bc 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
}
@media(max-width:359px){.membership .member-bottom,.member-card-meta{column-gap:8px}}
