*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{--bg:#10251e;--surface:#183228;--soft:#1e3a2f;--ink:#f2efe3;--muted:#b3c0b0;--line:#71836b55;--accent:#cbbb95;--onaccent:#18281f;margin:0;background:var(--bg);color:var(--ink);font:14px/1.6 Arial,sans-serif;-webkit-font-smoothing:antialiased}body{--bg:#281b23;--surface:#34252e;--soft:#422f3b;--ink:#f5eddf;--muted:#c8b6bd;--line:#c7a97d4f;--accent:#d3b683;--onaccent:#36242d}body[data-mode="light"]{--bg:#f5f1e8;--surface:#fffcf5;--soft:#e7e8de;--ink:#273d30;--muted:#637163;--line:#687b6240;--accent:#365e46;--onaccent:#fffbed}body[data-mode="light"]{--bg:#f3eae6;--surface:#fff8f0;--soft:#e9dcd7;--ink:#492d3a;--muted:#7c656b;--line:#866d7440;--accent:#724254;--onaccent:#fff8ee}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button{color:inherit}button:disabled{opacity:.5;cursor:default}svg{display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h1,h2,.serif{font-family:Georgia,'Times New Roman',serif}button,input,textarea,select{border-radius:0}a,button{touch-action:manipulation}.demo-strip{background:var(--soft);color:var(--muted);border-bottom:1px solid var(--line);padding:7px 24px;text-align:center;font-size:9px;letter-spacing:.5px}.page{max-width:1280px;margin:auto;padding:0 44px}.top-controls{display:flex;justify-content:space-between;align-items:center;padding:12px 0 7px;font-size:10px}.top-controls .language{display:flex;gap:2px;margin-left:auto}.language button{border:0;background:none;color:var(--muted);padding:5px 7px;font-size:9px;letter-spacing:1px;min-height:29px}.language button.active{color:var(--ink);border-bottom:1px solid var(--accent)}.theme-button{border:0;background:none;display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px;padding:5px 0}.theme-button svg{width:14px;height:14px}.header{display:flex;align-items:center;justify-content:space-between;padding:14px 0 23px;border-bottom:1px solid var(--line);gap:18px}.brand{display:flex;align-items:center;gap:12px;line-height:1}.brand-mark{border:1px solid var(--accent);width:35px;height:42px;border-radius:18px 18px 0 0;display:grid;place-items:center;color:var(--accent);font:21px Georgia,serif;flex-shrink:0}.brand-name{font-family:Georgia,serif;font-size:21px;letter-spacing:.5px}.brand-name small{display:block;font:8px Arial,sans-serif;letter-spacing:4px;margin-top:9px}.header nav{display:flex;gap:22px;color:var(--muted);font-size:10px}.header nav a:hover{color:var(--ink)}.header-login{font-size:10px;display:flex;align-items:center;gap:7px;border:1px solid var(--line);padding:10px 14px;white-space:nowrap;background:none}.header-login svg{width:13px;height:13px}.eyebrow{font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:9px}.eyebrow:before{content:'';width:22px;height:1px;background:var(--accent)}.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:30px;padding:50px 0 42px;min-height:480px}.hero h1{font-size:clamp(42px,4.9vw,70px);line-height:1.06;letter-spacing:-2px;margin:22px 0}.hero-copy>p{font-size:13px;line-height:1.85;color:var(--muted);max-width:380px}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:13px;margin-top:27px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:20px;border:1px solid var(--accent);background:var(--accent);color:var(--onaccent);padding:13px 20px;font-size:11px;line-height:1.4;min-height:44px;transition:filter .15s}.btn:hover{filter:brightness(1.1)}.btn.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.text-link{display:inline-flex;align-items:center;gap:10px;font-size:11px;background:none;border:0;padding:10px 0;color:var(--ink)}.btn svg,.text-link svg{width:14px;height:14px}.hero-foot{display:flex;gap:11px;align-items:center;color:var(--muted);font-size:9px;margin-top:22px}.hero-foot:before{content:'';width:5px;height:5px;background:var(--accent);border-radius:50%}.hero-art{min-width:0;align-self:stretch;position:relative;display:flex;align-items:center;justify-content:center}.trust-row{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:50px}.trust-item{padding:18px 15px 18px 0;display:flex;align-items:center;gap:11px;color:var(--muted);font-size:10px}.trust-item+.trust-item{border-left:1px solid var(--line);padding-left:20px}.trust-item svg{width:17px;height:17px;color:var(--accent);flex-shrink:0}.section{padding:0 0 48px;scroll-margin-top:20px}.section-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:23px}.section-head h2{font-size:34px;line-height:1.18;letter-spacing:-.6px}.section-head p{max-width:270px;font-size:11px;line-height:1.7;color:var(--muted)}.section .eyebrow{margin-bottom:12px}.services{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}.service{background:none;border:0;padding:23px 18px;text-align:left;display:flex;flex-direction:column;align-items:start;min-width:0;color:var(--ink)}.service+.service{border-left:1px solid var(--line)}.service:hover{background:var(--surface)}.service>svg{width:25px;height:25px;color:var(--accent);margin-bottom:25px}.service h3{font:18px Georgia,serif;line-height:1.3}.service p{font-size:10px;line-height:1.7;color:var(--muted);margin:10px 0 16px}.service .service-more{display:flex;align-items:center;justify-content:space-between;width:100%;color:var(--accent);font-size:9px;margin-top:auto}.service-more svg{width:13px;height:13px}.process{background:var(--surface);padding:31px;display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:28px}.process h2{font-size:27px;line-height:1.25}.process-step .n{font:21px Georgia,serif;color:var(--accent);display:block;margin-bottom:15px}.process-step h3{font-size:11px;margin-bottom:8px}.process-step p{font-size:10px;line-height:1.8;color:var(--muted)}.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.plan{border:1px solid var(--line);padding:24px 21px;display:flex;flex-direction:column;position:relative}.plan.recommended{background:var(--surface);border-color:var(--accent)}.plan-label{font-size:8px;letter-spacing:1.6px;text-transform:uppercase;color:var(--accent);min-height:20px}.plan h3{font:27px Georgia,serif;margin-top:6px}.plan-price{font:30px Georgia,serif;margin:16px 0 8px;line-height:1.2;min-height:50px}.plan-price small{font:10px Arial,sans-serif;color:var(--muted);margin-left:4px}.plan-price.individual{font-size:20px;max-width:220px}.plan p{color:var(--muted);font-size:11px;line-height:1.8}.plan ul{padding:16px 0;list-style:none;font-size:10px;line-height:1.8;margin:0 0 15px}.plan li{display:flex;gap:8px;margin-bottom:7px}.plan li:before{content:'·';color:var(--accent)}.plan .btn{width:100%;margin-top:auto;padding:12px 8px}.plan-note{font-size:10px;line-height:1.8;color:var(--muted);margin-top:15px;max-width:700px}.join-block{border-top:1px solid var(--line);padding:38px 0;display:flex;align-items:center;justify-content:space-between;gap:30px}.join-block h2{font-size:30px;line-height:1.25;max-width:400px}.join-block p{font-size:11px;color:var(--muted);margin-top:10px;max-width:440px}.footer{border-top:1px solid var(--line);padding:22px 0;display:flex;justify-content:space-between;font-size:9px;color:var(--muted);gap:15px}.footer button{background:none;border:0;color:inherit;font-size:9px}.footer span:last-child{text-align:right}.example-label{font-size:8px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted)}
/* 04 — private edition */
body .brand-mark{border:0;width:32px;font-size:32px}body .brand-name{font-size:18px;letter-spacing:2px}body .hero{grid-template-columns:1.3fr 1fr;min-height:500px}body .hero h1{font-size:clamp(31.3333px,4.4667vw,56px);letter-spacing:-3px;line-height:.98}body .hero-copy>p{max-width:360px}body .header{border-bottom:0}body .hero-copy .eyebrow{letter-spacing:3px}body .trust-row{border-bottom:0}body .section-head h2{font-size:39px}body .services{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}body .plan{border-left:0;border-right:0}body .plan.recommended{background:var(--surface)}.invitation{width:100%;max-width:330px;aspect-ratio:.76;display:flex;align-items:center;justify-content:center;position:relative;border:1px solid var(--accent);background:var(--surface);margin:0 15px;box-shadow:12px 15px 0 var(--bg),13px 16px 0 var(--line)}.invitation:before{content:'';position:absolute;inset:11px;border:1px solid var(--line)}.invitation:after{content:'';position:absolute;width:62%;height:60%;border:1px solid var(--line);border-radius:50%}.invitation-inner{text-align:center;z-index:1;position:relative}.invitation-inner .monogram{font:99px Georgia,serif;letter-spacing:-16px;margin-left:-12px;color:var(--accent);line-height:1.2}.invitation-inner .inv-name{font-size:10px;letter-spacing:4px;line-height:2.1;margin-top:13px}.invitation-inner .inv-line{width:30px;height:1px;background:var(--accent);margin:18px auto}.invitation-inner small{font-size:8px;letter-spacing:2px;color:var(--muted)}.invitation-corner{position:absolute;bottom:23px;right:23px;font:10px Georgia,serif;letter-spacing:1px;color:var(--accent)}
/* Shared interactive workspace */
.workspace{padding:38px 0 50px}.workspace-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.workspace h1{font:39px Georgia,serif;line-height:1.2}.workspace-head p{color:var(--muted);font-size:11px;margin-top:8px}.dashboard{display:grid;grid-template-columns:1fr 1.8fr;gap:24px}.member-card{border:1px solid var(--accent);background:var(--surface);padding:25px;margin-bottom:20px}.member-card h2{font:30px Georgia,serif;margin:17px 0}.member-card .balance{margin-top:22px;padding-top:14px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.membership-state{font-size:10px;color:var(--accent)}.progress{height:3px;background:var(--line);margin-top:12px}.progress i{display:block;width:25%;background:var(--accent);height:100%}.side-card{border:1px solid var(--line);padding:22px}.side-card h3{font:21px Georgia,serif;margin-bottom:9px}.side-card p{font-size:11px;line-height:1.8;color:var(--muted)}.dash-nav{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:19px}.dash-nav button{border:1px solid var(--line);background:none;color:var(--muted);font-size:10px;padding:8px 12px}.dash-nav button.active{background:var(--accent);color:var(--onaccent);border-color:var(--accent)}.request-row{width:100%;padding:20px;border:1px solid var(--line);margin-top:10px;background:var(--surface);text-align:left;color:var(--ink)}.request-row h3{font-size:14px;margin:10px 0 7px}.request-row small{color:var(--muted);font-size:10px}.request-meta{display:flex;justify-content:space-between;gap:10px;align-items:center}.status{font-size:8px;letter-spacing:.4px;padding:4px 7px;background:var(--soft);color:var(--accent);display:inline-block}.request-row .arrow{float:right;color:var(--accent)}.empty{padding:30px;border:1px dashed var(--line);color:var(--muted);font-size:12px}.pending{border:1px solid var(--accent);background:var(--surface);padding:23px;font-size:12px;line-height:1.9;margin-bottom:22px}.back{border:0;background:none;padding:0;color:var(--muted);font-size:11px;margin-bottom:25px}.content-heading{font:33px Georgia,serif;margin:12px 0 19px}.thread{max-width:720px;margin:auto}.thread-desc{border-bottom:1px solid var(--line);padding-bottom:20px;font-size:13px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.thread-info{display:flex;gap:15px;color:var(--muted);font-size:10px;flex-wrap:wrap;margin:13px 0 23px}.quote{border:1px solid var(--accent);padding:20px;margin:20px 0;background:var(--surface)}.quote strong{font:24px Georgia,serif}.quote p{font-size:11px;line-height:1.7;color:var(--muted);margin:8px 0 15px}.messages{display:flex;flex-direction:column;gap:12px;margin:23px 0}.bubble{padding:13px 17px;background:var(--surface);border:1px solid var(--line);max-width:88%;font-size:12px;line-height:1.8;overflow-wrap:anywhere;white-space:pre-wrap}.bubble.mine{align-self:end;background:var(--soft)}.bubble small{display:block;color:var(--accent);font-size:9px;margin-bottom:5px}.composer{display:flex;gap:10px;align-items:end}.composer textarea{min-height:64px;flex:1}.composer .btn{min-width:50px;padding:15px}.photo-grid{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.photo-grid img{width:100px;height:100px;object-fit:cover;border:1px solid var(--line)}.timeline{border-left:1px solid var(--line);padding-left:18px;color:var(--muted);font-size:10px;line-height:1.7;margin:20px 0}.timeline p{padding:6px 0}.admin-tools{margin:22px 0;border:1px solid var(--line);padding:17px;display:flex;gap:10px;align-items:end;flex-wrap:wrap}.admin-tools label{flex:1;min-width:130px;margin:0}.admin-tools .btn{padding:11px 15px}.member-admin{padding:20px;border:1px solid var(--line);margin-bottom:15px}.member-admin strong{font:21px Georgia,serif}.member-admin p{font-size:10px;color:var(--muted);margin:7px 0 15px}.member-admin .form-grid{grid-template-columns:1fr 1fr}.member-admin .btn{margin-top:15px}dialog{background:var(--bg);color:var(--ink);border:1px solid var(--line);padding:40px;max-width:520px;width:calc(100% - 32px);max-height:88dvh;overflow:auto;box-shadow:0 25px 90px #0007}dialog::backdrop{background:#090d0bba;backdrop-filter:blur(5px)}.modal-close{position:absolute;top:12px;right:15px;font-size:24px;padding:2px 6px}.icon-button{background:none;border:0;color:var(--muted)}dialog h2{font:30px Georgia,serif;line-height:1.2;margin:9px 0 16px}dialog p{font-size:12px;line-height:1.85;color:var(--muted);margin-bottom:16px}label{display:block;font-size:10px;color:var(--muted);margin-bottom:15px}input,textarea,select{display:block;width:100%;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:12px;margin-top:6px;outline:none;font-size:12px;line-height:1.6}input:focus,textarea:focus,select:focus{border-color:var(--accent)}textarea{resize:vertical;min-height:110px}select option{background:var(--bg);color:var(--ink)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid label{min-width:0}.form-error{font-size:11px;color:var(--accent);padding-bottom:13px}.form-note{font-size:10px!important;line-height:1.7!important;margin:15px 0!important}.role-buttons{display:grid;gap:10px}.role-buttons .btn{justify-content:space-between;width:100%}.form-footer{font-size:11px;line-height:1.8;color:var(--muted);margin-top:22px}.form-footer button{font-size:11px;border:0;padding:0;background:none;color:var(--accent);text-decoration:underline}.modal-list{font-size:12px;color:var(--muted);line-height:1.9;padding-left:17px}.modal-list li{padding:5px 0}.privacy-note{font-size:10px!important;line-height:1.8!important}#toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);padding:12px 20px;background:var(--accent);color:var(--onaccent);font-size:11px;opacity:0;transition:.2s;z-index:10;max-width:90%;pointer-events:none;text-align:center}#toast.visible{opacity:1;transform:translate(-50%,0)}.mini{font-size:10px;color:var(--muted);margin-top:12px}.privacy-title{font:20px Georgia,serif;margin:20px 0 10px}.inline-link{border:0;border-bottom:1px solid var(--line);color:var(--accent);background:none;padding:0;font-size:inherit}.task-title-input{font-size:14px}.member-list-heading{font:28px Georgia,serif;margin-bottom:20px}.mobile-bottom{display:none}
@media(min-width:1300px){.hero h1{font-size:66px}body .hero h1{font-size:52px}}
@media(max-width:780px){.page{padding:0 28px}.header nav{gap:14px}.hero{gap:25px;min-height:430px;padding:38px 0}.hero h1{font-size:45px}.hero-copy>p{font-size:12px}.hero-actions{gap:10px}.btn{padding:12px 16px;font-size:10px}.hero-foot{font-size:8px}.trust-item{font-size:9px;gap:8px}.trust-item+.trust-item{padding-left:14px}.services{grid-template-columns:1fr 1fr}.service{padding:21px}.service:nth-child(3){border-left:0;border-top:1px solid var(--line)}.service:nth-child(4){border-top:1px solid var(--line)}.service>svg{margin-bottom:18px}.process{grid-template-columns:repeat(3,1fr);gap:20px;padding:25px}.process>h2{grid-column:1/-1}.plan{padding:21px 15px}.plan h3{font-size:23px}.plan-price{font-size:25px}.plan-price.individual{font-size:18px}.plan-label{font-size:7px}.plan p,.plan ul{font-size:10px}.plan .btn{font-size:9px}.section-head h2{font-size:30px}.section-head p{max-width:230px}.invitation{margin:0 6px}.invitation-inner .monogram{font-size:80px}.invitation-inner .inv-name{font-size:8px}.dashboard{grid-template-columns:1fr 1.6fr;gap:17px}body .hero h1{font-size:38.6667px}}
@media(max-width:580px){html{scroll-padding-top:20px}.page{padding:0 23px}.demo-strip{font-size:8px;padding:6px 14px}.top-controls{padding:10px 0 4px}.theme-button{font-size:9px}.header{padding:12px 0 19px;gap:10px}.brand{gap:9px}.brand-mark{width:29px;height:35px;font-size:18px}.brand-name{font-size:19px}.brand-name small{font-size:7px;letter-spacing:3px;margin-top:7px}.header nav{display:none}.header-login{padding:9px 10px;font-size:9px}.hero{grid-template-columns:1fr!important;padding:30px 0 25px!important;gap:30px;min-height:0!important}.hero h1{font-size:48px!important;letter-spacing:-1.9px;max-width:400px;margin:18px 0}.hero-copy>p{font-size:12px;line-height:1.85;max-width:390px}.eyebrow{font-size:8px;letter-spacing:1.8px}.hero-actions{margin-top:22px;gap:19px}.btn{font-size:10px;padding:13px 19px}.text-link{font-size:10px}.hero-foot{font-size:8px;margin-top:16px}.hero-art{min-height:0;align-self:auto}.trust-row{margin-bottom:34px}.trust-item{padding:15px 10px 15px 0;align-items:start;gap:7px;font-size:8px;line-height:1.6}.trust-item+.trust-item{padding-left:10px}.trust-item svg{width:13px;height:13px;margin-top:2px}.section{padding-bottom:35px}.section-head{display:block;margin-bottom:19px}.section-head h2{font-size:31px;max-width:290px}.section-head p{font-size:10px;margin-top:12px;max-width:330px}.services{grid-template-columns:1fr 1fr}.service{padding:18px 14px}.service>svg{width:21px;height:21px;margin-bottom:18px}.service h3{font-size:17px;line-height:1.3}.service p{font-size:9px;margin-top:8px}.service-more{font-size:8px!important}.process{grid-template-columns:1fr;padding:24px;gap:21px}.process h2{font-size:27px;max-width:230px}.process-step{display:grid;grid-template-columns:27px 1fr;gap:0 13px}.process-step .n{grid-row:span 2;margin:0;font-size:21px}.process-step h3{font-size:11px;margin-bottom:6px}.process-step p{font-size:10px}.plans{grid-template-columns:1fr;gap:13px}.plan{padding:24px}.plan h3{font-size:29px}.plan-label{font-size:8px;min-height:12px}.plan-price{font-size:33px;min-height:0;margin:14px 0 7px}.plan-price.individual{font-size:24px;max-width:280px}.plan p,.plan ul{font-size:11px}.plan ul{padding:12px 0;margin-bottom:7px}.plan li{margin-bottom:5px}.plan .btn{font-size:11px;margin-top:10px}.plan-note{font-size:9px}.join-block{display:block;padding:28px 0}.join-block h2{font-size:29px}.join-block p{font-size:11px}.join-block .btn{margin-top:21px}.footer{font-size:8px;line-height:1.7;padding:18px 0}.footer span:last-child{max-width:130px}.footer button{font-size:8px}.invitation{max-width:238px;aspect-ratio:.82;margin:7px 15px 13px}.invitation-inner .monogram{font-size:81px}.invitation-inner .inv-name{font-size:8px}.invitation-inner .inv-line{margin:11px auto}.invitation-inner small{font-size:7px}.invitation-corner{font-size:8px;bottom:20px}.workspace{padding-top:25px}.workspace h1{font-size:31px}.workspace-head{align-items:start;margin-bottom:20px}.workspace-head .btn{font-size:9px;padding:12px;gap:9px}.dashboard{grid-template-columns:1fr}.dashboard>aside{display:grid;grid-template-columns:1fr;gap:14px}.member-card{margin:0;padding:21px}.member-card h2{font-size:26px;margin:12px 0}.member-card .balance{margin-top:14px}.side-card{display:none}.dashboard-main{margin-top:8px}.request-row{padding:18px}.request-row h3{font-size:13px;line-height:1.7}.pending{padding:18px;font-size:11px}.thread .content-heading{font-size:28px}.bubble{max-width:92%}.composer{gap:6px}.composer .btn{padding:13px;min-width:42px}.composer textarea{font-size:11px;padding:10px}.admin-tools{padding:13px}.admin-tools label{min-width:115px}.form-grid{grid-template-columns:1fr}.member-admin .form-grid{grid-template-columns:1fr 1fr}.workspace-head p{font-size:10px}dialog{padding:32px 23px;width:calc(100% - 24px)}dialog h2{font-size:28px}dialog p{font-size:11px}.form-note{font-size:9px!important}.mobile-bottom{display:flex;position:sticky;bottom:0;border-top:1px solid var(--line);background:var(--bg);justify-content:space-around;padding:12px 0 calc(12px + env(safe-area-inset-bottom));z-index:2}.mobile-bottom button{border:0;background:none;color:var(--muted);display:flex;flex-direction:column;align-items:center;font-size:8px;gap:5px}.mobile-bottom svg{width:17px;height:17px}body .hero h1{font-size:40px!important;max-width:360px}body .section-head h2{font-size:33px}body .hero{gap:25px}body .brand-name{font-size:16px}}
@media(min-width:781px){body .services{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:780px){body .service:last-child{grid-column:1/-1;border-left:0;border-top:1px solid var(--line)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Private Edition refinements */
body #services .section-head h2{font-size:26px}
.invitation-inner .monogram{letter-spacing:0;margin-left:0}
.join-block .eyebrow{margin-bottom:15px}
.footer-divider{padding:0 5px;color:var(--muted)}
@media(max-width:580px){body #services .section-head h2{font-size:22px}.header{flex-wrap:wrap}.header nav{display:flex;order:3;flex-basis:100%;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:13px;font-size:9px}.header-login{margin-left:auto}}

/* The original lake residence image is now the hero background. */
body .hero{position:relative;isolation:isolate;background-image:url("assets/lakeside-house-pines.png");background-size:cover;background-position:center 58%;padding:44px 36px;margin:20px 0 30px}
.hero::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(40,27,35,.96) 0%,rgba(40,27,35,.83) 39%,rgba(40,27,35,.28) 100%)}
body[data-mode="light"] .hero::before{background:linear-gradient(90deg,rgba(243,234,230,.97) 0%,rgba(243,234,230,.85) 39%,rgba(243,234,230,.24) 100%)}
.hero .invitation{background:rgba(40,27,35,.72);box-shadow:none}
body[data-mode="light"] .hero .invitation{background:rgba(243,234,230,.8)}
@media(max-width:780px){body .hero{padding:32px 25px;gap:20px}}
@media(max-width:580px){body .hero{padding:30px 23px!important;margin:15px 0 24px;background-position:63% center}.hero::before{background:linear-gradient(180deg,rgba(40,27,35,.94),rgba(40,27,35,.67) 46%,rgba(40,27,35,.25))}body[data-mode="light"] .hero::before{background:linear-gradient(180deg,rgba(243,234,230,.96),rgba(243,234,230,.79) 46%,rgba(243,234,230,.26))}}

/* Keep the full brand name on one line. */
.brand-name{white-space:nowrap}
@media(min-width:581px) and (max-width:680px){.header{flex-wrap:wrap}.header nav{order:3;flex-basis:100%;justify-content:space-between;border-top:1px solid var(--line);padding-top:13px}.header-login{margin-left:auto}}

/* Fit the requested single-line headline to its available column. */
.hero-copy{container-type:inline-size;min-width:0}
body .hero h1{white-space:nowrap;max-width:none;font-size:clamp(12px,2.9vw,52px)!important;font-size:clamp(12px,7cqw,52px)!important;letter-spacing:-.02em}

/* Use the full width and wrap the membership note naturally on narrow screens. */
.plan-note{max-width:none;white-space:normal}

/* Keep the club's mission within the approach section, below its three steps. */
.approach-more{grid-column:1/-1;min-width:0;border-top:1px solid var(--line);padding-top:16px}
.approach-more summary{display:inline-flex;align-items:center;gap:14px;min-height:44px;padding:8px 0;list-style:none;color:var(--accent);font-size:11px;cursor:pointer}
.approach-more summary::-webkit-details-marker{display:none}
.approach-more summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.approach-more summary svg{width:14px;height:14px}
.approach-more .more-open{display:none}
.approach-more[open] .more-closed{display:none}
.approach-more[open] .more-open{display:inline}
.approach-more[open] summary svg{transform:rotate(45deg)}
.approach-story{max-width:76ch;padding:15px 0 5px;font-size:13px;line-height:1.9;color:var(--muted);overflow-wrap:break-word}
.approach-story h3{font:clamp(23px,2.3vw,30px)/1.3 Georgia,'Times New Roman',serif;color:var(--ink);margin-bottom:19px}
.approach-story p+p{margin-top:16px}
@media(max-width:580px){.approach-story{font-size:12px;padding-top:12px}}

/* Header wordmark: 20% smaller type; monogram: 30% larger. */
body .header .brand-name{font-size:14.4px}
body .header .brand-mark{font-size:41.6px;width:41.6px;height:54.6px}
@media(max-width:580px){body .header .brand-name{font-size:12.8px}body .header .brand-mark{height:45.5px}}

/* Logged coordination time and the member's monthly allowance. */
.usage-summary{font-size:11px;line-height:1.8;color:var(--muted);margin-top:14px}
.usage-summary strong{color:var(--ink);font-weight:400}
.usage-summary .usage-period{display:block;font-size:10px;margin-bottom:7px}
.usage-summary .progress{margin:10px 0}
.usage-summary .time-overage{margin-top:8px;color:var(--accent)}
.request-time{display:block;margin-top:9px;font-size:10px;color:var(--accent)}
.time-section{margin:25px 0;padding:24px;border:1px solid var(--line);min-width:0}
.time-heading{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin-bottom:9px}
.time-heading h2{font:26px/1.25 Georgia,'Times New Roman',serif}
.time-heading>strong{color:var(--accent);font:22px/1.3 Georgia,'Times New Roman',serif;white-space:nowrap}
.time-section>.mini{line-height:1.8}
.time-add{margin-top:20px}
.time-add summary{list-style:none;cursor:pointer;justify-content:flex-start;gap:10px}
.time-add summary::-webkit-details-marker{display:none}
.time-add summary svg{width:14px;height:14px}
.time-add[open] summary svg{transform:rotate(45deg)}
.time-add summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.time-add form{padding-top:18px}
.time-add textarea,#void-time-form textarea{min-height:72px}
.time-add .mini{margin:10px 0 16px}
.time-section input[type=hidden],#void-time-form input[type=hidden]{display:none}
.time-entries{margin-top:20px}
.time-entry{border-top:1px solid var(--line);padding:14px 0}
.time-entry-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 14px;font-size:10px;color:var(--muted)}
.time-entry-head strong{font-size:13px;color:var(--ink);font-weight:400}
.time-entry>p{font-size:11px;line-height:1.8;margin-top:8px;overflow-wrap:anywhere;white-space:pre-wrap}
.time-entry.voided .time-entry-head strong{text-decoration:line-through;color:var(--muted)}
.time-void{margin-left:auto;padding:6px 0;background:none;border:0;border-bottom:1px solid var(--line);font-size:10px;color:var(--muted)}
.time-empty{padding:8px 0}
.time-member-balance{border-top:1px solid var(--line);padding-top:17px;margin-top:8px}
.time-member-balance .usage-summary{margin-top:8px}
.member-time{margin:15px 0 20px}
@media(max-width:580px){.time-section{padding:18px;margin:20px 0}.time-heading{align-items:flex-start}.time-heading h2{font-size:23px}.time-heading>strong{font-size:19px}.time-add summary{width:100%}.time-void{margin-left:0}}

/* Optional photo attachment, normalised before a request is saved. */
.request-photo-field{min-width:0;margin:12px 0 24px}
.request-photo-field .photo-controls{margin-top:0}
.request-photo-field>.mini{margin-top:9px}
.request-photo-field .photo-controls .btn{width:auto;padding:9px 13px;gap:9px}
.request-photo-field>.mini,.thread-photo-upload>.mini{line-height:1.8}
.request-photo-preview{margin:16px 0}
.request-photo-preview img{display:block;width:100%;height:auto;aspect-ratio:724/480;object-fit:contain;background:var(--surface)}
.request-photo-preview figcaption{margin-top:7px;font-size:10px;color:var(--muted);overflow-wrap:anywhere}
.photo-controls{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-top:15px}
.photo-controls .btn{width:auto}
.request-photo-field input[type=file],.thread-photo-upload input[type=file]{display:none}
.photo-processing:not(:empty){margin-top:12px;color:var(--accent)}
.thread-photo-upload>.mini{margin-top:9px}
@media(max-width:580px){.photo-controls{gap:8px 15px}.photo-controls .btn{width:100%}}

/* Recipient-specific notification history and explicit device opt-in. */
.notification-bell{position:relative;margin-left:auto;margin-right:14px;width:30px;height:30px;display:grid;place-items:center;border:0;background:none;color:var(--muted)}
.notification-bell svg{width:18px;height:18px}
.notification-bell+.language{margin-left:0}
.notification-count{position:absolute;top:-1px;right:-5px;min-width:14px;padding:1px 3px;border-radius:8px;background:var(--accent);color:var(--onaccent);font-size:8px;line-height:1.4}
.notifications-page{padding-bottom:35px}
.device-notifications{border:1px solid var(--line);padding:23px;margin-bottom:24px}
.device-notifications h2{font:25px/1.3 Georgia,'Times New Roman',serif;margin-bottom:12px}
.device-notifications p{font-size:11px;line-height:1.8;color:var(--muted);max-width:85ch}
.device-notifications p+p{margin-top:10px}
.device-notifications .notification-error{color:var(--accent)}
.notification-settings-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:18px}
.notification-item{width:100%;display:grid;grid-template-columns:7px minmax(0,1fr) 16px;gap:16px;text-align:left;align-items:start;background:none;border:0;border-bottom:1px solid var(--line);padding:20px;color:var(--ink)}
.notification-item:hover,.notification-item.unread{background:var(--surface)}
.notification-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);margin-top:6px;opacity:0}
.notification-item.unread .notification-dot{opacity:1}
.notification-item strong{display:block;font-size:13px;font-weight:400;line-height:1.5}
.notification-subject{display:block;margin:7px 0;color:var(--muted);font-size:11px;line-height:1.8;overflow-wrap:anywhere}
.notification-item time{font-size:9px;color:var(--muted)}
.notification-item>svg{width:16px;height:16px;margin-top:3px;color:var(--accent)}
@media(max-width:580px){.device-notifications{padding:18px}.notification-settings-actions .btn{width:100%}.notification-item{padding:17px 12px;gap:12px}.notifications-page .workspace-head{flex-wrap:wrap}}

/* Membership FAQ: questions are listed until their answers are agreed. */
.faq-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.faq-list li{display:flex;align-items:baseline;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}
.faq-number{flex-shrink:0;color:var(--accent);font-size:11px;letter-spacing:1px}
.faq-list h3{font-size:16px;line-height:1.6;overflow-wrap:anywhere}
@media(max-width:580px){.faq-list li{gap:14px;padding:17px 0}.faq-list h3{font-size:14px}}

/* Compact date filter for the client's request history. */
.request-calendar{margin:0 0 22px;padding:16px;border:1px solid var(--line);background:var(--surface)}
.calendar-controls{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap}
.calendar-controls label{margin:0;max-width:100%;width:210px}
.calendar-controls input{min-height:44px;max-width:100%;color-scheme:dark}
body[data-mode="light"] .calendar-controls input{color-scheme:light}
.request-calendar .mini{margin-top:8px}
.request-date{display:block;margin-top:7px;color:var(--muted);font-size:12px}
.application-needs{white-space:pre-wrap;overflow-wrap:anywhere}
.member-admin .application-needs strong{font:inherit;color:var(--ink)}

/* Readable copy, controls and supporting text across desktop and mobile. */
body{font-size:15px}
body .hero-copy>p,body .service p,body .plan p,body .plan ul,body .process-step p,body .approach-story,body .join-block p,body .side-card p,body .thread-desc,body .bubble,body dialog p,body .modal-list{font-size:15px;line-height:1.8}
body .section-head p,body .empty{font-size:15px;line-height:1.7}
body input,body textarea,body select{font-size:16px}
body label,body .mini,body .plan-note,body .usage-summary,body .usage-summary .usage-period,body .request-time,body .thread-info,body .timeline,body .member-admin p,body .workspace-head p,body .notification-subject,body .form-footer{font-size:13px;line-height:1.7}
body .form-note,body dialog .privacy-note{font-size:13px!important;line-height:1.7!important}
body .btn,body .text-link,body .form-footer button,body .header-login,body .dash-nav button,body .admin-tools .btn,body .plan .btn,body .service .service-more,body .approach-more summary{font-size:14px}
body .header nav{font-size:13px}
body .trust-item{font-size:12px}
body .process-step h3,body .request-row h3,body .notification-item strong{font-size:16px}
body .request-row small,body .bubble small,body .status,body .footer,body .footer button,body .hero-foot,body .plan-label,body .plan-price small,body .notification-item time{font-size:12px}
body .mobile-bottom button{font-size:12px}
body .hero-actions,body .calendar-controls{row-gap:12px}
body .header nav{flex-wrap:wrap;row-gap:10px}
@media(max-width:780px){body .header{flex-wrap:wrap}body .header nav{order:3;flex-basis:100%;justify-content:space-between;border-top:1px solid var(--line);padding-top:13px}body .header-login{margin-left:auto}}
@media(max-width:580px){body .hero h1{white-space:normal;font-size:clamp(28px,8vw,40px)!important;line-height:1.16}body .hero-copy>p,body .service p,body .plan p,body .plan ul,body .process-step p,body .approach-story,body .join-block p{font-size:15px}body .service{padding:18px 12px}body .trust-row{grid-template-columns:1fr}body .trust-item{padding:13px 0}body .trust-item+.trust-item{border-left:0;border-top:1px solid var(--line);padding-left:0}body .header nav{gap:12px}body .header nav a{min-height:30px;display:inline-flex;align-items:center}body .faq-list h3{font-size:15px}body .composer .btn{padding:13px}body .footer span:last-child{max-width:none}}

body .workspace-head .btn{font-size:14px}
body .pending{font-size:15px;line-height:1.8}
body .request-meta{flex-wrap:wrap;align-items:flex-start}
body input,body textarea,body select,body .form-grid>*{min-width:0}

/* Direct contact details beneath the company name. */
.footer-contacts{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin:10px 0 13px}
.footer-contacts a{font-size:14px;line-height:1.6;overflow-wrap:anywhere;max-width:100%}
.footer-contacts a:hover{text-decoration:underline;color:var(--ink)}
.footer>div{min-width:0}
@media(max-width:580px){body .footer{flex-wrap:wrap;row-gap:15px}}

/* FAQ answers expand natively with mouse, touch or keyboard. */
.faq-list li{display:block;padding:0}
.faq-item summary{display:grid;grid-template-columns:25px minmax(0,1fr)16px;align-items:baseline;gap:16px;padding:20px 0;min-height:44px;list-style:none;cursor:pointer}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.faq-item summary>svg{width:16px;height:16px;align-self:center;color:var(--accent);transition:transform .15s}
.faq-item[open] summary>svg{transform:rotate(45deg)}
.faq-number{font-size:12px}
.faq-question{font-size:16px;line-height:1.6;overflow-wrap:anywhere}
.faq-answer{padding:0 32px 20px 41px}
.faq-answer p{font-size:15px;line-height:1.8;color:var(--muted);overflow-wrap:anywhere}
.faq-answer p+p{margin-top:12px}
@media(max-width:580px){.faq-item summary{grid-template-columns:20px minmax(0,1fr)16px;gap:14px;padding:17px 0}.faq-question{font-size:15px}.faq-answer{padding:0 0 17px 34px}}
