@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;500;600&display=swap');
:root{--ivory:#fcf9f3;--maroon:#641d32;--ink:#34252a;--muted:#716267;--blush:#f1e3df;--gold:#937342;--line:#ded4ca}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--ivory);color:var(--ink);font:16px/1.7 'DM Sans',sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a,button{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}header{padding:22px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--ivory);position:sticky;top:0;z-index:10}.brand{text-decoration:none;display:flex;gap:16px;align-items:center;font-size:13px;letter-spacing:2px;line-height:1.4}.brand small{display:block;font-size:10px;letter-spacing:1.7px;margin-top:7px}.monogram{font:46px/1 Georgia,serif;color:var(--maroon);letter-spacing:-4px}.monogram span{font-size:30px;font-style:italic}nav{display:flex;gap:29px;align-items:center}nav a{text-decoration:none;font-size:14px}nav a:hover,.text-link:hover{color:var(--gold)}.button{display:inline-block;background:var(--maroon);color:#fff;padding:15px 23px;text-decoration:none;border:1px solid var(--maroon);font-size:14px;cursor:pointer;transition:background .2s}.button:hover{background:#842d46;color:white}.button.small{padding:11px 19px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:680px}.hero-copy{padding:86px 10% 65px}.eyebrow{font-size:12px;letter-spacing:2.5px;font-weight:600;color:var(--maroon);margin:0 0 24px}h1,h2,h3,.image-caption{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:1.05}h1{font-size:clamp(44px,4.7vw,76px);letter-spacing:-2px;margin:0 0 28px}em{font-weight:400;color:var(--maroon)}.hero-copy>p:not(.eyebrow){max-width:420px;color:var(--muted)}.actions{display:flex;align-items:center;gap:26px;margin:31px 0}.text-link{text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:4px;font-size:14px}.hero-note{font-size:11px;letter-spacing:2px;display:block;margin-top:55px;color:var(--muted)}.hero-image{position:relative;overflow:hidden;background:var(--blush);min-height:560px}.hero-image>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center 30%}.hero-image:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#1a141178)}.sample{position:absolute;top:20px;left:22px;font-size:10px;letter-spacing:1px;background:#fcf9f3eb;padding:5px 10px;z-index:1}.image-caption{position:absolute;bottom:42px;left:40px;font-size:36px;color:white;z-index:1}.image-caption em{color:white}.ribbon{background:var(--maroon);color:#fff2e7;display:flex;justify-content:center;gap:6%;padding:23px 20px;font-size:11px;letter-spacing:2px}.ribbon i{color:#d2b88c;font-size:18px;line-height:1}.section{padding:100px 7%;max-width:1600px;margin:auto}h2{font-size:clamp(38px,4vw,58px);letter-spacing:-1px;margin:0 0 23px}h3{font-size:29px;margin:0 0 15px}p{margin-top:0}.section-intro{max-width:620px;color:var(--muted)}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:36px}.section-head .text-link{white-space:nowrap}.split{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.about-mark{background:var(--blush);min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--line)}.about-mark b{font:110px/1 'Cormorant Garamond',serif;color:var(--maroon)}.about-mark span{letter-spacing:4px;font-size:12px;margin-top:23px}.values{display:flex;gap:25px;color:var(--maroon);font-size:13px;border-top:1px solid var(--line);padding-top:24px}.editable{font-size:13px;color:var(--muted);border-left:2px solid var(--gold);padding-left:14px}.services{background:#f5eee6}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.service-card{padding:30px;border:1px solid var(--line);margin:0 -1px -1px 0}.service-card .number{font-size:12px;color:var(--gold);letter-spacing:2px;display:block;margin-bottom:24px}.service-card p{color:var(--muted);font-size:14px}.service-card a{font-size:13px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:30px 0}.filter{border:1px solid var(--line);background:transparent;color:var(--ink);padding:9px 17px;font-size:14px;cursor:pointer}.filter[aria-pressed=true]{background:var(--maroon);color:white;border-color:var(--maroon)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.gallery-card{border:0;background:none;padding:0;text-align:left;cursor:pointer;color:var(--ink)}.gallery-photo{position:relative;display:block;overflow:hidden;background:var(--blush);aspect-ratio:3/4}.gallery-photo img{height:100%;width:100%;object-fit:cover;transition:transform .5s}.gallery-card:hover img{transform:scale(1.03)}.gallery-photo .sample{top:auto;bottom:15px;left:15px}.gallery-card h3{font-size:25px;margin:17px 0 3px}.gallery-card p{font-size:13px;color:var(--muted)}.bridal{background:var(--maroon);color:var(--ivory);padding:0;max-width:none}.bridal .split{gap:0}.bridal-photo{height:650px;width:100%;object-fit:cover}.bridal-copy{padding:65px 13%}.bridal .eyebrow{color:#d7bb96}.bridal em{color:#e6b9b5}.bridal p{color:#ebd8dc}.bridal .button{background:var(--ivory);color:var(--maroon);border-color:var(--ivory)}.bridal ul{padding-left:20px;color:#ebd8dc;margin-bottom:30px}.process-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:25px;margin-top:45px}.process-step{border-top:1px solid var(--gold);padding-top:23px}.process-step b{font:35px 'Cormorant Garamond',serif;color:var(--gold)}.process-step h3{font-size:24px;margin:18px 0 12px}.process-step p{font-size:14px;color:var(--muted)}.faq{background:var(--blush)}.faq-wrap{display:grid;grid-template-columns:1fr 1.4fr;gap:9%}details{border-bottom:1px solid #cfbcb7;padding:20px 0}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font-size:16px}summary:after{content:'+';color:var(--maroon);font-size:23px}details[open] summary:after{content:'−'}details p{margin:18px 0 0;color:var(--muted);font-size:14px}.contact-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:30px 0}.contact-details dt{font-size:11px;letter-spacing:1.4px;color:var(--gold);margin-bottom:7px}.contact-details dd{margin:0;font-size:14px;overflow-wrap:anywhere}.contact-details a{text-decoration:none;border-bottom:1px solid var(--line)}form{padding:36px;background:#f3eae4;border:1px solid var(--line)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:14px}input,select,textarea{width:100%;border:1px solid #b9aaa3;border-radius:0;background:var(--ivory);padding:12px;margin-top:7px;color:var(--ink);min-height:49px}textarea{resize:vertical;min-height:110px}.full{grid-column:1/-1}.form-note{font-size:13px;color:var(--muted);margin:20px 0}.form-status{font-size:14px;margin:18px 0 0}.form-status:empty{display:none}footer{background:#302128;color:#eee0df;padding:44px 7%;display:flex;justify-content:space-between;gap:30px;align-items:center}footer .monogram{color:#e4c3ad}footer p{font-size:12px;color:#c8b6bb;margin:0}.floating-wa{position:fixed;right:24px;bottom:23px;z-index:15;background:var(--maroon);color:white;border:1px solid #d5b389;border-radius:50px;box-shadow:0 5px 24px #32132220;padding:12px 20px;text-decoration:none;font-size:14px}.floating-wa>span{margin-left:5px}.skip{position:fixed;top:-100px;background:var(--maroon);color:white;padding:12px;z-index:30}.skip:focus{top:0}dialog{border:0;background:var(--ivory);padding:25px;max-width:min(90vw,800px);max-height:90vh;color:var(--ink)}dialog::backdrop{background:#21121cba}dialog img{max-height:65vh;max-width:100%;display:block;margin:auto}dialog h3{margin-top:20px}dialog p{font-size:13px}.close{position:absolute;right:10px;top:10px;border:1px solid var(--line);background:var(--ivory);font-size:27px;width:44px;height:44px;cursor:pointer}section[id]{scroll-margin-top:12px}@media(min-width:1000px){.hero{max-height:850px}}@media(max-width:1000px){nav{gap:15px}.hero-copy{padding:65px 8%}h1{font-size:54px}.hero{min-height:620px}.hero-image{min-height:540px}.service-grid{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:repeat(3,1fr)}.brand{font-size:11px}.brand small{font-size:9px}.contact-layout{gap:5%}.section{padding:75px 6%}}@media(max-width:760px){header{padding:16px 5%}.monogram{font-size:38px}.menu-toggle{display:block;background:transparent;border:1px solid var(--line);padding:8px 14px;color:var(--maroon);font-size:14px}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--ivory);padding:20px;box-shadow:0 10px 15px #30212812;align-items:stretch}nav.open{display:flex;flex-direction:column}nav a{padding:8px}.hero{grid-template-columns:1fr}.hero-copy{padding:48px 6% 40px}h1{font-size:clamp(43px,8vw,58px);letter-spacing:-1.3px}.hero-copy>p:not(.eyebrow){font-size:15px}.hero-note{margin-top:29px}.hero-image{min-height:470px}.hero-image>img{object-position:center 28%}.ribbon{gap:20px;flex-wrap:wrap;font-size:9px;letter-spacing:1.3px}.ribbon i{display:none}.ribbon span:last-child{display:none}.section{padding:60px 6%}.split,.faq-wrap,.contact-layout{grid-template-columns:1fr;gap:35px}.about-mark{min-height:270px}.section-head{display:block}.section-head .text-link{display:inline-block;margin-top:10px}.service-card{padding:25px 20px}.service-card h3{font-size:26px}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:16px}.gallery-card h3{font-size:23px}.bridal-photo{height:490px}.bridal-copy{padding:45px 7%}.process-grid{grid-template-columns:repeat(2,1fr);gap:25px}.values{gap:15px;font-size:12px}form{padding:25px 20px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.contact-details{gap:22px 15px}footer{padding:35px 6% 95px;flex-direction:column;align-items:start}.floating-wa{bottom:16px;right:16px}.actions{gap:20px;flex-wrap:wrap}.button{padding:13px 18px}.eyebrow{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
