/* Eden Events & Co. · Couture Full-Bleed. Home opens on a full-bleed photograph with the headline set over it; inner pages alternate ivory spreads, shaded spreads and oxblood bands, with the knot monogram as the section signature. */
@font-face{font-family:"Italiana";src:url("/fonts/italiana.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("/fonts/cormorant.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("/fonts/cormorant-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Montserrat";src:url("/fonts/montserrat.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
:root{
  --ivory:#f8f2ea;     /* page */
  --ivory-2:#efe5d8;   /* shaded spread */
  --ink:#1d1416;       /* text */
  --muted:#6f605b;     /* secondary text on ivory */
  --rule:#dccbbb;
  --wine:#4a1726;      /* brand */
  --oxblood:#2a0f16;   /* deep bands, footer, menu */
  --champ:#765a2c;     /* champagne foil, text-safe on ivory */
  --champ-deco:#b8955a;/* champagne for rules and ornaments */
  --champ-l:#e2c58f;   /* champagne on dark */
  --on-dark:#f8f2ea;
  --shade:20,8,12;     /* rgb of photo shading */
  --display:"Italiana","Didot","Bodoni 72",Georgia,serif;
  --body:"Cormorant Garamond","Cormorant","Garamond",Georgia,serif;
  --caps:"Montserrat","Avenir Next","Helvetica Neue",Arial,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--body);font-size:20px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
:focus-visible{outline:1px solid var(--champ-deco);outline-offset:4px}
.skip{position:absolute;left:-999px;top:0;background:var(--wine);color:var(--on-dark);padding:10px 16px;z-index:100;font:400 .8rem var(--caps)}
.skip:focus{left:16px;top:16px}
.wrap{max-width:1280px;margin:0 auto;padding-inline:clamp(16px,4vw,56px)}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.04;text-wrap:balance;margin:0;letter-spacing:.005em}
h1{font-size:clamp(2.6rem,6.4vw,5.6rem)}
h2{font-size:clamp(2.1rem,4.6vw,3.9rem)}
h3{font-size:clamp(1.6rem,2.4vw,2.1rem);line-height:1.08}
h1 em,h2 em,h3 em{font-style:normal;color:var(--champ)}
p{margin:0;max-width:60ch}
.eyebrow,.k,.who,.chip,.btn,.caps,footer .mh{font-family:var(--caps);text-transform:uppercase;letter-spacing:.3em;font-size:.64rem;font-weight:400}
.eyebrow{color:var(--wine);display:flex;align-items:center;gap:14px}
.lede{font-size:clamp(1.25rem,1.9vw,1.55rem);font-style:italic;color:var(--muted);line-height:1.45}
.stack{display:flex;flex-direction:column;gap:22px}
.row{display:flex;flex-wrap:wrap;gap:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:17px 34px;border:1px solid var(--wine);background:var(--wine);color:var(--on-dark);text-decoration:none;cursor:pointer;transition:background .3s,color .3s,border-color .3s;line-height:1.2;text-align:center}
.btn:hover{background:transparent;color:var(--wine)}
.btn.ghost{background:transparent;color:var(--wine)}
.btn.ghost:hover{background:var(--wine);color:var(--on-dark)}
.sig{width:46px;height:auto}
figure{margin:0}

/* header: menu | logo | inquire, full menu in an overlay */
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:var(--ivory);border-bottom:1px solid var(--rule);color:var(--ink)}
.site-head .bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding-block:16px}
.site-head .logo{display:block;width:clamp(132px,13vw,170px)}
.site-head .logo img{width:100%}
.head-btn{font:400 .64rem var(--caps);letter-spacing:.3em;text-transform:uppercase;color:inherit;background:none;border:0;padding:8px 0;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:12px;justify-self:start}
.head-btn .lines{display:inline-flex;flex-direction:column;gap:5px}
.head-btn .lines i{display:block;width:22px;height:1px;background:currentColor}
.head-inq{justify-self:end;border:1px solid var(--champ-deco);color:var(--wine);padding:11px 20px}
.head-inq:hover{background:var(--wine);border-color:var(--wine);color:var(--on-dark)}
.home .site-head{position:absolute;left:0;right:0;top:0;background:transparent;border-color:rgba(248,242,234,.22);color:var(--on-dark)}
.home .site-head .logo{width:clamp(160px,17vw,240px)}
.home .site-head .bar{padding-block:22px}
.home .head-inq{color:var(--champ-l);border-color:var(--champ-l);background:rgba(42,15,22,.45)}
.home .head-inq:hover{background:var(--champ-l);color:var(--oxblood)}
@media (max-width:560px){.head-btn .txt{display:none}.head-inq{padding:9px 12px}.site-head .bar{gap:10px}}
.menu-panel{position:fixed;inset:0;z-index:60;background:var(--oxblood);color:var(--on-dark);overflow-y:auto;padding:calc(env(safe-area-inset-top,0px) + 22px) clamp(16px,4vw,56px) calc(env(safe-area-inset-bottom,0px) + 40px)}
.menu-panel .mtop{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;max-width:1280px;margin:0 auto}
.menu-panel .mtop img{width:clamp(132px,13vw,170px)}
.menu-panel .mtop .head-btn{color:var(--champ-l)}
.menu-panel .cols{max-width:1280px;margin:clamp(40px,8vh,90px) auto 0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px}
.menu-panel .cols>*{min-width:0}
.menu-panel .mh{font:400 .62rem var(--caps);letter-spacing:.3em;text-transform:uppercase;color:var(--champ-l);margin:0 0 18px}
.menu-panel ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.menu-panel ul a{font-family:var(--display);font-size:clamp(1.8rem,3.2vw,2.6rem);line-height:1.15;text-decoration:none;color:var(--on-dark)}
.menu-panel ul a:hover,.menu-panel ul a[aria-current="page"]{color:var(--champ-l)}
.menu-panel .contact p{font-size:1.15rem;color:rgba(248,242,234,.8)}
.menu-panel .contact a{text-decoration:none}
.menu-panel .contact .btn{margin-top:22px;background:transparent;border-color:var(--champ-l);color:var(--champ-l)}
.menu-panel .contact .btn:hover{background:var(--champ-l);color:var(--oxblood)}
@media (max-width:860px){.menu-panel .cols{grid-template-columns:1fr}}
body.menu-open{overflow:hidden}

/* sections */
.block{padding-block:clamp(72px,10vw,150px)}
.block.tint{background:var(--ivory-2)}
.hero{padding-block:clamp(56px,8vw,120px)}
.split{display:grid;grid-template-columns:6fr 5fr;gap:clamp(32px,6vw,100px);align-items:center}
.split>*{min-width:0}
.grid3{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:6px}
.grid3.even{grid-template-columns:repeat(3,1fr);gap:clamp(36px,4vw,56px) clamp(20px,3vw,40px)}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(40px,5vw,80px) clamp(28px,5vw,80px)}
.grid3>*,.grid2>*{min-width:0}
.grid4x{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,28px)}
.grid4x>*{min-width:0}
@media (max-width:860px){.grid4x{grid-template-columns:1fr 1fr}}
@media (max-width:860px){.split,.grid3,.grid3.even,.grid2{grid-template-columns:1fr}}
.center{text-align:center;align-items:center}
.center p{margin-inline:auto}

