@import "https://fonts.googleapis.com/css2?family=Allura&family=Manrope:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap";:root{--color-bg:#f9f4ee;--color-surface:#fffaf6;--color-text:#4a362b;--color-muted:#8b7466;--color-accent:#b97f61;--color-accent-contrast:#fff9f5;--color-border:#4a362b1f;--font-body:"Manrope", sans-serif;--font-display:"Playfair Display", serif;--font-script:"Allura", cursive;color:var(--color-text);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 0 0,#ffffffd1,#0000 28%),linear-gradient(#fcf8f4 0%,#f6efe7 100%);font-weight:400;line-height:1.6}*{box-sizing:border-box}html{scroll-behavior:auto}body{width:100%;min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}body,button,input,select,textarea{font-family:var(--font-body)}img{max-width:100%}a{color:inherit}p{color:var(--color-muted);margin:0}h1,h2,h3{font-family:var(--font-display);color:var(--color-text);letter-spacing:-.03em;font-weight:600}h1{font-size:clamp(3.35rem,7vw,6rem);line-height:1.02}h2{font-size:clamp(2.3rem,4.4vw,3.9rem);line-height:1.04}h3{font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.08}button,input,select,textarea{font:inherit}button{cursor:pointer}#root{min-height:100vh}@media (width<=720px){:root{line-height:1.55}}.page-shell{color:#5f4333;background:#fffdfb;width:100%;min-height:100vh;overflow-x:hidden}.page-shell *,.page-shell :before,.page-shell :after{box-sizing:border-box}.page-width,.site-header,.site-footer{width:min(1120px,100% - 2.5rem);margin:0 auto}.site-header{z-index:20;color:#fffdfb;justify-content:flex-end;align-items:flex-start;gap:2rem;padding-top:1.35rem;display:flex;position:absolute;inset:0 0 auto}.site-header-solid{color:#6a4938;border-bottom:1px solid #be836247;justify-content:space-between;padding-bottom:1.2rem;position:relative}.site-header-overlay:not(.site-header-home){justify-content:space-between}.brand,.site-nav a,.mobile-menu a,.text-button,.footer-socials a,.contact-links a{color:inherit;text-decoration:none}.brand{text-align:center;text-transform:uppercase;justify-items:center;min-width:17rem;padding:.08rem 0 .8rem;display:inline-grid;position:relative}.site-header-overlay .brand{color:#fffdfbf0}.site-header-home .brand{display:none}.site-header-solid .brand,.site-header-overlay:not(.site-header-home) .brand{margin-right:auto}.brand-wordmark{z-index:1;color:currentColor;letter-spacing:.22em;text-shadow:0 .1rem .75rem #3e2d2338;font-size:clamp(1.75rem,3.2vw,3rem);font-weight:300;line-height:1;position:relative}.brand-script{z-index:3;color:#ddb29af5;font-family:var(--font-script);text-transform:none;text-shadow:0 .12rem .8rem #3e2d232e;font-size:clamp(2rem,4vw,4rem);line-height:.72;position:absolute;top:clamp(1.45rem,2.45vw,2.15rem);left:50%;transform:translate(-50%)}.site-nav{color:#fffdfbe6;letter-spacing:.06em;text-transform:uppercase;justify-content:flex-end;gap:2rem;font-size:.95rem;display:flex}.site-header-solid .site-nav{color:#7a5746}.mobile-menu-toggle,.mobile-menu{display:none}.hero,.page-hero{background:#8a978b;width:100%;position:relative;overflow:hidden}.hero{min-height:32rem}.hero-media,.hero-media picture,.page-hero img{width:100%;height:100%;display:block;position:absolute;inset:0}.hero-media,.home-about figure,.about-bara figure{margin:0}.hero-media img,.page-hero img{object-fit:cover;width:100%;height:100%;display:block}.hero-home .hero-media img{object-position:center 45%}.hero:after,.page-hero:after{content:"";z-index:1;background:linear-gradient(#363f3b29,#363f3b05 42%,#363f3b33),linear-gradient(90deg,#362b2347,#0000 44%,#362b230f);position:absolute;inset:0}.hero-content{z-index:2;color:#fffdfb;align-content:end;justify-items:start;width:min(1120px,100% - 2.5rem);min-height:32rem;margin:0 auto;padding:6rem 0 2.7rem;display:grid;position:relative}.hero-content-center{justify-items:start}.hero-center-logo{z-index:2;color:#fffdfb;text-align:center;text-transform:uppercase;justify-items:center;min-width:min(62rem,100% - 3rem);display:inline-grid;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.hero-logo-wordmark{z-index:1;letter-spacing:.18em;white-space:nowrap;text-shadow:0 .22rem 1.8rem #251b155c;font-size:clamp(3rem,6.4vw,5.9rem);font-weight:300;line-height:.9;position:relative}.hero-logo-script{z-index:3;color:#ebcdbcf2;font-family:var(--font-script);text-transform:none;text-shadow:0 .2rem 1.4rem #251b1542;margin-top:-.2em;font-size:clamp(3.4rem,6.8vw,6.8rem);line-height:.72;position:relative}.hero-button,.text-button,.form-button{color:#fffdfb;letter-spacing:.12em;text-transform:uppercase;background:#d8b9aaf0;border:0;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.hero-button{border-radius:0;min-width:17rem;padding:1.05rem 1.7rem}.intro-section{text-align:center;max-width:58rem;padding:1.45rem 0 2.8rem}.intro-section p{color:#654635;margin:.35rem 0;font-size:clamp(1.08rem,1.85vw,1.35rem);line-height:1.48}.wedding-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.7rem,4vw,3.35rem);padding-bottom:3.2rem;display:grid}.wedding-card{color:#8d5e45;cursor:pointer;font:inherit;text-align:center;background:0 0;border:0;gap:1.05rem;display:grid}.wedding-card img{object-fit:cover;border-radius:999px 999px 0 0;width:100%;height:clamp(23rem,30vw,28.5rem);display:block}.wedding-card span{color:#8d5e45;font-family:var(--font-display);letter-spacing:.22em;text-transform:uppercase;border-bottom:1px solid #be8362a6;padding-bottom:.72rem;font-size:clamp(1.18rem,2vw,1.62rem);line-height:1.2;display:block}.home-about{grid-template-columns:minmax(0,.95fr) minmax(18rem,.8fr);align-items:center;gap:clamp(2.5rem,5vw,4rem);padding:2.2rem 0 4rem;display:grid}.section-kicker{color:#8d5e45;letter-spacing:.2em;text-transform:uppercase;margin:0 0 .55rem;font-size:.82rem;font-weight:600}.home-about h1,.gallery-heading h1,.about-bara h1,.contact-intro h1{color:#5b3b2a;margin:0;font-size:clamp(2rem,4vw,3.4rem);font-weight:500;line-height:1.04}.home-about p,.about-quote p,.about-bara p,.contact-note p,.gallery-heading p{color:#654635;font-size:1.05rem;line-height:1.65}.text-button{color:#704d3e;text-transform:none;letter-spacing:.02em;border-radius:0;margin-top:1.25rem;padding:.72rem 1.65rem}.home-about figure{aspect-ratio:1.18/.82;margin:0;overflow:hidden}.home-about img,.about-bara img,.portfolio-item img,.blog-card img{object-fit:cover;width:100%;height:100%;display:block}.page-hero{place-items:center;height:min(26rem,40vw);min-height:17rem;display:grid}.page-hero h1{z-index:2;color:#fffdfbe0;font-family:var(--font-body);letter-spacing:.28em;text-transform:uppercase;text-shadow:0 .1rem .9rem #3e2d2347;margin:0;font-size:clamp(1.7rem,4vw,3rem);font-weight:300;position:relative}.about-page{padding:1rem 0 3rem}.about-quote{text-align:center;max-width:68rem;margin:0 auto 2.4rem;position:relative}.about-quote span{color:#5b3b2a;font-family:var(--font-display);font-size:3.2rem;line-height:1;position:absolute;top:-.5rem;left:-.5rem}.about-bara{grid-template-columns:minmax(16rem,.72fr) minmax(0,1.28fr);align-items:center;gap:clamp(2rem,5vw,4rem);padding:1.4rem 0 2rem;display:grid}.about-bara figure{margin:0}.about-bara figure img{aspect-ratio:.9;object-position:78% 58%}.about-bara figcaption{color:#8d5e45;font-family:var(--font-display);letter-spacing:.22em;text-align:center;text-transform:uppercase;margin-top:1.1rem;font-size:1.35rem}.about-bara article{text-align:center}.about-bara h1{color:#fffdfb;font-family:var(--font-body);letter-spacing:.05em;text-transform:uppercase;background:#d8b9aa;padding:1.1rem 2rem;font-size:clamp(1.25rem,2.3vw,1.85rem);font-weight:500}.about-bottom{border-top:1px solid #be836299;grid-template-columns:1fr .9fr;gap:2rem;margin-top:1.5rem;padding-top:2rem;display:grid}.about-bottom h2{color:#654635;font-family:var(--font-body);margin:0 0 1rem;font-size:1.2rem;font-weight:500}.about-bottom ol{color:#654635;margin:0;padding-left:1.2rem;line-height:1.8}.contact-links{gap:.85rem;display:grid}.contact-links a{align-items:center;gap:1rem;display:inline-flex}.contact-links svg{color:#fffdfb;background:#c99575;border-radius:999px;flex:none;width:2.35rem;height:2.35rem;padding:.5rem}.gallery-page,.blog-page,.blog-article-page{padding:4.5rem 0 5rem}.gallery-heading,.blog-heading{text-align:center;max-width:48rem;margin:0 auto 2.2rem}.blog-heading{background:radial-gradient(circle at 100% 0,#d8b9aa4d,#0000 34%),#fffdfb;border:1px solid #be836229;max-width:56rem;padding:2.2rem clamp(1.2rem,4vw,3rem)}.blog-heading h1{color:#5b3b2a;margin:0;font-size:clamp(2.35rem,5.5vw,4.6rem);line-height:.98}.blog-heading p:not(.section-kicker){color:#654635;max-width:40rem;margin:.9rem auto 0;font-size:1.08rem;line-height:1.65}.portfolio-grid{grid-template-columns:repeat(6,1fr);grid-auto-rows:9rem;gap:.35rem;display:grid}.portfolio-item{cursor:zoom-in;background:#efe3de;border:0;padding:0;overflow:hidden}.portfolio-wide{grid-column:span 2}.portfolio-tall{grid-area:span 2/span 2}.blog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem;display:grid}.blog-card{color:inherit;background:#fffdfb;border:1px solid #be836224;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid;overflow:hidden;box-shadow:0 1rem 2.4rem #573a2b12}.blog-card:hover{border-color:#be836242;transform:translateY(-.18rem);box-shadow:0 1.3rem 2.8rem #573a2b1a}.blog-card img{aspect-ratio:1.26/.78}.blog-card div{padding:1.15rem}.blog-card p{color:#9d6e57;letter-spacing:.12em;text-transform:uppercase;margin:0 0 .55rem;font-size:.78rem}.blog-card h2{color:#5b3b2a;margin:0;font-size:1.32rem;font-weight:500;line-height:1.2}.blog-card__excerpt{color:#654635;margin-top:.8rem;font-size:.98rem;line-height:1.58;display:block}.blog-card__link,.blog-back{color:#9d6e57;letter-spacing:.08em;text-transform:uppercase;width:fit-content;margin-top:1rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.blog-back{margin-bottom:1.4rem}.blog-article{width:min(820px,100%);margin:0 auto}.blog-article header{text-align:center}.blog-article h1{color:#5b3b2a;margin:0;font-size:clamp(2.5rem,6vw,5rem);line-height:.98}.blog-article header p:not(.section-kicker){color:#654635;max-width:44rem;margin:1rem auto 0;font-size:1.12rem;line-height:1.72}.blog-article figure{aspect-ratio:1.55/.82;margin:2.2rem 0;overflow:hidden}.blog-article figure img{object-fit:cover;width:100%;height:100%;display:block}.article-body{gap:1.7rem;display:grid}.article-body section{border-top:1px solid #be836238;padding-top:1.7rem}.article-body h2{color:#5b3b2a;margin:0 0 .65rem;font-size:clamp(1.55rem,3vw,2.4rem);line-height:1.06}.article-body p,.article-cta p{color:#654635;font-size:1.05rem;line-height:1.72}.article-cta{text-align:center;background:#efe3de;margin-top:2.4rem;padding:1.8rem}.contact-section{text-align:center;padding:1rem 0 2.4rem}.contact-intro{width:min(720px,100%);margin:0 auto;padding:.3rem 0 1.2rem}.contact-intro h1{font-family:var(--font-script);font-size:clamp(3.4rem,6.5vw,5rem);font-weight:400;line-height:.9}.contact-intro p{color:#654635;margin:.6rem 0 1.1rem;font-size:clamp(1.12rem,1.9vw,1.35rem)}.contact-intro span{color:#654635;font-size:1.04rem}.contact-form{background:#efe3de;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.05rem 2rem;width:min(880px,100%);margin:0 auto;padding:2rem;display:grid}.contact-form label{color:#654635;text-align:left;gap:.55rem;min-width:0;font-size:1rem;display:grid}.field-full,.form-button,.submit-message{grid-column:1/-1}.contact-form input,.contact-form textarea{color:#4f3426;width:100%;font:inherit;background:#d6b8aa;border:0;outline:1px solid #0000;padding:.9rem 1rem}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form textarea:focus{outline-color:#8d5e4573}.form-button{border-radius:0;justify-self:center;gap:.55rem;min-width:11rem;padding:.9rem 1.4rem}.submit-message{color:#654635;text-align:center;margin:0}.contact-note{gap:1rem;width:min(720px,100%);margin:1.4rem auto 0;display:grid}.site-footer{color:#654635;text-align:center;border-top:1px solid #be836259;justify-items:center;gap:1rem;padding:2.4rem 0 2rem;display:grid}.footer-contact{color:#654635c7;flex-wrap:wrap;justify-content:center;gap:.8rem 1.2rem;font-size:.95rem;display:flex}.footer-brand{color:#b88b79e6;min-width:0;text-shadow:none;flex-direction:column;align-items:center;gap:0;padding:.15rem 0 0;display:inline-flex}.footer-brand .brand-wordmark,.footer-brand .brand-script{text-shadow:none}.footer-brand .brand-wordmark{letter-spacing:.18em;font-size:clamp(1.25rem,2vw,1.65rem);line-height:1}.footer-brand .brand-script{margin-top:.12rem;font-size:clamp(1.8rem,2.35vw,2.35rem);line-height:.8;position:static;transform:none}.footer-contact a,.footer-rights{color:#654635;margin:0;text-decoration:none}.footer-rights{text-align:center;color:#6546359e;font-size:.86rem}.modal-open{overflow:hidden}.lightbox{z-index:100;place-items:center;padding:1.2rem;display:grid;position:fixed;inset:0}.lightbox-backdrop{background:#271c17c7;border:0;position:absolute;inset:0}.lightbox-panel{z-index:1;background:#fffdfb;grid-template-rows:auto 1fr auto;width:min(1080px,100%);height:min(760px,100vh - 2.4rem);display:grid;position:relative;box-shadow:0 2rem 5rem #1f141061}.lightbox-top{color:#654635;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;display:flex}.lightbox-top button,.lightbox-arrow{color:inherit;background:0 0;border:0}.lightbox-panel img{object-fit:contain;background:#f5ede7;width:100%;height:100%;min-height:0}.lightbox-arrow{z-index:2;color:#654635;background:#fffdfbe6;border-radius:999px;place-items:center;width:3rem;height:3rem;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}.lightbox-count{color:#654635;text-align:center;padding:.75rem 1rem}@media (width<=820px){html,body,#root,.page-shell{max-width:100%;overflow-x:hidden}.page-width,.site-footer{width:min(100% - 2rem,23rem);max-width:23rem;margin-left:1rem;margin-right:auto}.site-header{grid-template-columns:1fr auto;justify-content:stretch;align-items:center;gap:.8rem;width:auto;max-width:none;padding-top:1rem;display:grid;left:.7rem;right:.7rem;transform:none}.site-header-home .brand{display:none}.brand{justify-items:start;min-width:auto;padding-bottom:.62rem}.brand-wordmark{letter-spacing:.18em;font-size:1.05rem}.brand-script{font-size:1.35rem;top:.78rem}.site-nav{display:none}.mobile-menu-toggle{z-index:22;color:#6d4d3d;width:4.35rem;font:inherit;letter-spacing:.12em;text-transform:uppercase;background:#fffdfbeb;border:1px solid #fffdfb6b;border-radius:999px;justify-content:center;justify-self:end;align-items:center;padding:.55rem 0;font-size:.76rem;font-weight:700;display:inline-flex;position:fixed;top:1rem;right:max(1rem,100vw - 374px)}.site-header-solid .mobile-menu-toggle{border-color:#be836242}.mobile-menu{z-index:21;color:#654635;text-align:center;background:#fffdfbfa;border-radius:1rem;width:auto;padding:1.15rem;position:fixed;inset:4.8rem .9rem auto;box-shadow:0 1.2rem 3rem #46302324}.mobile-menu-open{gap:.9rem;display:grid}.hero,.hero-content{min-height:34rem}.hero-home .hero-media img{object-position:center 44%}.hero-content{text-align:center;align-content:end;justify-items:center;padding:5rem 0 2rem}.hero-center-logo{width:100%;min-width:0;max-width:100vw;padding:0 1.35rem;top:43%;overflow:hidden}.hero-logo-wordmark{letter-spacing:.075em;white-space:nowrap;max-width:100%;font-size:clamp(1.52rem,7.4vw,2.35rem)}.hero-logo-script{margin-top:-.16em;font-size:clamp(2.15rem,9.8vw,3.25rem)}.hero-button{letter-spacing:.08em;width:min(17.5rem,100% - 2rem);min-width:0;font-size:.84rem}.intro-section{padding:1.9rem 0 2.3rem}.intro-section p{overflow-wrap:break-word;font-size:1.02rem}.home-about,.about-bara,.about-bottom,.blog-grid{grid-template-columns:1fr}.wedding-strip{grid-template-columns:1fr;gap:2rem;width:min(100% - 2rem,23rem);max-width:23rem;margin-left:1rem;margin-right:auto;padding:0 0 2.4rem;display:grid;overflow:visible}.wedding-card{width:100%;margin:0 auto}.wedding-card img{height:min(25rem,102vw)}.home-about{text-align:center;gap:1.8rem;padding:1rem 0 3rem}.home-about figure{width:min(100%,23rem);margin:0 auto}.home-about article{min-width:0}.home-about p{overflow-wrap:break-word}.home-about h1,.gallery-heading h1,.contact-intro h1{overflow-wrap:break-word;font-size:clamp(1.8rem,8.2vw,2.45rem);line-height:1.06}.page-hero{justify-items:start;height:17rem}.page-hero h1{letter-spacing:.14em;overflow-wrap:anywhere;width:min(100% - 2rem,22rem);margin-left:1rem;font-size:clamp(1.35rem,7.2vw,2rem);line-height:1.22}.about-page{padding-top:1.6rem}.about-bara{grid-template-columns:1fr;gap:1.6rem;padding:1rem 0 1.5rem;display:grid}.about-quote,.about-bara article,.gallery-heading,.contact-note{width:min(100%,20rem);margin-left:auto;margin-right:auto}.about-quote{text-align:left}.about-quote span{display:none}.about-bara figure{width:min(18rem,100%);margin:0 auto}.about-bara h1{padding:.85rem 1rem;font-size:1.05rem;line-height:1.2}.about-bottom{text-align:left;grid-template-columns:1fr;gap:1.65rem}.about-bottom li{overflow-wrap:anywhere}.contact-links a{min-width:0}.contact-links span{overflow-wrap:anywhere}.portfolio-grid{grid-template-columns:1fr 1fr;grid-auto-rows:8.2rem;gap:.28rem}.portfolio-wide,.portfolio-tall{grid-area:span 1/span 1}.blog-page,.blog-article-page,.gallery-page{padding-top:3rem}.blog-grid{width:100%;margin:0}.blog-heading{width:100%;padding:1.5rem 1rem}.blog-heading h1,.blog-article h1{font-size:clamp(2rem,10vw,2.85rem)}.blog-card div{padding:1rem}.blog-article{width:100%}.blog-article header{text-align:left}.blog-article figure{aspect-ratio:1/.78;margin:1.6rem 0}.article-body{gap:1.25rem}.article-body p,.article-cta p{font-size:1rem}.article-cta{padding:1.25rem}.contact-section{width:min(100% - 2rem,23rem);max-width:23rem;margin-left:1rem;margin-right:auto}.contact-form{grid-template-columns:1fr;width:100%;max-width:none;margin-left:0;margin-right:0;padding:1.2rem 1rem}.contact-intro,.contact-note{width:100%}.site-footer{text-align:center;justify-items:center;width:min(100% - 2rem,23rem);padding-top:2rem}.footer-brand{justify-items:center;width:100%;min-width:0}.footer-contact{gap:.35rem;width:100%;font-size:.88rem;display:grid}.footer-contact a{overflow-wrap:anywhere}.lightbox{padding:.65rem}.lightbox-panel{height:min(660px,100vh - 1.3rem)}}
