@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');
:root{--gold:#c6a15d;--dark:#171815;--cream:#f4f1e9;--muted:#9f9e95;--line:#383a32}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--dark);color:var(--cream);font:15px 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a.gold-button{cursor:pointer}.nav{padding:22px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;gap:18px;align-items:center}.brand b{font:42px Georgia;color:var(--gold);border-right:1px solid var(--line);padding-right:18px}.brand span{font-size:12px;letter-spacing:2px}.brand small{display:block;font-size:8px;letter-spacing:1px;margin-top:7px}nav{display:flex;align-items:center;gap:30px}.gold-button{display:inline-block;padding:14px 22px;background:var(--gold);color:#171815;border:0;border-radius:2px;font-weight:600}.hero{display:grid;grid-template-columns:1.1fr 1fr;min-height:680px;gap:6%;padding:60px 5% 80px;align-items:center}.eyebrow{color:var(--gold);font-size:11px;letter-spacing:3px;font-weight:600}h1{font:clamp(44px,5vw,76px)/1.12 'Playfair Display',Georgia;letter-spacing:-1px;margin:28px 0}h1 em{font-weight:400;color:#d2b581}h2{font:clamp(30px,3vw,46px)/1.2 'Playfair Display',Georgia;font-weight:400;margin:16px 0 24px}h3{font:25px Georgia;font-weight:400}p{line-height:1.8}.hero-copy>p:not(.eyebrow){max-width:480px;color:#bbbcb3}.actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:28px}.hero-note{font-size:11px;letter-spacing:2px;margin-top:40px}.placeholder{background:linear-gradient(140deg,#333a31,#1c211c);border:1px solid #505140;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#c7bc9d}.hero-art{aspect-ratio:4/5;max-height:620px;outline:1px solid #544c36;outline-offset:12px;margin:12px}.frame-number{position:absolute;left:25px;top:25px;font-size:10px;letter-spacing:3px}.monogram{font:150px Georgia;color:#b99a59}.placeholder p{font-size:11px;letter-spacing:2px}.placeholder small{color:#999e8f;font-size:10px}.intro{background:var(--cream);color:#25291f;padding:80px 15%;text-align:center}.intro>p:last-child{max-width:610px;margin:auto;color:#696c62}.section{padding:85px 5%;border-bottom:1px solid var(--line)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:35px}.section-heading h2{margin-bottom:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.service{padding:35px;background:var(--dark);display:block}.service:hover{background:#23261f;text-decoration:none}.service-number{font-size:11px;color:var(--gold)}.service p{color:var(--muted);min-height:65px;font-size:14px}.service>span:last-child{font-size:12px;color:var(--gold)}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.portrait{aspect-ratio:3/4;padding:30px}.portrait span{letter-spacing:3px;font-size:10px}.portrait strong{font:38px/1.4 Georgia;margin:40px 0}.lighter{background:linear-gradient(140deg,#74644d,#383e31);color:#eee2c9}.subtle{color:var(--muted);font-size:13px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:45px}.steps b{font:32px Georgia;color:var(--gold)}.steps h3{font-size:21px}.steps p{font-size:13px;color:var(--muted)}.studio{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.studio img{width:100%}footer{padding:45px 5%;font-size:12px;color:#aaa}.draft{font-size:10px;letter-spacing:2px;color:var(--gold);margin-top:30px}.booking{max-width:1100px;margin:auto;padding:45px 5% 90px}.panel{background:var(--cream);color:#24271f;padding:28px;border-radius:4px;margin:25px 0}.panel label{display:grid;gap:8px;font-size:13px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.wide{grid-column:1/-1}input,select,textarea{padding:12px;border:1px solid #d4cebf;background:white;border-radius:3px;width:100%;color:#24271f}textarea{min-height:85px}.slots{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.slot{background:white;padding:18px;border:1px solid #d6d0c2;text-align:left;color:#25291f;border-radius:3px}.slot.active{border:2px solid #a67d35;background:#eee6d7}.slot small{display:block;margin-top:6px}.notice{padding:15px;background:#ead9b5;color:#43361f;margin:20px 0;line-height:1.7}.notice:empty{display:none}button{padding:12px 18px;border:1px solid #ccc4b4;border-radius:3px;background:white;color:#24271f}button:disabled{opacity:.5;cursor:wait}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;background:#faf8f3;font-size:13px}th,td{padding:15px;text-align:left;border-bottom:1px solid #ded9ce}td button{font-size:12px;margin:3px;padding:8px}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.toolbar input{width:auto}.badge{background:#e6decb;padding:4px 9px;border-radius:15px;display:inline-block}.audit{white-space:pre-wrap;font:12px/1.8 monospace}.success{border-left:4px solid var(--gold)}dialog{width:90%;max-width:600px;background:var(--cream);color:#25291f;border:0;border-radius:4px;padding:30px}dialog::backdrop{background:#000b}@media(max-width:850px){.hero{min-height:0;gap:35px}.service-grid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}nav{gap:16px}.brand small{display:none}.studio{gap:30px}}@media(max-width:600px){.nav{padding:16px}.brand b{font-size:32px}.brand span{font-size:10px}nav>a:not(.gold-button){display:none}nav .gold-button{padding:10px 14px}.hero{grid-template-columns:1fr;padding:45px 6%}.hero-art{aspect-ratio:4/3}.monogram{font-size:100px}h1{font-size:48px}.intro{padding:55px 7%}.section{padding:55px 6%}.section-heading{display:block}.section-heading>a,.section-heading>span{display:inline-block;margin-top:16px}.service-grid{grid-template-columns:1fr}.service p{min-height:0}.portfolio-grid{grid-template-columns:1fr}.portrait{aspect-ratio:4/3}.steps{grid-template-columns:1fr 1fr;gap:20px}.studio{grid-template-columns:1fr}.form-grid,.slots{grid-template-columns:1fr}.wide{grid-column:auto}.panel{padding:18px}.booking{padding:25px 5% 70px}}
@media(min-width:601px) and (max-width:850px){.hero{grid-template-columns:1fr}.hero-art{aspect-ratio:16/9;max-height:380px}.monogram{font-size:110px}}
.hero>*,.service-grid>*,.portfolio-grid>*,.studio>*{min-width:0}.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.portrait strong{font-size:clamp(24px,3vw,38px);overflow-wrap:break-word}@media(max-width:850px){.portfolio-grid{grid-template-columns:1fr}.portrait{aspect-ratio:4/3}}
.wedding-cover{display:block;position:relative;overflow:hidden;aspect-ratio:3/4}.wedding-cover img{width:100%;height:100%;object-fit:cover}.wedding-cover>span{position:absolute;bottom:0;left:0;right:0;padding:35px 24px 22px;background:linear-gradient(transparent,#000b);letter-spacing:2px;font-size:12px;color:white}.wedding-cover small{display:block;margin-top:10px;letter-spacing:0}@media(max-width:850px){.wedding-cover{aspect-ratio:4/5}}
.service-complete{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;background:transparent;border:0}.service-detail{display:flex;flex-direction:column;border:1px solid var(--line);padding:32px;background:#1c1e19}.service-detail:last-child{grid-column:1/-1}.service-detail:hover{background:#20231c}.service-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.service-tag{font-size:9px;letter-spacing:1.5px;color:#aaa990}.service-detail h3{font-size:32px;margin:24px 0 12px}.service-detail p{min-height:0;margin:0 0 20px;max-width:760px}.service-detail ul{padding:0;margin:0 0 28px;list-style:none;color:#d0d0c4;font-size:13px;line-height:1.7}.service-detail li{position:relative;padding-left:18px;margin:9px 0}.service-detail li:before{content:'·';position:absolute;left:0;color:var(--gold);font-size:22px}.service-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:auto}.service-actions .gold-button{font-size:12px;padding:12px 18px}.service-link{color:var(--gold);font-size:13px}.service-advice{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:35px;background:#292c23;margin-top:25px;border-left:3px solid var(--gold)}.service-advice h3{margin:12px 0}.service-advice p:not(.eyebrow){font-size:13px;max-width:740px;color:#bbbeb1;margin-bottom:0}.service-advice>a{flex-shrink:0;font-size:13px}@media(max-width:650px){.service-complete{grid-template-columns:1fr}.service-detail:last-child{grid-column:auto}.service-detail{padding:24px}.service-advice{display:block;padding:25px}.service-advice>a{margin-top:24px}.service-tag{font-size:8px}}
.hero-wedding{position:relative;grid-template-columns:1.08fr 1fr;min-height:790px;padding:65px 7% 85px;gap:6%;background:radial-gradient(ellipse at 78% 35%,#353024 0,transparent 54%),#141611;overflow:hidden}.hero-wedding .hero-copy{position:relative;z-index:1}.hero-wedding .hero-kicker{font-size:10px;letter-spacing:2.5px;color:#c8c4b8;margin:22px 0 0}.hero-wedding h1{font-size:clamp(42px,4.8vw,74px);line-height:1.12;margin:23px 0 25px;letter-spacing:-1.5px}.hero-wedding h1 em{color:#e0c18b}.hero-wedding .hero-description{font-size:14px;line-height:1.9;max-width:510px;color:#c2c1b7}.hero-wedding .actions{gap:22px;margin-top:30px}.hero-wedding .gold-button{background:#dfbe80;padding:17px 23px;box-shadow:0 8px 30px #0003;transition:transform .2s,background .2s}.hero-wedding .gold-button:hover{background:#edd3a1;transform:translateY(-2px);text-decoration:none}.hero-wedding .gold-button span{padding-left:16px}.hero-wedding .text-link{font-size:13px}.hero-promises{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:35px;max-width:520px;padding-top:22px;border-top:1px solid #494435}.hero-promises span{font-size:11px;color:#bdb9a8}.hero-promises span:before{content:'✓';color:#d9b66f;margin-right:7px}.hero-photo-stage{position:relative;padding:0 0 45px 30px;min-width:0}.hero-photo-main{position:relative;margin:0;aspect-ratio:3/4;border-radius:170px 170px 3px 3px;overflow:hidden;border:1px solid #8a7859;box-shadow:0 25px 65px #0005}.hero-photo-main img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}.hero-photo-main:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0008);pointer-events:none}.hero-photo-main figcaption{position:absolute;bottom:28px;left:28px;z-index:1;color:white;display:grid;gap:9px}.hero-photo-main figcaption span{font-size:10px;letter-spacing:3px}.hero-photo-main figcaption i{font:24px Georgia}.hero-photo-detail{position:absolute;bottom:5px;left:-35px;width:38%;aspect-ratio:4/5;margin:0;padding:7px;background:#e7dfd1;box-shadow:0 14px 35px #0006;transform:rotate(-6deg);z-index:2}.hero-photo-detail img{width:100%;height:100%;object-fit:cover}.hero-photo-label{position:absolute;right:0;bottom:15px;font-size:8px;letter-spacing:2px;color:#b8ad93}.hero-scroll{position:absolute;bottom:28px;left:7%;font-size:9px;letter-spacing:2px;color:#b5ae9d}.hero-scroll span{margin-left:16px;color:var(--gold);font-size:18px}@media(min-width:851px) and (max-width:1100px){.hero-wedding{padding-left:5%;padding-right:5%;gap:4%}.hero-wedding h1{font-size:51px}.hero-photo-detail{left:-15px}.hero-wedding .actions{gap:18px}}@media(max-width:850px){.hero-wedding{grid-template-columns:1fr;padding:45px 7% 65px;gap:45px;min-height:0}.hero-wedding h1{font-size:clamp(40px,7vw,60px)}.hero-photo-stage{max-width:490px;width:100%;justify-self:center;padding-left:30px}.hero-photo-main{aspect-ratio:4/5}.hero-photo-detail{left:0}.hero-scroll{display:none}}@media(max-width:420px){.hero-wedding{padding:35px 6% 50px;gap:35px}.hero-wedding h1{font-size:40px}.hero-wedding .gold-button{font-size:13px;padding:16px 18px}.hero-wedding .hero-description{font-size:13px}.hero-promises{gap:12px;font-size:10px}.hero-photo-main{border-radius:140px 140px 3px 3px}.hero-photo-main figcaption{left:18px;bottom:22px}.hero-photo-main figcaption i{font-size:19px}.hero-photo-label{font-size:7px;letter-spacing:1px}}
.brand-art{position:relative;aspect-ratio:4/5;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(ellipse at center,#3c3320 0,#22251c 50%,#171a14 80%);border:1px solid #726344;outline:1px solid #3d392b;outline-offset:10px;overflow:hidden;color:#e8d8b7;padding:35px;box-shadow:0 25px 65px #0004}.brand-art-top{position:absolute;top:35px;font-size:9px;letter-spacing:4px;color:#ad9b78}.brand-art-orbit{position:absolute;inset:16% 9% 29%;border:1px solid #b1945240;border-radius:50%;transform:rotate(-24deg)}.brand-art-orbit:after{content:'';position:absolute;inset:8px -15px;border:1px solid #b1945225;border-radius:50%;transform:rotate(40deg)}.brand-art-monogram{position:relative;font:clamp(100px,12vw,190px)/1 Georgia;background:linear-gradient(120deg,#97723a,#f1d392 45%,#b98940 75%,#dfc082);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-14px;padding-right:14px;font-weight:400}.brand-art-name{position:relative;font-size:12px;letter-spacing:4px;margin:20px 0 25px}.brand-art-rule{width:45px;height:1px;background:#bda06b}.brand-art-quote{font:italic 23px/1.7 Georgia;margin:25px 0;color:#d9ccb1}.brand-art-bottom{position:absolute;bottom:25px;font-size:7px;letter-spacing:1.6px;color:#a69d86;max-width:85%}.hero-brand .hero-description+p{margin-top:12px}@media(max-width:850px){.brand-art{width:100%;max-width:490px;justify-self:center;aspect-ratio:4/3}.brand-art-monogram{font-size:130px}.brand-art-top{top:25px}.brand-art-name{margin:10px 0 16px}.brand-art-quote{font-size:20px;margin:16px 0 20px}}@media(max-width:420px){.brand-art{aspect-ratio:4/5;padding:25px}.brand-art-monogram{font-size:120px}.brand-art-top{font-size:8px;letter-spacing:3px}.brand-art-name{font-size:10px;letter-spacing:3px}.hero-brand .hero-wedding h1{font-size:38px}}
/* Opening inspired by the user's KA reference; DG branding and original copy. */
.nav{background:#fff;color:#29261f;border-bottom:1px solid #ede8dc}.nav .brand b{border-color:#e0d8c8}.nav .gold-button{border-radius:30px}.hero-ka{background:#fff;color:#29261f;grid-template-columns:1.1fr 1fr;gap:7%;padding:75px 8% 85px;min-height:770px;align-items:center}.hero-ka .eyebrow{color:#796645;font-size:10px;letter-spacing:2px;display:flex;align-items:center;gap:10px}.hero-ka .eyebrow:before{content:'';width:24px;height:2px;background:#a18754}.hero-ka h1{font-size:clamp(38px,4.5vw,68px);line-height:1.13;font-weight:500;margin:22px 0 28px;letter-spacing:-1px}.hero-ka h1 em{display:block;color:#a57a34;font-weight:400;margin-top:5px}.hero-ka .ka-description{color:#777166;font-size:16px;line-height:1.8;max-width:560px}.hero-ka .actions{gap:14px}.hero-ka .gold-button{border-radius:30px;font-size:13px;padding:17px 25px;background:#c6a15d;color:#251f14}.ka-secondary{border:1px solid #dfd6c5;border-radius:30px;padding:16px 25px;font-weight:600;font-size:13px}.ka-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;padding-top:27px;margin-top:32px;border-top:1px solid #eee7dd}.ka-values b{display:block;font-size:21px}.ka-values span{display:block;font-size:12px;color:#998e7c;margin-top:9px}.ka-collage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;position:relative;min-width:0}.ka-column{display:flex;flex-direction:column;gap:15px}.ka-column:nth-child(2){padding-top:45px}.ka-column img{width:100%;display:block;object-fit:cover;border-radius:15px;aspect-ratio:3/4}.ka-column:first-child img:first-child{aspect-ratio:3/4.6}.ka-column:nth-child(2) img:first-child{aspect-ratio:3/3.7}.ka-column:nth-child(2) img:last-child{aspect-ratio:3/4.6}.ka-note{position:absolute;background:white;border:1px solid #eee6d9;border-radius:15px;padding:14px 18px;display:flex;gap:12px;align-items:center;box-shadow:0 8px 30px #33270d12;font-size:12px;line-height:1.5;color:#857865}.ka-note-top{top:17%;left:-25px}.ka-note-top b{font:26px Georgia;background:#c6a15d;color:white;border-radius:10px;padding:8px 12px}.ka-note-bottom{right:-20px;bottom:8%}.ka-note-icon{font-size:30px;color:#b99049}.ka-note strong{color:#40392e;font-weight:600}@media(max-width:1100px){.hero-ka{padding-left:5%;padding-right:5%;gap:5%}.hero-ka .gold-button{padding:15px 18px}.ka-note{padding:10px 12px;font-size:11px}.ka-values b{font-size:18px}}@media(max-width:850px){.hero-ka{grid-template-columns:1fr;padding:45px 7% 65px;gap:45px;min-height:0}.hero-ka h1{font-size:clamp(38px,7vw,57px)}.ka-collage{max-width:510px;justify-self:center;width:100%}.ka-note-top{left:-12px}.ka-note-bottom{right:-12px}}@media(max-width:420px){.hero-ka{padding:35px 6% 50px}.hero-ka .eyebrow{font-size:8px;letter-spacing:1.3px}.hero-ka h1{font-size:38px}.hero-ka .ka-description{font-size:14px}.hero-ka .actions{gap:10px}.hero-ka .gold-button,.ka-secondary{font-size:12px;padding:14px 17px}.ka-values{gap:9px}.ka-values b{font-size:16px}.ka-values span{font-size:10px}.ka-collage{gap:10px}.ka-column{gap:10px}.ka-column img{border-radius:10px}.ka-note{font-size:9px;padding:9px;gap:7px}.ka-note-top b{font-size:20px;padding:6px 9px}.ka-note-bottom{right:-5px}.ka-note-top{left:-5px}}
