@font-face{font-family:"Fraunces";src:url("fonts/fraunces-900.f9b263931810.ttf") format("truetype");font-style:normal;font-weight:900;font-display:swap}
@font-face{font-family:"Fraunces";src:url("fonts/fraunces-600-italic.30157d5b467c.ttf") format("truetype");font-style:italic;font-weight:600;font-display:swap}
@font-face{font-family:"Fraunces";src:url("fonts/fraunces-900-italic.e657552b12e6.ttf") format("truetype");font-style:italic;font-weight:900;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("fonts/source-sans-400.80e6d812eb02.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("fonts/source-sans-500.f7e007d9eda1.ttf") format("truetype");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("fonts/source-sans-600.7b90d935aca0.ttf") format("truetype");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("fonts/source-sans-700.46014fd8466d.ttf") format("truetype");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:"Caveat";src:url("fonts/caveat-variable.ccf2f844ded8.ttf") format("truetype");font-style:normal;font-weight:400 700;font-display:swap}
:root{--peach:#F9CEBC;--berry:#741F3E;--paper:#F5F3EE;--white:#FFFDFA;--ink:#352A2D;--muted:#635450;--line:#DED7CF;--action:var(--berry);--action-hover:#57132D;--surface:var(--white);--background:var(--paper);--primary:var(--berry);--secondary:var(--peach);--text:var(--ink);--sage:#E8EDE5;--accent:var(--peach);--error:#8B2D38;--success:#38634D;--photo-paper:#FFFDFA;--radius:16px;--shadow:0 8px 28px #352A2D08;color-scheme:light}
.theme-forest{--berry:#284B3C;--peach:#DFE8DC;--paper:#F6F7F1;--white:#FFFEF9;--ink:#233B2F;--muted:#576658;--line:#D5DED0;--action-hover:#183929}
.theme-coast{--berry:#225563;--peach:#E0EEF1;--paper:#F5F9FA;--white:#FFFFFF;--ink:#23414C;--muted:#53686F;--line:#D5E1E5;--action-hover:#173D49}
.theme-sand{--berry:#794932;--peach:#F0E3D8;--paper:#FBF6EF;--white:#FFFDF9;--ink:#4C352D;--muted:#705C53;--line:#E8D8CC;--action-hover:#603723}
.theme-minimal{--berry:#2E343B;--peach:#ECEEEF;--paper:#FAFAFA;--white:#FFFFFF;--ink:#232A30;--muted:#646B71;--line:#DCE0E2;--action-hover:#171C22}
.theme-nordic{--berry:#44596A;--peach:#E4E9EC;--paper:#F4F5F3;--white:#FDFEFD;--ink:#31444F;--muted:#586A75;--line:#D7DFE2;--action-hover:#2E4252}
.theme-evening{--berry:#D6BA89;--peach:#343643;--paper:#20222D;--white:#2B2E3B;--ink:#F3EEE5;--muted:#C0BDC5;--line:#4C4E5D;--action-hover:#E7D0A6;--success:#B4D2BB;--error:#FFC0C6;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Source Sans 3",Arial,sans-serif;font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p,figure{margin-top:0}h1,h2,h3,h4{line-height:1.12;text-wrap:balance}h1,h2{font-family:"Fraunces",Georgia,serif;font-weight:900;letter-spacing:-.035em;color:var(--berry)}h1{font-size:clamp(36px,4vw,62px);margin-bottom:24px}h2{font-size:clamp(28px,3vw,42px);margin-bottom:18px}h3{font-size:22px}p{margin-bottom:20px}a{color:var(--berry);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}img,svg{max-width:100%}img{display:block}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}input,select,textarea{max-width:100%}textarea{resize:vertical;min-height:110px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}hr{border:0;border-top:1px solid var(--line);margin:24px 0}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--berry);outline-offset:4px}::selection{background:var(--peach);color:var(--ink)}
.wrap{width:min(1180px,calc(100% - 80px));margin-inline:auto}.narrow{max-width:800px}.brand{display:inline-flex;align-items:baseline;font-family:"Fraunces",Georgia,serif;font-weight:900;font-size:38px;line-height:1;letter-spacing:-2.2px;text-decoration:none;white-space:nowrap;color:var(--berry)}.brand-dot{color:inherit}.icon{width:20px;height:20px;flex:0 0 auto;vertical-align:middle;stroke:currentColor}.button svg,.back-link svg{width:19px;height:19px}.skip{position:fixed;top:-90px;left:16px;z-index:100;padding:12px 18px;background:var(--berry);color:var(--paper);border-radius:8px}.skip:focus{top:16px}.site-header{min-height:104px;display:flex;justify-content:space-between;align-items:center;gap:24px}.site-header nav{display:flex;align-items:center;gap:28px}.site-header nav>a:not(.button){text-decoration:none;font-size:15px;font-weight:600}.site-footer{display:flex;justify-content:space-between;align-items:end;gap:32px;padding-block:48px;border-top:1px solid var(--line);margin-top:60px}.site-footer .brand{font-size:32px}.site-footer p{font-size:14px;color:var(--muted);margin:12px 0 0}.footer-links{display:flex;gap:22px;flex-wrap:wrap;justify-content:flex-end;font-size:14px}.design-switch{font-size:13px;color:var(--muted)}
.button{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:12px 22px;border:1px solid var(--berry);border-radius:10px;background:var(--berry);color:var(--paper);font-weight:600;text-decoration:none;font-size:16px;line-height:1.3;transition:background .15s,transform .15s}.button:hover{background:var(--action-hover);border-color:var(--action-hover);text-decoration:none}.button:active{transform:translateY(1px)}.button.outline{color:var(--berry);background:transparent}.button.outline:hover{background:var(--peach);border-color:var(--berry)}.button.light{color:var(--berry);background:var(--white);border-color:var(--white)}.button.light:hover{background:var(--paper)}.button.small{min-height:40px;padding:9px 15px;font-size:14px}.button.full{width:100%}.button.danger{background:var(--error);border-color:var(--error);color:#FFF}.button.outline.danger{color:var(--error);background:transparent}.text-button{background:none;border:0;padding:8px 0;color:var(--berry);text-decoration:underline;text-underline-offset:4px;min-height:36px}.back-link{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-size:14px;font-weight:600;margin-bottom:26px;min-height:32px}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.eyebrow{font-size:12px;font-weight:700;line-height:1.5;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}.help,.hint,.muted{color:var(--muted);font-size:14px}.help,.hint{margin:8px 0 0;line-height:1.5}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);min-width:0}.card h2{font-size:30px}.card h3{font-size:20px}.notice{padding:16px 20px;border:1px solid var(--line);border-radius:12px;background:var(--white);font-size:15px;line-height:1.55;margin-bottom:20px;overflow-wrap:anywhere}.notice.success{background:#EDF3EB;border-color:#C7DCC9;color:#2E563D}.notice.warning{background:#FAEFE0;border-color:#E4D1AF;color:#704C21}.notice.error,.notice.danger{background:#FBEBEB;border-color:#EAC5C8;color:#842B35}.messages{position:relative;margin-block:12px}.messages .notice{margin:0 0 8px}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:100;max-width:calc(100% - 32px);padding:13px 22px;background:var(--ink);color:var(--paper);border-radius:12px;box-shadow:0 8px 28px #352A2D20;text-align:center;font-size:15px}
.field{margin-bottom:24px;min-width:0}.field>label,.field> .label,label.label{display:block;font-size:15px;font-weight:600;margin-bottom:8px}.field input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.field select,.field textarea,.text-input{display:block;width:100%;border:1px solid var(--line);background:var(--white);color:var(--ink);border-radius:9px;padding:12px 14px;min-height:48px;line-height:1.5;font-size:16px}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--muted)}.field [aria-invalid=true]{border-color:var(--error)!important;background:#FFF7F7!important;color:#352A2D!important}input[type=checkbox],input[type=radio]{width:19px;height:19px;accent-color:var(--berry);vertical-align:middle;margin:0 8px 2px 0;flex:0 0 auto}.field input[type=file]{padding:10px;cursor:pointer}.field input::file-selector-button{font:inherit;border:0;border-radius:5px;background:var(--peach);color:var(--ink);padding:7px 11px;margin-right:12px;cursor:pointer}.field input[type=checkbox]+label{display:inline}.errorlist{color:var(--error);font-size:14px;list-style:none;margin:8px 0 0;padding:0}.errorlist li+li{margin-top:5px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.full-width{grid-column:1/-1}.field ul.help{padding-left:18px}.password-help{font-size:14px;color:var(--muted)}table{border-collapse:collapse;width:100%;font-size:15px}th,td{text-align:left;padding:15px 14px;border-bottom:1px solid var(--line);vertical-align:top}th{font-weight:600;color:var(--muted);font-size:13px}td a{overflow-wrap:anywhere}.table-wrap{overflow-x:auto;max-width:100%}summary{cursor:pointer;font-weight:600;min-height:44px;padding-block:10px}details p{margin-top:12px}.empty-state{text-align:center;padding:46px 24px;color:var(--muted)}.empty-state h2,.empty-state h3{color:var(--ink)}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--line);border-radius:30px;font-size:12px;line-height:1.4;font-weight:600;white-space:nowrap}.live-dot{display:inline-block;width:6px;height:6px;background:var(--success);border-radius:50%}.legal-page{max-width:850px;padding-block:40px}.legal-page h1{font-size:48px}.legal-page section{padding-block:26px;border-bottom:1px solid var(--line)}.legal-page section h2{font-family:"Source Sans 3",Arial,sans-serif;font-size:23px;letter-spacing:-.02em;font-weight:600;color:var(--ink)}.legal-page section p{white-space:pre-line;line-height:1.8;font-size:16px}.legal-page a{overflow-wrap:anywhere}
@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.site-header nav{gap:20px}.site-header .nav-extra:first-child{display:none}}
@media(max-width:680px){body{font-size:16px}.wrap{width:calc(100% - 36px)}.site-header{min-height:82px;gap:12px}.site-header .brand{font-size:30px;letter-spacing:-1.7px}.site-header nav{gap:12px}.site-header .nav-extra{display:none}.site-header .button{padding:10px;font-size:14px}.site-header .button svg{display:none}.site-header .login-link{font-size:14px!important}.site-footer{align-items:start;flex-direction:column;gap:24px;padding-block:32px;margin-top:36px}.footer-links{justify-content:flex-start;gap:18px}.card{padding:22px}.form-grid{grid-template-columns:1fr;gap:0}.actions>.button{max-width:100%}.legal-page{padding-top:24px}.legal-page h1{font-size:36px}.legal-page section{padding-block:20px}.toast{bottom:16px;width:max-content}.button{padding-inline:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{body{background:white;color:#222;font-size:12px}.skip,.site-header,.site-footer,.toast,.messages,.actions,.back-link,.design-switch{display:none!important}.wrap{width:100%}a{color:inherit}.card{box-shadow:none}.legal-page{max-width:none}.legal-page section{break-inside:avoid}h1,h2{color:#222}}


/* Consistent keyboard focus and touch targets in shared navigation. */
:is(a, button, input, select, textarea, summary):focus-visible{outline:3px solid var(--berry);outline-offset:3px}
.site-header nav>.login-link{display:inline-flex;align-items:center;min-height:44px}

/* Controls keep a stronger boundary than decorative rules on paper. */
:root,[class*="theme-"]{--control-line:#9B8B85;--control-line:color-mix(in srgb,var(--ink) 55%,var(--white))}
.context-line{color:var(--muted);font-size:15px;line-height:1.5;margin:0 0 20px}
.field input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.field select,.field textarea,.text-input{border-color:var(--control-line)}
input,textarea{caret-color:var(--berry)}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
.field-error{margin:8px 0 0;color:var(--error);font-size:14px;line-height:1.5}
button[aria-busy="true"]{cursor:wait}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:active{transform:none}}
