
:root{--cream:#f4efe7;--paper:#fffdf9;--ink:#1f2521;--olive:#4f5946;--rose:#c98578;--line:rgba(31,37,33,.16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.65}img{width:100%;height:100%;object-fit:cover;display:block}a{color:inherit;text-decoration:none}header{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:18px 5vw;background:#f4efe7e8;backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand{display:flex;flex-direction:column;line-height:1.1}.brand b{font:500 1.25rem "Playfair Display",serif}.brand span{text-transform:uppercase;letter-spacing:.2em;font-size:.65rem;margin-top:5px}nav{display:flex;gap:28px;align-items:center;font-size:.88rem}.pill{border:1px solid;border-radius:99px;padding:9px 16px}#menu{display:none;border:1px solid;border-radius:99px;background:none;padding:8px 14px}.hero{min-height:88vh;padding:6vw 5vw 4vw;display:grid;grid-template-columns:1.05fr .95fr;gap:4vw}.copy{align-self:center}.kicker{text-transform:uppercase;letter-spacing:.18em;font-weight:600;font-size:.72rem;color:var(--olive)}h1,h2{font:500 clamp(2.4rem,4.5vw,5rem)/1.06 "Playfair Display",serif;letter-spacing:-.035em;margin:.25em 0}h1{font-size:clamp(3.2rem,7vw,7rem)}h1 em{color:var(--rose)}.copy>p:not(.kicker){max-width:600px;font-size:1.1rem}.actions{display:flex;align-items:center;gap:28px;margin-top:32px}.btn{display:inline-block;border:0;border-radius:99px;background:var(--ink);color:white;padding:15px 24px;font:600 1rem "DM Sans"}.heroimg{position:relative;min-height:650px;border-radius:180px 180px 28px 28px;overflow:hidden}.heroimg i{position:absolute;right:25px;bottom:12px;color:white;font:4rem serif}.about,.contact{padding:9vw 7vw;background:var(--paper);display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;align-items:center}.portrait{height:680px;border-radius:28px 180px 28px 28px;overflow:hidden}.sign{font:italic 2.2rem "Playfair Display";color:var(--rose)}.process{padding:9vw 7vw;background:var(--olive);color:white}.process .kicker{color:#dce3d6}.steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:50px;border-top:1px solid #ffffff55}.steps article{padding:30px;border-right:1px solid #ffffff33}.steps article:last-child{border:0}.steps b{font:2.5rem "Playfair Display";color:#d9b1a8}.steps h3{text-transform:uppercase;letter-spacing:.1em;font-size:1rem}.moments{padding:9vw 7vw}.intro{display:grid;grid-template-columns:1.3fr .7fr;gap:8vw;align-items:end}.gallery{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:320px 320px;gap:18px;margin-top:50px}.gallery figure{margin:0;overflow:hidden;border-radius:22px}.gallery .big{grid-row:1/3}.quote{padding:9vw 8vw;background:var(--rose);color:white;text-align:center;font:500 clamp(2rem,4.5vw,4.8rem)/1.15 "Playfair Display"}.contact form{display:grid;gap:17px}.contact label{display:grid;gap:6px;font-size:.85rem;font-weight:600}input,textarea{border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px 2px;font:inherit}footer{padding:35px 5vw;background:var(--ink);color:white;display:grid;grid-template-columns:1fr auto auto;gap:25px;align-items:end;font-size:.85rem}footer .brand{font-size:1rem}@media(max-width:900px){#menu{display:block}nav{display:none;position:absolute;top:75px;left:5vw;right:5vw;background:var(--paper);padding:20px;border-radius:20px;flex-direction:column;align-items:stretch}nav.open{display:flex}.hero,.about,.contact{grid-template-columns:1fr}.heroimg{min-height:520px}.portrait{height:550px}.steps{grid-template-columns:1fr 1fr}.intro{grid-template-columns:1fr}footer{grid-template-columns:1fr}}@media(max-width:600px){header{padding:15px 20px}.hero,.about,.process,.moments,.contact{padding:65px 22px}.heroimg{min-height:420px;border-radius:110px 110px 24px 24px}.actions{align-items:flex-start;flex-direction:column}.steps{grid-template-columns:1fr}.steps article{border-right:0;border-bottom:1px solid #ffffff33}.gallery{grid-template-columns:1fr;grid-template-rows:420px 300px 300px}.gallery .big{grid-row:auto}}