/* photographs */
.photo{position:relative;overflow:hidden;aspect-ratio:3/4;max-width:100%;background:var(--ivory-2)}
.photo.wide{aspect-ratio:16/10}
.photo.land{aspect-ratio:4/3}
.photo.natural{aspect-ratio:auto}
.photo img{width:100%;height:100%;object-fit:cover}

/* home cover */
.cover{position:relative;min-height:min(100svh,940px);display:flex;align-items:flex-end;color:var(--on-dark);background:var(--oxblood);overflow:hidden}
.cover>picture{position:absolute;inset:0}
.cover>img,.cover>picture>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.cover::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 48% 52% at 88% 86%,rgba(var(--shade),.62),rgba(var(--shade),0) 100%),linear-gradient(90deg,rgba(var(--shade),.52) 0,rgba(var(--shade),.28) 40%,rgba(var(--shade),0) 62%),linear-gradient(180deg,rgba(var(--shade),.3),rgba(var(--shade),0) 22%,rgba(var(--shade),0) 55%,rgba(var(--shade),.5))}
.cover .wrap{position:relative;z-index:1;width:100%;padding-block:170px clamp(40px,6vw,72px)}
.cover .bottom{display:grid;grid-template-columns:1.4fr 1fr;gap:32px;align-items:end}
.cover .bottom>*{min-width:0}
@media (min-width:861px){.cover .bottom>.stack{justify-self:end;align-items:flex-end!important}.cover .bottom p{text-align:right}}
.cover h1 .kick{display:block;font:400 .66rem/1.6 var(--caps);letter-spacing:.32em;text-transform:uppercase;color:#ecd5a8;margin-bottom:22px}
.cover h1{font-size:clamp(3rem,8vw,7.2rem);line-height:.96;max-width:12ch;text-shadow:0 1px 24px rgba(var(--shade),.25)}
.cover p{font-style:italic;font-size:1.35rem;max-width:34ch;color:var(--on-dark)}
.cover .btn{background:transparent;border-color:var(--champ-l);color:var(--champ-l)}
.cover .btn:hover{background:var(--champ-l);color:var(--oxblood)}
@media (max-width:860px){
  .cover{min-height:max(640px,92svh)}
  .cover::after{background:linear-gradient(180deg,rgba(var(--shade),.45),rgba(var(--shade),.1) 22%,rgba(var(--shade),.3) 40%,rgba(var(--shade),.74) 62%,rgba(var(--shade),.86))}
  .cover .bottom{grid-template-columns:1fr}
}
.coverlines{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--rule)}
.coverlines li{min-width:0;border-left:1px solid var(--rule)}
.coverlines li:first-child{border-left:0}
.coverlines a{display:flex;flex-direction:column;gap:8px;padding:28px 22px;text-decoration:none;height:100%}
.coverlines .s{font:400 .6rem var(--caps);letter-spacing:.3em;text-transform:uppercase;color:var(--champ)}
.coverlines .t{font-family:var(--display);font-size:1.45rem;line-height:1.15}
.coverlines a:hover .t{color:var(--wine)}
@media (max-width:860px){.coverlines{grid-template-columns:1fr 1fr}.coverlines li:nth-child(3){border-left:0}.coverlines li{border-top:1px solid var(--rule)}}
@media (max-width:420px){.coverlines a{padding:22px 14px}.coverlines .t{font-size:1.25rem}}

