.button,button:not(.menu-toggle,.menu-close){display:inline-flex;align-items:center;justify-content:center;gap:var(--space-6);min-height:var(--button-height);max-width:100%;padding:var(--space-4) var(--space-6);border:var(--line-width) solid #fff0;border-radius:var(--radius);background:var(--color-accent);color:var(--color-white);font-size:var(--font-size-control);font-weight:var(--font-weight-semibold);line-height:var(--line-height-control);text-decoration:none;text-align:left;transition:background-color var(--duration),color var(--duration),border-color var(--duration)}.button svg{width:22px;height:18px;flex:0 0 auto}.button:hover,button:not(.menu-toggle,.menu-close):hover{background:var(--color-navy);color:var(--color-white)}.button.button--secondary{border-color:var(--color-navy);background:#fff0;color:var(--color-navy)}.button.button--secondary:hover{background:var(--color-navy);color:var(--color-white)}.button.button--quiet{background:#fff0;color:var(--color-navy);padding-inline:0;border-radius:0}.button.button--quiet:hover{color:var(--color-accent);text-decoration:underline}.button.button--compact{min-height:var(--touch-target);padding:var(--space-3) var(--space-5)}.button:disabled,button:not(.menu-toggle,.menu-close):disabled{background:var(--color-sand-deep);color:var(--color-secondary);border-color:var(--color-line)}.button-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}.section-label{display:flex;align-items:center;gap:var(--space-3);margin:0 0 var(--space-6);color:var(--color-accent);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-label);line-height:var(--line-height-control);text-transform:uppercase}.section-label::before{content:'';flex:0 0 var(--label-line-width);height:var(--motif-width);background:currentColor}.section-label>span{min-width:0;overflow-wrap:anywhere}.corner-frame{position:relative;isolation:isolate}.corner-frame::before,.corner-frame::after{content:'';position:absolute;width:var(--motif-size);height:var(--motif-size);border:0 solid var(--color-accent);pointer-events:none}.corner-frame::before{inset:calc(-1 * var(--motif-offset)) auto auto calc(-1 * var(--motif-offset));border-top-width:var(--motif-width);border-left-width:var(--motif-width)}.corner-frame::after{inset:auto calc(-1 * var(--motif-offset)) calc(-1 * var(--motif-offset)) auto;border-bottom-width:var(--motif-width);border-right-width:var(--motif-width)}.corner-frame--single::after{display:none}.card{min-width:0;padding:var(--space-8);background:var(--color-white);border-radius:var(--radius)}.card h3{margin-block:var(--space-3) var(--space-4)}.card__number{color:var(--color-accent);font-size:var(--font-size-label);letter-spacing:var(--tracking-label)}.card--sand{background:var(--color-sand)}.card--sand .card__number{color:var(--color-navy)}.surface-sand{background:var(--color-sand)}.surface-sand .section-label{color:var(--color-navy)}.surface-sand .section-label::before{background:var(--color-accent)}.card--navy{background:var(--color-card-navy);color:var(--color-card-text-on-dark)}.card--navy h3{color:var(--color-white)}.card--navy .card__number{color:var(--color-accent-on-dark)}.photo-placeholder{display:flex;flex-direction:column;justify-content:flex-end;min-width:0;aspect-ratio:4 / 3;padding:var(--space-6);background:var(--color-photo-lifestyle);color:var(--color-white)}.photo-placeholder--event{background:var(--color-photo-event)}.photo-placeholder--travel{background:var(--color-photo-travel)}.photo-placeholder--food{background:var(--color-photo-food)}.photo-placeholder p{font-size:var(--font-size-small);color:var(--color-text-on-dark);max-width:30ch}.photo-placeholder h3{color:var(--color-white);margin-top:var(--space-4)}.surface-dark{background:var(--color-navy);color:var(--color-text-on-dark)}.surface-dark h1,.surface-dark h2,.surface-dark h3,.surface-dark strong{color:var(--color-background)}.surface-dark .section-label,.surface-dark .accent{color:var(--color-accent-on-dark)}.surface-dark .corner-frame::before,.surface-dark .corner-frame::after{border-color:var(--color-accent-on-dark)}.surface-dark :focus-visible{outline-color:var(--color-accent-on-dark)}.surface-dark .button:hover{background:var(--color-background);color:var(--color-navy)}.surface-dark .button--secondary{color:var(--color-background);border-color:var(--color-line-on-dark-strong)}.accordion{border-bottom:var(--line-width) solid var(--color-line)}.accordion:first-child{border-top:var(--line-width) solid var(--color-line)}.accordion>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);min-height:var(--control-height);padding-block:var(--space-5);color:var(--color-navy);font-family:var(--font-heading);font-size:var(--font-size-h4);font-weight:var(--font-weight-bold);font-stretch:var(--heading-width-wide);line-height:var(--line-height-control);list-style:none;cursor:pointer}.accordion>summary::-webkit-details-marker{display:none}.accordion>summary::after{content:'+';flex-shrink:0;color:var(--color-accent);font-family:var(--font-body);font-weight:var(--font-weight-regular)}.accordion[open]>summary::after{content:'−'}.accordion__body{padding:0 var(--space-10) var(--space-6) 0}form{margin:0}.form-panel{padding:clamp(var(--space-5), 4vw, var(--space-10));background:var(--color-white);border-radius:var(--radius)}.form-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-6)}.field{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.field>label,legend{color:var(--color-text);font-weight:var(--font-weight-medium)}.field input,.field textarea,.field select{width:100%;min-width:0;min-height:var(--control-height);padding:var(--space-4);background:var(--color-field);color:var(--color-text);border:var(--line-width) solid var(--color-control-border);border-radius:var(--radius);font-size:var(--font-size-control);line-height:var(--line-height-control);transition:border-color var(--duration)}.field input:hover,.field textarea:hover,.field select:hover{border-color:var(--color-secondary)}.field textarea{resize:vertical;min-height:160px}.field input::placeholder,.field textarea::placeholder{color:var(--color-muted);opacity:1}.field [disabled]{background:var(--color-sand);color:var(--color-muted);cursor:not-allowed}.field [aria-invalid=true]{border-color:var(--color-accent);border-width:2px}.field__help,.field__error{margin:0;font-size:var(--font-size-small)}.field__error{color:var(--color-accent);font-weight:var(--font-weight-medium)}fieldset{min-width:0;padding:0;margin:var(--space-8) 0;border:0}legend{padding:0;margin-bottom:var(--space-3)}.choice-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-3)}.choice{display:flex;align-items:flex-start;gap:var(--space-3);min-height:var(--touch-target);padding:var(--space-3);border:var(--line-width) solid var(--color-line);border-radius:var(--radius);color:var(--color-body-strong);font-size:var(--font-size-control);line-height:var(--line-height-control);cursor:pointer}.choice:has(input:checked){border-color:var(--color-navy);background:var(--color-field)}.choice input{width:20px;height:20px;flex-shrink:0;margin:0;accent-color:var(--color-navy)}.choice--plain{border-color:#fff0;padding-inline:0}.choice--plain:has(input:checked){border-color:#fff0;background:#fff0}.form-feedback{margin-top:var(--space-5);padding:var(--space-4);border-left:3px solid var(--color-navy);background:var(--color-sand);color:var(--color-navy)}.site-header{border-bottom:var(--line-width) solid var(--color-line-header);padding-block:var(--space-5)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap}.brand{display:inline-flex;align-items:center;gap:var(--space-3);min-height:var(--touch-target);color:var(--color-navy);text-decoration:none}.brand__logo{display:block;width:52px;height:auto;flex-shrink:0}.brand__name{border-left:var(--line-width) solid var(--color-line-header);padding-left:var(--space-3);font-size:var(--font-size-label);letter-spacing:.12em;white-space:nowrap;font-weight:var(--font-weight-semibold)}.site-nav{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-6)}.site-nav>a:not(.button){display:inline-flex;align-items:center;min-height:var(--touch-target);font-size:var(--font-size-small);color:var(--color-navy);text-decoration:none}.site-nav>a:hover{text-decoration:underline}.header-actions{display:flex;align-items:center;gap:var(--space-3)}.menu-toggle,.menu-close{display:none;align-items:center;justify-content:center;gap:var(--space-2);min-width:var(--touch-target);min-height:var(--touch-target);padding:var(--space-2);border:var(--line-width) solid var(--color-line-header);border-radius:var(--radius);background:#fff0;color:var(--color-navy);font-size:var(--font-size-control)}.menu-toggle svg,.menu-close svg{width:22px;height:22px}.mobile-menu{max-width:none;max-height:none;width:100%;height:100vh;height:100dvh;margin:0;padding:var(--space-5) var(--page-gutter) var(--space-10);border:0;background:var(--color-background);color:var(--color-navy)}.mobile-menu::backdrop{background:var(--color-navy)}.mobile-menu__top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.mobile-menu .menu-close{display:inline-flex}.mobile-menu nav{display:flex;flex-direction:column;gap:var(--space-2);margin-block:var(--space-12)}.mobile-menu nav a{padding-block:var(--space-4);min-height:var(--control-height);border-bottom:var(--line-width) solid var(--color-line);color:var(--color-navy);font:var(--font-weight-bold) var(--font-size-h2)/var(--line-height-control) var(--font-heading);font-stretch:var(--heading-width);text-decoration:none}.mobile-menu .button{width:100%}.auth-form{max-width:480px}.auth-form .field{margin-bottom:var(--space-6)}.auth-form .button{width:100%}.admin-intro{margin-bottom:var(--space-8)}.admin-permissions{margin-block:var(--space-8)}.admin-permissions summary{min-height:var(--touch-target);cursor:pointer}[role=alert]{padding:var(--space-4);margin-block:var(--space-5);border-left:3px solid var(--color-accent);background:var(--color-sand)}@media (min-width:768px){.form-grid,.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field--full{grid-column:1/-1}}@media (max-width:1023px){.has-js .site-nav{display:none}.has-js .menu-toggle{display:inline-flex}}@media (max-width:767px){.brand__logo{width:44px}.site-header__inner{gap:var(--space-3)}.header-actions{gap:var(--space-2)}.header-actions .button{padding-inline:var(--space-3)}}@media (max-width:389px){.brand__name{font-size:.6875rem}.header-actions{gap:var(--space-2)}.header-actions .button{padding-inline:var(--space-3);font-size:var(--font-size-small)}.site-header__inner{gap:var(--space-3)}}