:root{--paper:#f5f9e5;--green:#475b35;--coral:#e19184;--berry:#c63e4e;--wine:#620607;--serif:"Instrument Serif",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--green);font-family:var(--sans);font-size:16px;font-weight:300;line-height:1.55}.skip{position:fixed;top:-60px;left:1rem;z-index:99;background:var(--wine);color:var(--paper);padding:.8rem}.skip:focus{top:1rem}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}a{color:inherit;text-decoration:none}img{display:block;width:100%}button,input,select,textarea{font:inherit}.site-header{height:92px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:10;width:100%;color:var(--paper)}.brand{display:flex;flex-direction:column;line-height:1}.brand span{font:2rem/1 var(--serif);letter-spacing:.06em}.brand small{font-size:.56rem;letter-spacing:.35em;margin-top:.35rem}.site-header nav{display:flex;align-items:center;gap:2.2vw;text-transform:uppercase;font-size:.68rem;letter-spacing:.17em}.site-header nav a{padding:.6rem 0;border-bottom:1px solid transparent}.site-header nav a:hover{border-color:currentColor}.nav-cta{border:1px solid currentColor!important;padding:.75rem 1.1rem!important}.menu{display:none;background:none;border:0;color:inherit}.hero{min-height:100svh;background:var(--green);color:var(--paper);display:grid;grid-template-columns:48% 52%;position:relative;overflow:hidden}.hero-copy{padding:22vh 5vw 8vh 8vw;position:relative;z-index:2}.eyebrow,.section-index{text-transform:uppercase;letter-spacing:.25em;font-size:.66rem;font-weight:500}.hero h1{font:clamp(3.6rem,6vw,7.2rem)/.9 var(--serif);max-width:850px;margin:3rem 0}.hero h1 em,h2 em{font-weight:400}.hero-actions{display:flex;gap:2rem;align-items:center}.button{display:inline-flex;min-height:50px;padding:.85rem 1.4rem;align-items:center;justify-content:center;border:1px solid transparent;text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;cursor:pointer}.primary{background:var(--wine);color:var(--paper)}.primary:hover{background:var(--berry)}.text-link{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;border-bottom:1px solid currentColor;padding:.5rem 0}.text-link span{margin-left:1rem}.hero-image{margin:0;height:100svh;position:relative}.hero-image img{height:100%;object-fit:cover}.hero-image figcaption{position:absolute;bottom:2rem;right:2rem;font:italic 1.2rem var(--serif)}.vertical-note{position:absolute;left:1.5rem;bottom:2rem;writing-mode:vertical-rl;font-size:.55rem;letter-spacing:.25em}.section{padding:10rem 8vw}.intro{display:grid;grid-template-columns:16% 1fr 22%;gap:5vw;align-items:start}.intro h2,.measure h2,.portfolio h2,.process h2,.contact h2{font:clamp(3rem,5.5vw,6rem)/.95 var(--serif);margin:.2rem 0 2rem}.lead{font-size:1.2rem;max-width:590px;margin-bottom:2.5rem}.intro aside{border-left:1px solid var(--coral);padding-left:2rem;margin-top:4rem}.intro aside strong{font:6rem/1 var(--serif);color:var(--wine)}.intro aside p{max-width:180px}.brides{display:grid;grid-template-columns:52% 48%;background:var(--wine);color:var(--paper)}.bride-image{position:relative}.bride-image img{height:100%;min-height:760px;object-fit:cover}.bride-image span{position:absolute;bottom:2rem;left:2rem;text-transform:uppercase;letter-spacing:.2em;font-size:.6rem}.bride-copy{padding:12rem 8vw;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.bride-copy h2{font:clamp(4rem,7vw,7rem)/.9 var(--serif);margin:2rem 0}.bride-copy p:not(.eyebrow){max-width:500px;font-size:1.1rem}.light{color:var(--coral)}.cream{background:var(--paper);color:var(--wine);margin-top:2rem}.measure header{max-width:1050px}.measure-grid{display:grid;grid-template-columns:57% 1fr;gap:8vw;margin-top:6rem;align-items:center}.measure-grid img{aspect-ratio:1.25;object-fit:cover}.measure-grid>div>p{font-size:1.15rem}.measure ul{list-style:none;padding:0;margin:3rem 0}.measure li{font:2.3rem var(--serif);padding:.75rem 0;border-bottom:1px solid #a6af98}.measure li span{font:500 .6rem var(--sans);letter-spacing:.2em;margin-right:1.5rem}.fine{font-size:.78rem!important;opacity:.8}.portfolio{background:#d9a69e33}.portfolio header{display:flex;justify-content:space-between;align-items:end}.portfolio header>p{max-width:390px}.gallery{display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:550px 550px;gap:2rem;margin-top:5rem}.gallery button{border:0;background:none;padding:0;text-align:left;color:inherit;cursor:zoom-in;overflow:hidden;position:relative}.gallery button:first-child{grid-row:1/3}.gallery img{height:100%;object-fit:cover;transition:transform .7s}.gallery button:hover img{transform:scale(1.025)}.gallery span{position:absolute;bottom:0;left:0;background:var(--paper);padding:.8rem 1rem;text-transform:uppercase;letter-spacing:.12em;font-size:.6rem}.process{display:grid;grid-template-columns:38% 1fr;gap:10vw}.process-heading{position:sticky;top:3rem;align-self:start}.process-heading>p:last-child{max-width:300px}.process ol{list-style:none;padding:0;margin:0}.process li{display:grid;grid-template-columns:70px 1fr;gap:2rem;border-top:1px solid #a6af98;padding:2rem 0}.process li b{font-size:.7rem;letter-spacing:.2em;color:var(--berry)}.process h3{font:2.6rem/1 var(--serif);margin:0 0 .7rem}.process li p{margin:0;max-width:500px}.quote{padding:10rem 8vw;background:var(--coral);text-align:center;color:var(--wine)}.quote blockquote{font:clamp(3rem,6vw,6.5rem)/.95 var(--serif);max-width:1100px;margin:2rem auto}.contact{background:var(--green);color:var(--paper);display:grid;grid-template-columns:38% 1fr;gap:10vw}.contact-copy>p{max-width:450px}.contact address{font-style:normal;margin:3rem 0}.contact address span{display:block;text-transform:uppercase;letter-spacing:.2em;font-size:.6rem;color:var(--coral);margin-bottom:.5rem}.whatsapp{border-bottom:1px solid;padding-bottom:.5rem;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem}.whatsapp span{float:right;margin-left:2rem}form{display:flex;flex-direction:column;gap:1.2rem}label{font-size:.65rem;text-transform:uppercase;letter-spacing:.15em}label small{text-transform:none;letter-spacing:0}input,select,textarea{width:100%;border:0;border-bottom:1px solid #f5f9e566;background:transparent;color:var(--paper);padding:1rem 0;border-radius:0;outline:none}select option{color:var(--green)}input:focus,select:focus,textarea:focus{border-color:var(--coral)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:2rem}textarea{resize:vertical}.contact form .button{align-self:flex-start;margin-top:1rem}.form-status{color:var(--paper)}footer{background:var(--wine);color:var(--paper);padding:6rem 8vw 3rem;display:grid;grid-template-columns:2fr 1fr 1fr;gap:4rem}.footer-brand span{font-size:3rem}footer p{font-size:.8rem}.footer-links{display:flex;flex-direction:column;gap:1rem;text-transform:uppercase;letter-spacing:.14em;font-size:.65rem}.copyright{grid-column:1/-1;border-top:1px solid #f5f9e533;padding-top:2rem;margin-top:2rem}dialog{border:0;background:#1c241ce8;padding:3rem;max-width:100vw;max-height:100vh;width:100vw;height:100vh}dialog::backdrop{background:#1c241cee}dialog img{height:100%;object-fit:contain}dialog button{position:absolute;right:2rem;top:1rem;border:0;background:none;color:var(--paper);font-size:2.5rem;cursor:pointer}.reveal{animation:fadeUp .9s both}@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}}:focus-visible{outline:2px solid var(--coral);outline-offset:4px}@media(max-width:800px){.site-header{height:75px;padding:0 1.25rem}.site-header nav{position:fixed;inset:0;background:var(--wine);display:none;flex-direction:column;justify-content:center;font:1.8rem var(--serif)}.site-header nav.open{display:flex}.menu{display:block;width:44px;height:44px;position:relative;z-index:2}.menu span:not(.sr){display:block;width:24px;border-top:1px solid;margin:6px auto}.hero{display:block;min-height:auto}.hero-image{height:62svh}.hero-copy{padding:9rem 1.25rem 4rem}.hero h1{font-size:3.8rem;margin:2rem 0}.hero-actions{align-items:flex-start;flex-direction:column}.vertical-note{display:none}.section{padding:6rem 1.25rem}.intro{display:block}.intro h2,.measure h2,.portfolio h2,.process h2,.contact h2{font-size:3.4rem}.intro aside{margin-top:4rem}.brides{display:flex;flex-direction:column}.bride-image img{min-height:0;aspect-ratio:.8}.bride-copy{padding:6rem 1.25rem}.bride-copy h2{font-size:4.2rem}.measure-grid{display:block;margin-top:3rem}.measure-grid>div{margin-top:2rem}.measure li{font-size:2rem}.portfolio header{display:block}.portfolio header>p{margin-top:2rem}.gallery{display:block}.gallery button{display:block;width:100%;height:72svh;margin-bottom:1.25rem}.process{display:block}.process-heading{position:static;margin-bottom:4rem}.process li{grid-template-columns:45px 1fr}.quote{padding:7rem 1.25rem}.contact{display:block}.contact form{margin-top:5rem}.form-row{display:block}.form-row label{display:block;margin-bottom:1.2rem}footer{display:block;padding:5rem 1.25rem 2rem}footer>div{margin-top:3rem}.copyright{margin-top:3rem}.hero-image figcaption{font-size:1rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
