:root{--color-brand:#0a1a2f;--color-brand-dark:#050e18;--color-brand-mid:#122842;--color-brand-rgb:10, 26, 47;--color-surface:#f4f6f9;--color-surface-elevated:#fff;--color-surface-hero:#e9eef4;--color-surface-footer:#071423;--color-text:#1a2332;--color-text-muted:#5c6570;--color-accent:#9aabb9;--color-accent-light:#c8d4de;--color-accent-bright:#e2e8ee;--color-border:#d0dae3;--color-border-soft:#e2e9f0;--font-display:"Cormorant Garamond", Georgia, "Times New Roman", serif;--font-body:"Source Sans 3", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-family:var(--font-body);color:var(--color-text);background-color:var(--color-surface);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}body{background-color:var(--color-surface);min-height:100vh;margin:0}a{color:var(--color-brand-mid);font-weight:500;text-decoration:none}a:hover{color:var(--color-accent)}#root{min-height:100vh}.page{flex-direction:column;min-height:100vh;display:flex}.header{z-index:10;background:var(--color-brand);color:#fff;border-bottom:1px solid #c8d4de59;justify-content:space-between;align-items:center;padding:.85rem 2.5rem;display:flex;position:sticky;top:0;box-shadow:0 4px 24px #050e1847}.logo{color:inherit;flex:none;align-items:center;gap:.75rem;text-decoration:none;display:inline-flex}.logo:hover{color:var(--color-accent-bright)}.logo-mark{object-fit:cover;border-radius:999px;flex:none;width:3rem;height:3rem;box-shadow:0 2px 12px #00000059}.logo-text{flex-direction:column;gap:.05rem;line-height:1.15;display:flex}.logo-name{font-family:var(--font-display);letter-spacing:.03em;white-space:nowrap;font-size:1.35rem;font-weight:600}.logo-tagline{letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent-light);white-space:nowrap;font-size:.68rem;font-weight:500}.header nav{gap:1.25rem;font-size:.92rem;display:flex}.header nav a{color:var(--color-accent-bright);font-weight:500}.header nav a:hover{color:#fff}main{flex:1;max-width:960px;margin:0 auto;padding:2.5rem 1.5rem 3rem}.hero{border:1px solid var(--color-border-soft);text-align:center;background:linear-gradient(145deg,#ffffffeb 0%,#e9eef4fa 100%);border-radius:18px;margin:1.5rem 0 1rem;padding:2.75rem 2rem 2.5rem;position:relative;box-shadow:0 10px 40px #0a1a2f0f}.hero-logo{border-radius:999px;width:min(9.5rem,42vw);height:auto;margin:0 auto 1.25rem;display:block;box-shadow:0 12px 36px #0a1a2f2e}.hero h1{font-family:var(--font-display);color:var(--color-brand);letter-spacing:.01em;margin:0 0 .65rem;font-size:clamp(2rem,4.5vw,2.85rem);font-weight:600;line-height:1.15}.hero p{color:var(--color-text-muted);max-width:38rem;margin:0 auto 1.5rem;font-size:1.02rem}.primary-btn{color:var(--color-brand);background:linear-gradient(135deg,#d8e2ea 0%,#9aabb9 52%,#b8c4ce 100%);border:1px solid #ffffff8c;border-radius:999px;justify-content:center;align-items:center;padding:.72rem 1.65rem;font-size:.95rem;font-weight:600;transition:transform .12s,box-shadow .12s,filter .12s;display:inline-flex;box-shadow:0 6px 20px #0a1a2f24}.primary-btn:hover{color:var(--color-brand-dark);filter:brightness(1.04);transform:translateY(-1px);box-shadow:0 8px 24px #0a1a2f33}.section{padding:1.5rem 0}.section h2{font-family:var(--font-display);color:var(--color-brand);letter-spacing:.01em;margin-bottom:.5rem;font-size:1.85rem;font-weight:600}.section p{color:var(--color-text);margin:0}.about-section p+p{margin-top:1rem}.about-tagline{font-family:var(--font-display);color:var(--color-brand-mid);letter-spacing:.02em;margin:.5rem 0 1.25rem;font-size:1.25rem;font-style:italic;font-weight:600}.about-skills{color:var(--color-text);margin:.75rem 0 0;padding-left:1.25rem}.about-skills li{margin-top:.45rem;line-height:1.65}.about-skills li::marker{color:var(--color-accent)}.about-skills strong{color:var(--color-brand);font-weight:600}.about-subhead{font-family:var(--font-display);color:var(--color-brand);margin:1.5rem 0 .6rem;font-size:1.2rem;font-weight:600}.supplies-intro{color:var(--color-text-muted);margin-top:.35rem}.supplies-group{margin-top:1.35rem}.supplies-group h3{font-family:var(--font-display);color:var(--color-brand);margin:0 0 .75rem;font-size:1.15rem;font-weight:600}.supplies-group-note{color:var(--color-text-muted);margin:-.35rem 0 .85rem;font-size:.92rem}.supplies-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.supply-item{border-bottom:1px solid var(--color-border-soft);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem 1rem;padding:1rem 0;display:flex}.supply-item:first-child{padding-top:0}.supply-item:last-child{border-bottom:none;padding-bottom:0}.supply-item strong{color:var(--color-brand);margin-bottom:.2rem;font-weight:600;display:block}.supply-item p{max-width:36rem;margin:0;font-size:.95rem;line-height:1.55}.supply-link{border:1.5px solid var(--color-brand);color:var(--color-brand);white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;padding:.45rem .95rem;font-size:.85rem;font-weight:600;display:inline-flex}.supply-link:hover{background:var(--color-brand);color:#fff}.supplies-note{color:var(--color-text-muted);margin-top:1rem;font-size:.85rem}.card{background:var(--color-surface-elevated);border:1px solid var(--color-border-soft);border-radius:1rem;margin-top:1rem;padding:1.5rem 1.75rem;box-shadow:0 4px 18px #0a1a2f0a}.card h3{font-family:var(--font-display);color:var(--color-brand);font-size:1.2rem}form{gap:1rem;display:grid}label{flex-direction:column;align-items:flex-start;gap:.25rem;font-size:.9rem;display:flex}input,textarea{border:1px solid var(--color-border);background:var(--color-surface-elevated);width:100%;color:var(--color-text);font:inherit;border-radius:.6rem;padding:.55rem .75rem}input::placeholder,textarea::placeholder{color:#9aa3ad}input:focus,textarea:focus{border-color:var(--color-brand-mid);box-shadow:0 0 0 1px var(--color-brand-mid);outline:none}button[type=submit]{background:var(--color-brand);color:var(--color-accent-bright);cursor:pointer;border:none;border-radius:999px;align-self:flex-start;padding:.6rem 1.5rem;font-size:.95rem;font-weight:600;transition:transform 80ms,box-shadow 80ms,background .15s}button[type=submit]:hover{box-shadow:0 8px 18px rgba(var(--color-brand-rgb), .32);background:var(--color-brand-dark);transform:translateY(-1px)}button[type=submit]:disabled{opacity:.7;cursor:wait;box-shadow:none}.success{color:#2e7d32;font-size:.85rem}.error{color:#c62828;font-size:.85rem}.field-error{color:#c62828;margin-top:.2rem;font-size:.8rem}.testimonials-intro{color:var(--color-text-muted);margin-top:.35rem;margin-bottom:.25rem}.testimonial-card{border-left:4px solid var(--color-accent);flex-direction:column;justify-content:center;min-height:11rem;margin-top:1.25rem;display:flex}.testimonial-quote{color:var(--color-text);margin:0;font-size:1.05rem;font-style:italic;line-height:1.65;transition:opacity .35s}.testimonial-author{color:var(--color-brand);margin:1rem 0 0;font-size:.9rem;font-style:normal;font-weight:600;transition:opacity .35s}.testimonial-quote.is-fading,.testimonial-author.is-fading{opacity:0}.carousel-controls{flex-direction:column;align-items:center;gap:.5rem;margin-top:1rem;display:flex}.carousel-dots{flex-wrap:wrap;justify-content:center;gap:.5rem;max-width:100%;display:flex}.carousel-dot{background:var(--color-border);cursor:pointer;border:none;border-radius:999px;width:.55rem;height:.55rem;padding:0;transition:transform .15s,background .15s}.carousel-dot.is-active{background:var(--color-brand);transform:scale(1.25)}.carousel-dot:hover{background:var(--color-accent)}.carousel-hint{color:#8a9095;text-align:center;margin:0;font-size:.78rem}.gallery-intro{color:var(--color-text-muted);margin-top:.35rem}.gallery-carousel{border-left:4px solid var(--color-brand);margin-top:1.25rem;padding:0;overflow:hidden}.gallery-stage{min-height:12rem;position:relative}.gallery-layer{width:100%;display:block}.gallery-layer.is-active{opacity:1}.gallery-layer.is-outgoing{opacity:0;transition:opacity .45s ease-in-out}.gallery-layer.is-incoming{opacity:0;animation:.45s ease-in-out forwards gallery-fade-in;position:absolute;inset:0}@keyframes gallery-fade-in{0%{opacity:0}to{opacity:1}}.gallery-carousel img{object-fit:contain;background:var(--color-surface-hero);width:100%;height:auto;max-height:min(70vh,520px);display:block}.gallery-caption{color:var(--color-text-muted);text-align:center;margin:0;padding:.65rem 1rem 1rem;font-size:.85rem}.footer{color:var(--color-accent-light);text-align:center;background-color:var(--color-surface-footer);border-top:1px solid #c8d4de1f;justify-content:center;align-items:center;gap:.65rem;padding:1.1rem 2.5rem;font-size:.8rem;display:flex}.footer-logo-mark{object-fit:cover;opacity:.95;border-radius:999px;width:1.85rem;height:1.85rem}@media (width<=640px){.header{flex-wrap:wrap;gap:.75rem;padding-inline:1.25rem}main{padding-inline:1rem}.header nav{flex-wrap:wrap;justify-content:flex-end;gap:.65rem .9rem;font-size:.8rem}.logo-tagline{display:none}.hero{padding-inline:1.25rem}}.error-boundary{text-align:center;color:#404446;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:100vh;padding:2rem;display:flex}.error-boundary h1{color:#3f7460;font-size:1.5rem}
