/* Wedding | romantic arched editorial, sage and gold hairlines. Rebrand via :root. */
:root{--forest:#2d3f34;--sage:#8fa38f;--sagel:#edf2ea;--rose:#c9877f;--rosed:#a4524b;--gold:#a98b4f;--goldd:#7a5f2c;--paper:#fdfcf9;--ink:#25302a;--mute:#5f6d64;--line:#dfe5da;
--fd:'Cormorant','Georgia',serif;--fs:'Pinyon Script','Brush Script MT',cursive;--fb:'Mulish','Segoe UI',system-ui,sans-serif;--ease:cubic-bezier(.22,.8,.2,1)}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}
body{font:400 1.04rem/1.8 var(--fb);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}ul{list-style:none;padding:0}button{font:inherit;color:inherit}
h1,h2,h3,h4{font-family:var(--fd);font-weight:500;line-height:1.05;letter-spacing:-.01em}
h1{font-size:clamp(3rem,7vw,6rem);font-weight:400}h2{font-size:clamp(2.2rem,4.4vw,3.7rem)}h3{font-size:1.65rem;line-height:1.15}em{font-style:italic;color:var(--rosed)}
.sc{font:400 clamp(1.9rem,3vw,2.6rem)/1 var(--fs);color:var(--goldd);display:block;margin-bottom:.6rem}
.wrap{width:min(1240px,92%);margin-inline:auto}section{padding:6.5rem 0}
:focus-visible{outline:2px solid var(--rosed);outline-offset:4px}svg{width:1.3em;height:1.3em;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;flex:none}.sr{position:absolute;left:-9999px}
.btn{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;gap:.8rem;padding:1.05rem 2.4rem;border:0;background:var(--forest);color:#fff;font:700 .92rem var(--fb);letter-spacing:.06em;cursor:pointer;outline:1px solid rgba(255,255,255,.45);outline-offset:-5px;transition:color .5s}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--rosed);transform:scale(0);border-radius:50%;transition:transform .6s var(--ease)}.btn:hover::before{transform:scale(2.2)}.btn svg{transition:transform .4s var(--ease)}.btn:hover svg{transform:translateX(5px)}
.btn.ln{background:transparent;color:var(--forest);outline:1px solid var(--forest);outline-offset:-1px}.btn.ln::before{background:var(--forest)}.btn.ln:hover{color:#fff}.btn.wh{background:#fff;color:var(--forest);outline-color:var(--gold)}.btn.wh::before{background:var(--gold)}.btn.wh:hover{color:#fff}
.lk{position:relative;font:italic 500 1.2rem var(--fd);color:var(--rosed)}.lk::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}.lk:hover::after,a:hover>.lk::after{transform:scaleX(1);transform-origin:left}
.orn{display:flex;align-items:center;justify-content:center;gap:1rem;color:var(--gold);margin:1.2rem 0}.orn::before,.orn::after{content:"";width:70px;height:1px;background:currentColor}.orn svg{width:1.4rem;height:1.4rem}
.sh{max-width:640px;margin:0 auto 4rem;text-align:center}.sh p{color:var(--mute);margin-top:1rem}.sh.l{margin-left:0;text-align:left}.sh.w h2{color:#fff}.sh.w p{color:#d5e0d3}.sh.w .sc{color:#e7d3a6}
/* header */
.strip{background:var(--forest);color:#e4ecdf;text-align:center;font-size:.88rem;padding:.5rem 1rem}
header{position:sticky;top:-5.6rem;z-index:50;background:var(--paper);border-bottom:1px solid var(--line)}
.lg{height:5.6rem;display:flex;align-items:center;justify-content:center}.logo{display:flex;align-items:center;gap:.7rem;font:500 2.6rem var(--fd);letter-spacing:.01em}.logo svg{color:var(--sage);width:1.8rem;height:1.8rem;transition:transform .7s var(--ease)}.logo:hover svg{transform:rotate(25deg) scale(1.15)}.logo span{font:400 1.9rem var(--fs);color:var(--goldd)}
.nb{border-top:1px solid var(--line)}.nb .wrap{display:flex;justify-content:center;align-items:center;position:relative}nav>ul{display:flex;gap:3rem}nav a.nl{position:relative;display:block;padding:1rem 0;font:600 .95rem var(--fb);letter-spacing:.05em}nav a.nl::after{content:"";position:absolute;left:50%;bottom:.55rem;width:5px;height:5px;background:var(--rose);transform:translateX(-50%) rotate(45deg) scale(0);transition:transform .4s var(--ease)}nav a.nl:hover::after,nav a.on::after{transform:translateX(-50%) rotate(45deg) scale(1)}nav a.on{color:var(--rosed)}
.nb .btn{position:absolute;right:0;padding:.65rem 1.5rem;font-size:.82rem}#nt,.burger,.close{display:none}.ib{width:2.8rem;height:2.8rem;place-items:center;border:1px solid var(--gold);border-radius:50%;cursor:pointer;color:var(--forest);background:var(--paper)}
@media(max-width:1020px){header{top:0}.lg{height:4.4rem;position:relative}.logo{font-size:2rem}.logo span{font-size:1.5rem}.nb{border:0}.nb .wrap{position:static;display:block;width:0;padding:0}.nb .btn{display:none}.burger{display:grid;position:absolute;right:4%;top:.8rem;z-index:3}
nav{position:fixed;inset:0;z-index:90;background:var(--forest);color:#fff;display:flex;align-items:center;justify-content:center;clip-path:inset(100% 0 0 0 round 50% 50% 0 0);visibility:hidden;transition:clip-path .8s var(--ease),visibility 0s .8s}#nt:checked~.nb nav{clip-path:inset(0 0 0 0 round 0);visibility:visible;transition:clip-path .8s var(--ease),visibility 0s}
nav>ul{flex-direction:column;align-items:center;gap:.2rem;text-align:center}nav a.nl{font:500 2.6rem var(--fd);letter-spacing:0;padding:.4rem 2rem}nav a.nl::after{display:none}nav a.on{color:#e7d3a6}nav::before{content:"With love";position:absolute;top:2rem;left:0;right:0;text-align:center;font:400 2rem var(--fs);color:#e7d3a6}.close{display:grid;position:absolute;top:1.1rem;right:4%;background:transparent;color:#fff;border-color:#e7d3a6}}
/* hero */
.hero{position:relative;padding:4.5rem 0 0;overflow:hidden;text-align:center;background:linear-gradient(180deg,var(--sagel),var(--paper) 90%)}.hero .wrap{position:relative;z-index:2}.hero p.l{max-width:560px;margin:1.4rem auto 2.2rem;color:var(--mute);font-size:1.12rem}.acts{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.arches{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:1.4rem;align-items:end;max-width:960px;margin:4.5rem auto 0}.arch{overflow:hidden;border-radius:999px 999px 0 0;aspect-ratio:3/4.1}.arch.m{aspect-ratio:3/4.7}.arch img{transform:scale(1.08);transition:transform 1.4s var(--ease)}.arch:hover img{transform:scale(1.15)}.arches .arch:first-child{margin-bottom:-1px}
.pt{position:absolute;z-index:1;top:-30px;width:16px;height:22px;border-radius:100% 0 100% 0;background:var(--rose);opacity:.5;animation:fall linear infinite;pointer-events:none}.pt:nth-of-type(2n){background:#fff;opacity:.9}.pt:nth-of-type(3n){background:var(--sage);opacity:.5}@keyframes fall{to{transform:translate(60px,110vh) rotate(540deg)}}
/* pillars */
.pl{display:grid;grid-template-columns:repeat(3,1fr);text-align:center}.pl>div{padding:1.5rem 2.5rem;border-right:1px solid var(--line)}.pl>div:last-child{border:0}.pl .ar{width:4.4rem;height:5.2rem;margin:0 auto 1.2rem;display:grid;place-items:center;border:1px solid var(--gold);border-radius:999px 999px 0 0;color:var(--goldd);transition:background .5s,color .5s,transform .6s var(--ease)}.pl>div:hover .ar{background:var(--forest);color:#fff;transform:translateY(-6px)}.pl p{color:var(--mute);margin-top:.5rem}@media(max-width:800px){.pl{grid-template-columns:1fr}.pl>div{border:0;border-bottom:1px solid var(--line)}}
/* about */
.ab{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}@media(max-width:900px){.ab{grid-template-columns:1fr;gap:3rem}}.ai{position:relative;padding-bottom:3rem}.ai .big{width:78%;aspect-ratio:3/4.2;border-radius:999px 999px 0 0;overflow:hidden}.ai .rd{position:absolute;right:0;bottom:0;width:46%;aspect-ratio:1;border-radius:50%;overflow:hidden;border:10px solid var(--paper)}.ai img{transition:transform 1.4s var(--ease)}.ai:hover img{transform:scale(1.06)}.ai::before{content:"";position:absolute;left:-1.2rem;top:1.2rem;width:78%;aspect-ratio:3/4.2;border:1px solid var(--gold);border-radius:999px 999px 0 0;z-index:-1}
.ck{display:grid;gap:.9rem;margin:1.6rem 0 2.2rem}.ck li{display:flex;gap:.9rem}.ck svg{color:var(--rosed);margin-top:.35rem;width:1.1rem;height:1.1rem}.nums{display:flex;gap:2.5rem;margin-bottom:2.2rem;padding-top:1.4rem;border-top:1px solid var(--line)}.nums b{display:block;font:500 3rem var(--fd);line-height:1;color:var(--forest)}.nums span{font-size:.88rem;color:var(--mute)}
/* services */
.sv{background:var(--sagel)}.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem 2rem}.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}.g2{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}@media(max-width:980px){.g3,.g4{grid-template-columns:1fr 1fr}}@media(max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}.g2{gap:2.5rem}}
.sc1{position:relative;display:block;text-align:center}.sc1 .fr{position:relative;aspect-ratio:3/3.9;margin-bottom:1.6rem}.sc1 .fr::before{content:"";position:absolute;inset:-10px -10px 10px 10px;border:1px solid var(--gold);border-radius:999px 999px 0 0;transform:translate(-10px,10px);opacity:0;transition:transform .6s var(--ease),opacity .5s}.sc1:hover .fr::before{transform:none;opacity:1}.sc1 .im{position:absolute;inset:0;border-radius:999px 999px 0 0;overflow:hidden}.sc1 img{transition:transform 1.2s var(--ease)}.sc1:hover img{transform:scale(1.08)}.sc1 p{color:var(--mute);margin:.5rem auto 1rem;max-width:320px}
/* couples */
.cp{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem;align-items:start}@media(max-width:900px){.cp{grid-template-columns:1fr 1fr}}.cp figure{text-align:center}.cp figure:nth-child(even){margin-top:3rem}.cp .o{aspect-ratio:3/4;border-radius:50%/40%;overflow:hidden;margin-bottom:1rem}.cp img{transition:transform 1.2s var(--ease)}.cp figure:hover img{transform:scale(1.08)}.cp .n{font:400 1.9rem var(--fs);color:var(--goldd);line-height:1.2}.cp small{color:var(--mute)}
/* reviews */
.rvw{background:var(--forest);color:#fff}.rv{position:relative;padding:2.6rem 2rem 2rem;text-align:center;border:1px solid rgba(231,211,166,.5);outline:1px solid rgba(231,211,166,.35);outline-offset:-10px;transition:transform .6s var(--ease)}.rv:hover{transform:translateY(-8px)}.rv .q{font:400 5rem/.6 var(--fs);color:#e7d3a6}.rv blockquote{font:italic 500 1.4rem/1.45 var(--fd);margin:1rem 0 1.5rem}.rv .nm{font:400 1.9rem var(--fs);color:#e7d3a6}.rv small{display:block;color:#bccbb9;margin-top:.2rem}.stars{display:flex;justify-content:center;color:#e7d3a6}.stars svg{fill:currentColor;stroke:none;width:.9rem}
/* contact */
.ct{background:var(--paper)}.cg{display:grid;grid-template-columns:1fr 1.2fr;gap:5rem;align-items:center}@media(max-width:900px){.cg{grid-template-columns:1fr;gap:3rem}}.ci{position:relative}.ci .ar2{aspect-ratio:3/4.2;border-radius:999px 999px 0 0;overflow:hidden;max-width:420px}.ci .gl{position:absolute;right:0;bottom:3rem;padding:1.4rem 1.8rem;background:var(--forest);color:#fff;max-width:260px}.ci .gl .sc{color:#e7d3a6;margin:0 0 .3rem}
.info{display:grid;gap:1rem;margin:1.8rem 0}.info li{display:flex;gap:1rem;align-items:center}.info svg{width:2.8rem;height:2.8rem;padding:.7rem;border:1px solid var(--gold);border-radius:50%;color:var(--goldd)}.info small{display:block;color:var(--mute)}
form.f{padding:2.4rem;background:#fff;border:1px solid var(--line);outline:1px solid var(--gold);outline-offset:-10px}label.l{display:block;margin:0 0 .3rem;font-size:.88rem;color:var(--mute)}input,textarea,select{font:inherit;color:var(--ink);width:100%;padding:.7rem 0;border:0;border-bottom:1px solid #c9d2c4;background:transparent;outline:0;margin-bottom:1.1rem;border-radius:0;transition:border-color .3s}input:focus,textarea:focus,select:focus{border-bottom-color:var(--rosed)}.fr{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}@media(max-width:560px){.fr{grid-template-columns:1fr}}
/* faq */
details{border-bottom:1px solid var(--line);padding:1.4rem 0}details:first-of-type{border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;font:500 1.55rem var(--fd)}summary::-webkit-details-marker{display:none}summary::after{content:"";flex:none;width:.7rem;height:.7rem;border:1px solid var(--gold);transform:rotate(45deg);transition:transform .5s var(--ease),background .3s}details[open] summary::after{transform:rotate(225deg);background:var(--rose);border-color:var(--rose)}details p{margin-top:.8rem;color:var(--mute);max-width:660px}
/* footer */
footer{position:relative;background:var(--forest);color:#bccbb9;padding:5rem 0 1.6rem;text-align:center;overflow:hidden}footer .logo{justify-content:center;color:#fff;font-size:3rem}footer .logo span{color:#e7d3a6}footer .logo svg{color:#e7d3a6}footer p.t{max-width:440px;margin:1rem auto 2rem}.fn{display:flex;gap:2.4rem;justify-content:center;flex-wrap:wrap;margin-bottom:2.5rem}.fn a{position:relative;padding-bottom:3px;transition:color .3s}.fn a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:#e7d3a6;transform:scaleX(0);transition:transform .4s var(--ease)}.fn a:hover{color:#fff}.fn a:hover::after{transform:scaleX(1)}.fc{display:flex;gap:2.5rem;justify-content:center;flex-wrap:wrap;margin-bottom:2.5rem}.fc span{display:flex;gap:.6rem;align-items:center}.copy{padding-top:1.4rem;border-top:1px solid rgba(231,211,166,.25);display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.88rem}
/* inner */
.ph{position:relative;text-align:center;padding:5.5rem 0 4.5rem;background:var(--sagel);overflow:hidden}.ph p.s{max-width:540px;margin:1.2rem auto 0;color:var(--mute)}.crumb{margin-top:1.4rem;color:var(--mute);font-size:.92rem}.crumb a:hover{color:var(--rosed)}.ph::before,.ph::after{content:"";position:absolute;top:50%;width:300px;height:300px;border:1px solid var(--gold);border-radius:999px 999px 0 0;opacity:.35;transform:translateY(-35%)}.ph::before{left:-110px}.ph::after{right:-110px}
.imf{position:relative;aspect-ratio:4/5;border-radius:999px 999px 0 0;overflow:hidden;max-width:460px;margin-inline:auto;width:100%}.imf.w{aspect-ratio:4/3;border-radius:0;max-width:none}.imf img{transition:transform 1.3s var(--ease)}.imf:hover img{transform:scale(1.06)}
.val{text-align:center;padding:1rem 1.2rem}.val svg{width:2.6rem;height:2.6rem;color:var(--goldd);margin-bottom:1rem;transition:transform .6s var(--ease)}.val:hover svg{transform:translateY(-6px) rotate(8deg)}.val p{color:var(--mute);margin-top:.5rem}
.tm{text-align:center}.tm .p{aspect-ratio:3/4;border-radius:50%/40%;overflow:hidden;margin-bottom:1rem}.tm img{filter:saturate(.9);transition:transform 1.2s var(--ease)}.tm:hover img{transform:scale(1.07)}.tm .sg{font:400 1.8rem var(--fs);color:var(--goldd)}.tm small{color:var(--mute)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center;margin-bottom:6rem}.row:nth-child(even) .imf{order:2}@media(max-width:800px){.row{grid-template-columns:1fr;gap:2rem}.row:nth-child(even) .imf{order:0}}.row .no{font:italic 500 1.4rem var(--fd);color:var(--rosed)}
.pk{position:relative;padding:3rem 2rem;text-align:center;background:#fff;border:1px solid var(--line);outline:1px solid var(--gold);outline-offset:-10px;transition:transform .6s var(--ease)}.pk:hover{transform:translateY(-10px)}.pk .pr{display:block;font:500 3rem var(--fd);color:var(--forest);margin:.4rem 0}.pk ul{margin:1.2rem 0 2rem;display:grid;gap:.6rem;color:var(--mute)}.pk.hot{background:var(--forest);color:#fff;outline-color:#e7d3a6}.pk.hot .pr{color:#e7d3a6}.pk.hot ul{color:#d5e0d3}.pk .bd{position:absolute;top:-1px;left:50%;transform:translate(-50%,-50%);background:var(--rosed);color:#fff;padding:.2rem 1.2rem;font-size:.8rem;font-weight:700}
.cats{display:flex;gap:2.2rem;justify-content:center;flex-wrap:wrap;margin-bottom:3.5rem}.cats a{padding-bottom:3px;border-bottom:1px solid transparent;color:var(--mute);font:italic 500 1.3rem var(--fd);transition:.3s}.cats a.on,.cats a:hover{color:var(--forest);border-color:var(--gold)}
.post{display:block}.post .im{position:relative;aspect-ratio:4/3;overflow:hidden}.post img{transition:transform 1.1s var(--ease)}.post:hover img{transform:scale(1.07)}.post small{display:block;margin-top:1.1rem;color:var(--goldd);font-weight:700;font-size:.86rem}.post h3{margin-top:.3rem;transition:color .3s}.post:hover h3{color:var(--rosed)}
.fe{display:grid;grid-template-columns:1.2fr 1fr;gap:4rem;align-items:center;margin-bottom:5rem}@media(max-width:800px){.fe{grid-template-columns:1fr;gap:2rem}}.fe .im{aspect-ratio:4/3;overflow:hidden}.fe img{transition:transform 1.2s var(--ease)}.fe:hover img{transform:scale(1.05)}
.pgn{display:flex;gap:1.4rem;justify-content:center;margin-top:4rem;font:500 1.5rem var(--fd)}.pgn a{color:var(--mute);border-bottom:1px solid transparent}.pgn a.on,.pgn a:hover{color:var(--forest);border-color:var(--gold)}
.of{text-align:center;padding:2rem 1rem;border-top:1px solid var(--gold)}.of p{color:var(--mute)}
.js .reveal{opacity:0;transform:translateY(30px);transition:opacity 1s var(--ease),transform 1s var(--ease)}.js .reveal.show{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js .reveal{opacity:1;transform:none}.pt{display:none}}