/* cards, tiles, chips */
.card{display:flex;flex-direction:column;gap:12px;text-decoration:none}
.card .k{color:var(--champ)}
.card p,.card .note{color:var(--muted)}
.grid2>.card{border-top:1px solid var(--wine);padding-top:24px}
.card a{color:var(--wine)}
.tile{position:relative;display:block;text-decoration:none;color:var(--on-dark)}
.tile .photo::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(var(--shade),.78))}
.tile .lab{position:absolute;left:22px;bottom:22px;right:22px;z-index:1;display:flex;flex-direction:column;gap:6px}
.tile .lab h3{font-size:clamp(1.8rem,2.6vw,2.4rem)}
.tile .lab .caps{color:var(--champ-l)}
.tile:hover h3{color:var(--champ-l)}
.tile img{transition:transform 1.2s ease}
@media (prefers-reduced-motion:no-preference){.tile:hover img{transform:scale(1.03)}}
.chips{display:flex;flex-wrap:wrap;gap:10px 24px}
.chip{color:var(--ink);padding-bottom:4px;border-bottom:1px solid var(--champ-deco)}
.quote{font-family:var(--body);font-style:italic;font-size:clamp(1.6rem,3.2vw,2.6rem);line-height:1.24;max-width:32ch}
.quote.long{font-size:clamp(1.3rem,2.2vw,1.75rem);max-width:46ch}
.who{color:var(--champ);margin-top:24px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(24px,3vw,48px);counter-reset:s}
.steps>div{min-width:0;border-top:1px solid var(--wine);padding-top:20px;display:flex;flex-direction:column;gap:10px}
.steps>div::before{counter-increment:s;content:counter(s,upper-roman);font-family:var(--display);font-size:2.2rem;color:var(--champ);display:block;line-height:1;margin-bottom:4px}
.steps h3{font-size:1.5rem}
.steps p{color:var(--muted);font-size:1.05rem}
.steps .bts{order:-1;margin:0 0 14px;aspect-ratio:4/3;overflow:hidden;background:var(--ivory-2)}
.steps .bts img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:480px){.steps .bts{aspect-ratio:16/9}}
@media (max-width:860px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.steps{grid-template-columns:1fr}}
.dropcap::first-letter{font-family:var(--display);float:left;font-size:4.8em;line-height:.8;padding:.06em .1em 0 0;color:var(--wine)}
.pf figcaption{display:flex;flex-direction:column;gap:6px;padding-top:16px}
.pf .k{color:var(--champ)}
.pf h3{font-size:clamp(1.4rem,2vw,1.75rem)}
.pf p{color:var(--muted);font-size:1.05rem}

