:root{--color-bg:#faf8f5;--color-bg-alt:#f0e8dc;--color-bg-dark:#1a100a;--color-text:#4a3f35;--color-text-h:#1a100a;--color-text-secondary:#6b5e52;--color-text-muted:#9e9088;--color-text-on-dark:#f5ede4;--color-border:#ddd0c4;--color-accent:#a85c3a;--color-accent-light:#b06a48;--color-danger:#b94040;--font-heading:"Playfair Display", Georgia, "Times New Roman", serif;--font-body:"Lato", "Segoe UI", system-ui, sans-serif;--font-mono:ui-monospace, Consolas, monospace;--fs-xs:.75rem;--fs-sm:.875rem;--fs-base:1rem;--fs-lg:1.125rem;--fs-xl:1.25rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--duration-fast:.15s;--duration-base:.25s;--ease-default:ease;--transition-base:.25s ease;--transition-fast:.15s ease;--shadow-sm:0 1px 3px #1a100a1a, 0 1px 2px #1a100a0f;--shadow-md:0 4px 12px #1a100a1f;--shadow-lg:0 8px 32px #1a100a2e;--opacity-disabled:.45;--container-max:1140px;--container-padding:clamp(1.25rem, 5vw, 3rem)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--fs-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;line-height:1.7}#root{flex-direction:column;width:100%;min-height:100svh;display:flex}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-text-h);margin:0;font-weight:400;line-height:1.15}p{margin:0}img{max-width:100%;height:auto;display:block}button{cursor:pointer;font-family:inherit}.container{width:100%;max-width:var(--container-max);padding-inline:var(--container-padding);margin-inline:auto}.section-eyebrow{font-family:var(--font-body);font-size:var(--fs-sm);letter-spacing:.22em;text-transform:uppercase;color:var(--color-accent);margin-bottom:.75rem;display:block}.section-heading{font-family:var(--font-heading);letter-spacing:-.02em;color:var(--color-text-h);margin-bottom:1.25rem;font-size:clamp(2rem,4vw,3rem);font-weight:400}.btn{font-family:var(--font-body);font-size:var(--fs-sm);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background var(--duration-base), border-color var(--duration-base), color var(--duration-base);border:1.5px solid #0000;justify-content:center;align-items:center;padding:.875rem 2.5rem;display:inline-flex}.btn--primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.btn--primary:hover:not(:disabled){background:#8f4e30;border-color:#8f4e30}.btn--primary:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.btn--outline{border-color:var(--color-accent);color:var(--color-accent);background:0 0}.btn--outline:hover{background:var(--color-accent);color:#fff}.navbar{z-index:100;transition:background var(--transition-base), box-shadow var(--transition-base), padding var(--transition-base);padding:1.5rem 0;position:fixed;inset-block-start:0;inset-inline:0}.navbar--scrolled{-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--color-border);background:#faf8f5f0;padding:1rem 0}.navbar__inner{justify-content:space-between;align-items:center;display:flex}.navbar__logo{font-family:var(--font-heading);font-size:var(--fs-xl);letter-spacing:-.02em;color:#fff;cursor:pointer;transition:color var(--duration-base);background:0 0;border:none;padding:0;font-weight:400}.navbar--scrolled .navbar__logo,.navbar--menu-open .navbar__logo{color:var(--color-text-h)}.navbar__links{align-items:center;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.navbar__link{font-family:var(--font-body);font-size:var(--fs-sm);letter-spacing:.12em;text-transform:uppercase;color:#fffc;cursor:pointer;transition:color var(--duration-base);background:0 0;border:none;padding:.5rem 1rem;position:relative}.navbar--scrolled .navbar__link{color:var(--color-text-secondary)}.navbar__link:hover{color:#fff}.navbar--scrolled .navbar__link:hover{color:var(--color-text-h)}.navbar__link--active{color:#fff!important}.navbar--scrolled .navbar__link--active{color:var(--color-accent)!important}.navbar__link--active:after{content:"";background:currentColor;border-radius:1px;height:1.5px;position:absolute;bottom:2px;left:1rem;right:1rem}.navbar__hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:.5rem;display:none}.navbar__hamburger span{width:24px;height:2px;transition:transform var(--duration-base), opacity var(--duration-base);background:#fff;border-radius:2px;display:block}.navbar--scrolled .navbar__hamburger span,.navbar--menu-open .navbar__hamburger span{background:var(--color-text-h)}.navbar__hamburger--open span:first-child{transform:translateY(7px)rotate(45deg)}.navbar__hamburger--open span:nth-child(2){opacity:0}.navbar__hamburger--open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}@media (width<=768px){.navbar__hamburger{z-index:101;display:flex;position:relative}.navbar__nav{background:var(--color-bg);transition:transform .3s var(--ease-default);z-index:99;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;transform:translate(100%)}.navbar__nav--open{transform:translate(0)}.navbar__links{flex-direction:column;gap:.5rem}.navbar__link{font-size:var(--fs-xl);letter-spacing:.1em;padding:.75rem 2rem;color:var(--color-text-h)!important}.navbar__link--active{color:var(--color-accent)!important}.navbar__link--active:after{display:none}}.footer{background:var(--color-bg-dark);color:var(--color-text-on-dark);padding:3.5rem 0 0}.footer__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2rem;padding-bottom:2.5rem;display:flex}.footer__brand{flex-direction:column;gap:.35rem;display:flex}.footer__name{font-family:var(--font-heading);font-size:var(--fs-xl);color:var(--color-text-on-dark);letter-spacing:-.02em;margin:0;font-weight:400}.footer__tagline{font-size:var(--fs-sm);color:#f5ede480;letter-spacing:.04em;margin:0}.footer__nav{align-items:center;gap:2rem;display:flex}.footer__link{font-size:var(--fs-sm);color:#f5ede499;letter-spacing:.04em;transition:color var(--duration-base);text-decoration:none}.footer__link:hover{color:var(--color-text-on-dark)}.footer__copy{font-size:var(--fs-xs);color:#f5ede459;text-align:center;letter-spacing:.05em;border-top:1px solid #f5ede414;margin:0;padding:1.25rem 0}@media (width<=600px){.footer__inner{text-align:center;flex-direction:column;align-items:center}.footer__nav{flex-direction:column;gap:1rem}}.hero{text-align:center;justify-content:center;align-items:center;width:100%;min-height:100svh;display:flex;position:relative;overflow:hidden}.hero__bg{background-position:50%;background-repeat:no-repeat;background-size:cover;animation:10s forwards hero-zoom;position:absolute;inset:0;transform:scale(1.06)}@keyframes hero-zoom{0%{transform:scale(1.06)}to{transform:scale(1)}}.hero__overlay{background:linear-gradient(#0c060280 0%,#0c06024d 50%,#0c060299 100%);position:absolute;inset:0}.hero__content{z-index:1;flex-direction:column;align-items:center;gap:1.25rem;max-width:760px;padding:2rem;display:flex;position:relative}.hero__eyebrow{font-family:var(--font-body);font-size:var(--fs-sm);letter-spacing:.3em;text-transform:uppercase;color:#f5d7b9d9;margin:0}.hero__name{font-family:var(--font-heading);letter-spacing:-.02em;color:#fff;margin:0;font-size:clamp(3.5rem,9vw,8rem);font-weight:400;line-height:1}.hero__tagline{font-family:var(--font-body);font-size:clamp(var(--fs-base), 2vw, var(--fs-lg));color:#f5d7b9b3;max-width:480px;margin:0;line-height:1.6}.hero__cta{color:#fff;font-family:var(--font-body);font-size:var(--fs-sm);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:background var(--duration-base), border-color var(--duration-base);background:0 0;border:1.5px solid #ffffffa6;margin-top:.5rem;padding:.9rem 2.75rem}.hero__cta:hover{background:#ffffff24;border-color:#fff}.hero__scroll{z-index:1;color:#ffffff8c;cursor:pointer;transition:color var(--duration-base);background:0 0;border:none;padding:.5rem;animation:2.4s ease-in-out infinite scroll-bounce;position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%)}.hero__scroll:hover{color:#fff}@keyframes scroll-bounce{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(7px)}}.bio{background:var(--color-bg);padding:clamp(5rem,10vw,8rem) 0}.bio__inner{grid-template-columns:1fr 1.25fr;align-items:center;gap:clamp(3rem,6vw,6rem);display:grid}.bio__image-placeholder{aspect-ratio:3/4;box-shadow:var(--shadow-lg);background:linear-gradient(155deg,#d4b898 0%,#a07a58 45%,#5e3a1e 100%);border-radius:2px}.bio__text{flex-direction:column;gap:1.25rem;display:flex}.bio__text p{color:var(--color-text);font-size:var(--fs-base);line-height:1.85}.bio__link{border:none;border-bottom:1px solid var(--color-accent);font-family:var(--font-body);font-size:var(--fs-sm);letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);cursor:pointer;transition:gap var(--duration-base), color var(--duration-base);background:0 0;align-self:flex-start;align-items:center;gap:.5rem;padding:0 0 2px;display:inline-flex}.bio__link:hover{color:#8f4e30;gap:.85rem}@media (width<=800px){.bio__inner{grid-template-columns:1fr}.bio__image-placeholder{aspect-ratio:16/9;max-height:380px}}.gallery{background:var(--color-bg-alt);padding:clamp(5rem,10vw,8rem) 0}.gallery__header{text-align:center;max-width:580px;margin:0 auto clamp(3rem,5vw,4.5rem)}.gallery__description{color:var(--color-text-secondary);font-size:var(--fs-base);line-height:1.75}.gallery__grid{grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}.gallery__card{flex-direction:column;gap:1rem;display:flex}.gallery__image-wrap{border-radius:2px;overflow:hidden}.gallery__image{aspect-ratio:4/5;transition:transform .5s}.gallery__card:hover .gallery__image{transform:scale(1.04)}.gallery__info{padding:0 .125rem}.gallery__title{font-family:var(--font-heading);font-size:var(--fs-base);color:var(--color-text-h);margin-bottom:.3rem;font-weight:400}.gallery__meta{font-size:var(--fs-sm);color:var(--color-text-muted);letter-spacing:.04em}@media (width<=900px){.gallery__grid{grid-template-columns:repeat(2,1fr)}}@media (width<=520px){.gallery__grid{grid-template-columns:1fr;gap:1.5rem}}.notched-field{--_field-min-height:30px;align-items:center;min-width:240px;margin-top:.75rem;display:inline-flex;position:relative}.notched-field--full-width{width:100%;font-size:var(--fs-base);color:var(--color-text);cursor:text}.notched-field fieldset{border:1px solid var(--color-border);border-radius:var(--radius-sm);pointer-events:none;transition:border-color var(--duration-base);margin:0;padding:0 8px;position:absolute;inset:0;overflow:hidden}.notched-field legend{visibility:hidden;white-space:nowrap;max-width:.01px;height:0;padding:0;font-size:.75em}.notched-field legend span{padding:0 4px;display:inline-block}.notched-field-label{transform:translateY(calc(var(--_field-min-height) / 2 - 50%));font-size:var(--fs-sm);color:var(--color-text-secondary);pointer-events:none;-webkit-user-select:none;user-select:none;transition:transform var(--duration-fast) var(--ease-default), color var(--duration-base) var(--ease-default);transform-origin:0 0;position:absolute;top:0;left:12px}.notched-field-content{width:100%;min-height:var(--_field-min-height);align-items:center;display:flex}.notched-field-error{height:20px;color:var(--color-danger);font-size:.75rem;font-style:italic}.notched-field-subtext{height:20px;font-size:var(--fs-xs);color:var(--color-text-muted)}.notched-field:focus-within fieldset{border-color:var(--color-accent-light);border-width:1px}.notched-field:focus-within .notched-field-label{color:var(--color-accent-light);transform:translateY(-40%)scale(.75)}.notched-field:focus-within legend{max-width:100%}.notched-field.has-value .notched-field-label{color:var(--color-text-secondary);transform:translateY(-40%)scale(.75)}.notched-field.has-value legend{max-width:100%}.notched-field.has-value:focus-within .notched-field-label{color:var(--color-accent-light)}.notched-field.error fieldset{border-color:var(--color-danger);border-width:1.5px}.notched-field.error .notched-field-label{color:var(--color-danger)}.notched-field.disabled{cursor:default;opacity:var(--opacity-disabled)}.notched-field.disabled fieldset{border-color:var(--color-text-muted)}.notched-field.disabled .notched-field-label{color:var(--color-text-muted)}.notched-field--multiline{align-items:flex-start}.notched-field--multiline .notched-field-content{padding-top:var(--space-2);align-items:flex-start}.notched-field--multiline .notched-field-label{transform:translateY(calc(var(--space-4) - 40%));top:0}.notched-field--multiline.has-value .notched-field-label,.notched-field--multiline:focus-within .notched-field-label{transform:translateY(-40%)scale(.75)}input{width:100%;height:30px;font-size:var(--fs-sm);color:var(--color-text);box-sizing:border-box;background:0 0;border:none;outline:none;padding:0 12px 2px}input:focus,input :focus-visible{outline:none}input::placeholder{color:#0000;transition:color var(--duration-fast)}input::-webkit-textfield-decoration-container{display:none}input::-webkit-input-decoration{display:none}input::-ms-reveal{display:none}input::-ms-clear{display:none}.text-field-wrapper{align-items:center;width:100%;display:flex;position:relative}.text-field-wrapper--icon-left .text-field-input{padding-left:36px}.text-field-wrapper--icon-right .text-field-input{padding-right:36px}.text-field-input{width:100%;height:30px;font-size:var(--fs-sm);color:var(--color-text);box-sizing:border-box;background:0 0;border:none;outline:none;padding:2px 12px}.text-field-input::placeholder{color:#0000;transition:color var(--duration-fast)}.notched-field:focus-within .text-field-input::placeholder{color:var(--color-text-muted)}.notched-field.disabled .text-field-input{cursor:default;pointer-events:none}.text-field-adornment{color:var(--color-text-muted);pointer-events:none;font-size:var(--fs-base);align-items:center;line-height:1;display:flex;position:absolute}.text-field-adornment--left{left:10px}.text-field-adornment--right{right:10px}.text-field-toggle{color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;right:8px}.text-field-toggle:hover{color:var(--color-text-secondary)}.text-area-root{flex-direction:column;display:flex}.text-area-input{width:100%;font-size:var(--fs-sm);font-family:var(--font-sans);color:var(--color-text);box-sizing:border-box;resize:none;background:0 0;border:none;outline:none;padding:0 12px;line-height:1.6;overflow-y:auto}.text-area-input--resizable{resize:vertical}.text-area-input--resizable::-webkit-resizer{background:linear-gradient(135deg, var(--color-surface) 50%, transparent 50%), repeating-linear-gradient(135deg, transparent 0, transparent 1px, var(--color-accent-light) 3px, var(--color-accent-light) 4px);border-left:1px solid var(--color-border);border-top:1px solid var(--color-border);border-radius:var(--radius-sm) 0 var(--radius-sm) 0}.text-area-input::placeholder{color:#0000;transition:color var(--duration-fast)}.notched-field:focus-within .text-area-input::placeholder{color:var(--color-text-muted)}.notched-field.disabled .text-area-input{cursor:default;pointer-events:none}.text-area-char-count{font-size:var(--fs-xs);font-family:var(--font-mono);color:var(--color-text-muted);text-align:right;margin-top:var(--space-1)}.contact{background:var(--color-bg);padding:clamp(5rem,10vw,8rem) 0}.contact__inner{grid-template-columns:1fr 1.6fr;align-items:start;gap:clamp(3rem,6vw,6rem);display:grid}.contact__header{position:sticky;top:7rem}.contact__description{color:var(--color-text-secondary);font-size:var(--fs-base);line-height:1.8}.contact__form{flex-direction:column;gap:.25rem;display:flex}.contact__fields{grid-template-columns:1fr 1fr;gap:0 1.5rem;display:grid}.contact__submit{align-self:flex-start;margin-top:1.5rem}.contact__success{background:var(--color-bg-alt);border-left:3px solid var(--color-accent);border-radius:2px;flex-direction:column;align-items:flex-start;gap:1.75rem;padding:3rem 2.5rem;display:flex}.contact__success p{font-family:var(--font-heading);font-size:var(--fs-lg);color:var(--color-text);font-style:italic;line-height:1.6}@media (width<=900px){.contact__inner{grid-template-columns:1fr}.contact__header{position:static}}@media (width<=520px){.contact__fields{grid-template-columns:1fr}}