/* faq */
details{border-bottom:1px solid var(--rule);padding-block:24px}
details:first-of-type{border-top:1px solid var(--wine)}
summary{cursor:pointer;font-family:var(--display);font-size:clamp(1.35rem,2.1vw,1.8rem);list-style:none;display:flex;justify-content:space-between;gap:20px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-family:var(--caps);font-weight:300;color:var(--champ)}
details[open] summary{color:var(--wine)}
details[open] summary::after{content:"\2212"}
details p{margin-top:12px;color:var(--muted)}

/* oxblood band */
.band{background:var(--oxblood);color:var(--on-dark)}
.band h2 em{color:var(--champ-l)}
.band .lede{color:rgba(248,242,234,.78)}
.band .btn{background:transparent;border-color:var(--champ-l);color:var(--champ-l)}
.band .btn:hover{background:var(--champ-l);color:var(--oxblood)}
.band .who{color:var(--champ-l)}

/* inquiry form */
form.inq{display:grid;grid-template-columns:1fr 1fr;gap:28px}
form.inq>*{min-width:0}
form.inq .full{grid-column:1/-1}
@media (max-width:620px){form.inq{grid-template-columns:1fr}}
label{display:flex;flex-direction:column;gap:6px;font:400 .62rem var(--caps);letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
label .opt{letter-spacing:.1em;text-transform:none;font-size:.7rem}
input,select,textarea{font:400 1.15rem var(--body);color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--wine);border-radius:0;padding:8px 0;width:100%;letter-spacing:0;text-transform:none;-webkit-appearance:none;appearance:none}
select{background-image:linear-gradient(45deg,transparent 50%,var(--wine) 50%),linear-gradient(135deg,var(--wine) 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 7px) 55%;background-size:5px 5px;background-repeat:no-repeat;padding-right:24px}
select option{background:var(--ivory);color:var(--ink)}
textarea{border:1px solid var(--wine);padding:10px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--champ-deco);box-shadow:0 1px 0 var(--champ-deco)}
fieldset{border:0;margin:0;padding:0;min-width:0}
legend{font:400 .62rem var(--caps);letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;padding:0}
.checks{display:flex;flex-wrap:wrap;gap:10px}
.checks label{flex-direction:row;align-items:center;gap:0;letter-spacing:.06em;text-transform:none;font:400 1.05rem var(--body);color:var(--ink);cursor:pointer}
.checks input{position:absolute;opacity:0;width:1px;height:1px}
.checks span{border:1px solid var(--rule);padding:8px 14px;transition:background .2s,border-color .2s,color .2s}
.checks input:checked+span{background:var(--wine);border-color:var(--wine);color:var(--on-dark)}
.checks input:focus-visible+span{outline:1px solid var(--champ-deco);outline-offset:3px}
.hp{position:absolute;left:-9999px}
.note{font-size:1rem;color:var(--muted)}
.ok{display:block;padding:14px 0;border-top:1px solid var(--champ-deco);font-style:italic}
.contact-card{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--wine);padding-top:24px}
.contact-card .k{color:var(--champ);margin-top:10px}
.contact-card a{text-decoration:none}
.tab{font-variant-numeric:tabular-nums}

/* footer */
footer{background:var(--oxblood);color:rgba(248,242,234,.75);padding-block:80px 48px;font-size:1.05rem}
footer .grid4{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}
footer .grid4>*{min-width:0}
@media (max-width:860px){footer .grid4{grid-template-columns:1fr 1fr}footer .grid4>:first-child{grid-column:1/-1}}
footer .mh{color:var(--champ-l);margin:0 0 16px}
footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
footer a{text-decoration:none}
footer a:hover{color:var(--on-dark)}
footer .fw{width:190px}
footer .tagline{font-style:italic;color:var(--on-dark)}
footer .legal{margin-top:56px;padding-top:24px;border-top:1px solid rgba(248,242,234,.14);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font:400 .62rem var(--caps);letter-spacing:.2em;text-transform:uppercase}
@media (prefers-reduced-motion:no-preference){main{animation:fade .7s ease both}@keyframes fade{from{transform:translateY(8px)}to{transform:none}}}
h2.h3{font-size:clamp(1.6rem,2.4vw,2.1rem);line-height:1.08}
.grid3:not(.even) .tile{display:flex;flex-direction:column}
.grid3:not(.even) .tile .photo{flex:1;aspect-ratio:auto;min-height:100%}
.grid3:not(.even) .tile:first-child .photo{aspect-ratio:3/4}
@media (max-width:860px){.grid3:not(.even) .tile .photo{aspect-ratio:4/5;min-height:0}.grid3:not(.even) .tile:first-child .photo{aspect-ratio:4/5}}
[hidden]{display:none!important}
footer{border-top:1px solid rgba(226,197,143,.18)}
.related{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline;font-size:1.05rem;color:var(--muted);padding-top:8px;border-top:1px solid var(--rule)}
.related .k{color:var(--champ);margin-right:8px}
main .related a,main .stack p a{color:var(--wine)}
main .band .stack p a{color:var(--champ-l)}

.howgrid{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(36px,6vw,96px);align-items:center}
.howtext{gap:clamp(32px,4vw,48px)}
.howgrid>*{min-width:0}
.howpic{margin:0;aspect-ratio:4/5;overflow:hidden;background:var(--ivory-2)}
.howpic img{width:100%;height:100%;object-fit:cover;display:block}
.steps.two{grid-template-columns:1fr 1fr;column-gap:clamp(28px,3vw,48px);row-gap:clamp(28px,3.5vw,44px);align-items:stretch}
.steps.two>div{height:100%}
@media (max-width:860px){.howgrid{grid-template-columns:1fr}.howpic{aspect-ratio:4/3;order:2}.howtext{order:1}}
@media (max-width:480px){.steps.two{grid-template-columns:1fr}}

.svccard{display:flex;flex-direction:column;min-width:0}
.svccard .k{color:var(--champ)}
.svccard p{color:var(--muted)}

.values{display:flex;flex-direction:column;gap:22px}
.values>div{border-top:1px solid var(--wine);padding-top:16px;display:flex;flex-direction:column;gap:6px}
.values p{color:var(--muted)}

.revrow{grid-template-columns:5fr 6fr}
.revrow .quote{font-size:clamp(1.5rem,2.8vw,2.3rem);max-width:24ch}
.revbody{color:var(--muted);max-width:58ch}
@media (min-width:861px){.revrow.flip{grid-template-columns:6fr 5fr}.revrow.flip>.photo{order:2}}
