/* TrueWedStory Polaroid · main styles */
:root{
  --bg:#ecece9; --paper:#fff; --ink:#111; --text:#333; --muted:#555; --line:#d6d6d1; --soft:#f2f2ef;
  --cta:#5e6e58; --cta-hover:#4b5946; --cta-ink:#fff;
  --serif:'Cormorant Garamond',Georgia,serif; --sans:'Inter',system-ui,-apple-system,Segoe UI,sans-serif;
  --mono:'Space Mono',ui-monospace,monospace; --hand:'Caveat','Comic Sans MS',cursive;
  --wrap:1320px; --gut:32px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img,video{max-width:100%;height:auto;display:block}
a{color:var(--ink)}a:hover{color:var(--muted)}
h1,h2,h3{margin:0}
p{margin:0}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.sr,.hp{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:8px 12px;z-index:99}.skip:focus{left:8px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:var(--gut);padding-right:var(--gut)}
.m{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:400}
.serif{font-family:var(--serif);font-weight:400}
.hand{font-family:var(--hand);font-weight:500;color:#222;line-height:1.1}
.small{font-size:13px;color:var(--muted)}
.h1kw{margin:0;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:400;line-height:1.6}
.display{font-family:var(--serif);font-weight:400;font-size:clamp(46px,6.4vw,84px);line-height:.95;margin:0}
.h2{font-family:var(--serif);font-weight:400;font-size:clamp(38px,4.4vw,60px);line-height:1;margin:0}
.h2 i,.display i{font-style:italic}
.lead{font-size:18px;line-height:1.6;color:var(--text);max-width:560px}
.t-24{font-size:24px;line-height:1.15;color:var(--ink)}
.h-34{font-size:34px}
.sec{padding-top:88px;padding-bottom:88px}
.sec-sm{padding-top:48px;padding-bottom:48px}
.white{background:#fff}
.row-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:36px}
.stack{display:flex;flex-direction:column;gap:20px}
/* film strip */
.sp{height:22px;background-color:#111;background-image:linear-gradient(90deg,transparent 0 9px,var(--bg) 9px 20px,transparent 20px 31px);background-size:31px 9px;background-repeat:repeat-x;background-position:0 6.5px}
.white .sp,.site-foot .sp{background-image:linear-gradient(90deg,transparent 0 9px,#fff 9px 20px,transparent 20px 31px)}
/* logo: viewfinder */
.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:600;font-size:22px;letter-spacing:-.01em;color:var(--ink);position:relative;padding:6px 14px}
.logo-corners{position:absolute;inset:0;pointer-events:none}
.logo-corners i{position:absolute;width:11px;height:11px;border:0 solid var(--ink)}
.logo-corners i:nth-child(1){left:0;top:0;border-left-width:2px;border-top-width:2px}
.logo-corners i:nth-child(2){right:0;top:0;border-right-width:2px;border-top-width:2px}
.logo-corners i:nth-child(3){left:0;bottom:0;border-left-width:2px;border-bottom-width:2px}
.logo-corners i:nth-child(4){right:0;bottom:0;border-right-width:2px;border-bottom-width:2px}
/* header */
.site-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:18px;padding-bottom:18px;position:relative}
.site-nav{display:flex;align-items:center;gap:24px;flex-wrap:wrap;font-size:15px}
.site-nav a{text-decoration:none}
.site-nav a[aria-current="page"]{border-bottom:2px solid var(--ink);padding-bottom:3px}
.nav-toggle{display:none;background:none;border:0;width:48px;height:48px;cursor:pointer;flex-direction:column;justify-content:center;gap:6px;padding:12px}
.nav-toggle span:not(.sr){display:block;height:2px;background:var(--ink)}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;font-family:var(--sans);font-weight:600;font-size:15px;text-decoration:none;border:0;cursor:pointer;background:#fff;color:var(--ink);transition:background .15s}
.btn-ink{background:var(--ink);color:#fff}.btn-ink:hover{background:#333;color:#fff}
.btn-cta{background:var(--cta);color:var(--cta-ink)}.btn-cta:hover{background:var(--cta-hover);color:#fff}
.site-nav .btn{min-height:46px;color:#fff}
.chip{display:inline-flex;align-items:center;gap:6px;min-height:42px;padding:0 16px;background:#fff;font-size:14px;text-decoration:none;color:var(--ink);border:0;cursor:pointer;font-family:var(--sans)}
.chip.on,.chip[aria-pressed="true"]{background:var(--ink);color:#fff}
.tick{display:inline-flex;align-items:center;gap:8px;background:#fff;padding:10px 14px;font-size:14px}
/* polaroids */
.pol{background:#fff;padding:10px 10px 0;box-shadow:0 1px 2px rgba(0,0,0,.08),0 14px 30px rgba(0,0,0,.12);display:flex;flex-direction:column;position:relative;text-decoration:none;color:var(--ink)}
.pol img,.pol video{width:100%;height:auto}
.pol .cap{padding:8px 4px 12px;font-size:24px}
.pol:not(:has(.cap)):not(:has(.card-txt)){padding-bottom:10px}
a.pol:hover{box-shadow:0 1px 2px rgba(0,0,0,.08),0 20px 40px rgba(0,0,0,.18)}
.tape{position:absolute;top:-13px;left:50%;width:92px;height:26px;margin-left:-46px;background:rgba(218,218,212,.85);transform:rotate(-4deg);z-index:3}
.collage{position:relative}
.collage>.pol{position:absolute}
.masonry{column-count:4;column-gap:28px}
.masonry>*{break-inside:avoid;margin-bottom:30px;display:flex}
.masonry.c3{column-count:3}
.card{display:block;break-inside:avoid;margin:0 0 32px;text-decoration:none}
.card .pol{display:flex}
.card-txt{display:flex;flex-direction:column;gap:6px;padding:12px 6px 16px}
.cols{display:grid;gap:28px;grid-template-columns:repeat(var(--n,3),minmax(0,1fr))}
.box{background:#fff;padding:26px;display:flex;flex-direction:column;gap:8px}
.box-top{border-top:3px solid var(--ink)}
.note{background:#fff;padding:26px;display:flex;flex-direction:column;gap:8px}
.note .hand{font-size:28px}
/* forms */
.in{height:50px;border:1px solid #c8c8c3;background:#fff;padding:0 14px;font:16px var(--sans);color:var(--ink);width:100%;border-radius:0}
textarea.in{height:auto;padding:12px 14px;resize:vertical}
.lbl{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;color:#333}
.choice{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #c8c8c3;background:#fff;min-height:46px;padding:0 12px;font-size:14px;cursor:pointer;flex:1 1 0}
.choice:has(input:checked){border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.card-form{background:#fff;padding:26px;display:flex;flex-direction:column;gap:16px;box-shadow:0 18px 40px rgba(0,0,0,.10);position:relative}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.form-msg{font-size:14px;margin:0;min-height:0}
.form-msg.ok{background:#eef1ec;padding:12px 14px;color:#2f3a2c}
.form-msg.err{color:#a3392b}
.is-sent .in,.is-sent .lbl,.is-sent .choice,.is-sent button[type=submit],.is-sent .step2,.is-sent .qhead .small{display:none}
.js .step2{display:none}.js .show2 .step2{display:grid}.js .show2 .step1btn{display:none}
.qwrap{padding-top:56px;padding-bottom:72px}
.qform{background:#fff;box-shadow:0 18px 40px rgba(0,0,0,.10);padding:24px 26px;display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;position:relative}
.qhead{flex:1 1 230px;display:flex;flex-direction:column;gap:4px}
.q-date{flex:1 1 150px}.q-where{flex:1 1 170px}.q-email{flex:1 1 190px}.q-need{flex:0 1 150px}
.qform .form-msg{flex-basis:100%}
/* sections specific */
.hero{display:flex;gap:48px;flex-wrap:wrap;align-items:flex-start;padding-top:24px;padding-bottom:80px}
.hero-txt{flex:1 1 460px;display:flex;flex-direction:column;gap:22px;padding-top:24px}
.hero-art{flex:1.1 1 520px}
.facts{background:#fff;padding:14px 32px;display:flex;justify-content:center;gap:28px;flex-wrap:wrap;color:#333}
.bars{display:flex;flex-direction:column;gap:10px}
.bar-row{display:flex;align-items:center;gap:12px}
.bar{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;font-size:14px;font-weight:600;white-space:nowrap}
.price-big{font-family:var(--serif);font-size:36px;line-height:1}
.pk{background:#fff;display:flex;flex-direction:column;box-shadow:0 14px 30px rgba(0,0,0,.08)}
.pk-full{background:#111;color:#fff;padding:16px 18px;display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.pk-hours{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;text-align:center}
.pk-hours span{background:var(--soft);padding:8px 2px;font-size:12px}
.li{margin:0;font-size:14px;line-height:1.5;color:#333}
.addon{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid #e3e3df}
.opt{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 16px;cursor:pointer;text-align:left;font-family:var(--sans);min-height:64px;background:#fff;color:var(--ink);border:1.5px solid #fff}
.opt[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.opt small{font-size:13px;opacity:.75}
.ad{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#fff;border:1.5px solid #fff;cursor:pointer;min-height:56px}
.ad:has(input:checked){border-color:var(--ink)}
.ad input{width:20px;height:20px;accent-color:var(--ink)}
.ad span{flex:1;display:flex;flex-direction:column}
.quote-lines div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #eee;font-size:14px}
.nudge{display:none;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:#fff;border:1.5px dashed var(--ink);padding:12px 16px}
.nudge.on{display:flex}
.review{display:flex;gap:56px;flex-wrap:wrap;align-items:center}
.review:nth-child(even){flex-direction:row-reverse}
.review .pol{flex:0 0 auto;width:min(360px,100%)}
.film-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 4px 16px;flex-wrap:wrap}
.play{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);border:1.5px solid var(--ink);padding:0 14px;min-height:44px;background:#fff;cursor:pointer}
.film-modal{border:0;padding:0;background:#000;max-width:min(1100px,94vw);width:100%}
.film-modal::backdrop{background:rgba(0,0,0,.8)}
.film-modal video{width:100%}
.film-close{position:absolute;top:6px;right:10px;z-index:2;background:none;border:0;color:#fff;font-size:34px;cursor:pointer;width:48px;height:48px}
.vbar{height:40px;background:#111;color:#fff;display:flex;align-items:center;padding:0 14px;font-size:13px;font-weight:600;white-space:nowrap}
.gp{display:block;break-inside:avoid;margin:0 0 30px;background:#fff;padding:9px 9px 26px;box-shadow:0 1px 2px rgba(0,0,0,.07),0 12px 26px rgba(0,0,0,.10)}
.gp img{width:100%}
.crumbs{display:flex;gap:8px;flex-wrap:wrap}
.crumbs a{color:var(--muted)}
/* article */
.art{flex:3 1 600px;max-width:740px}
.art p{margin:0 0 18px;font-size:18px;line-height:1.75;color:#262624}
.art h2{font-family:var(--serif);font-weight:400;font-size:40px;line-height:1.05;margin:48px 0 18px;scroll-margin-top:20px}
.art h3{font-size:19px;font-weight:600;margin:26px 0 10px}
.art ul,.art ol{margin:0 0 20px;padding-left:22px;font-size:17px;line-height:1.75;color:#262624}
.art li{margin-bottom:6px}
.art a{color:var(--ink)}
.art img{margin:10px 0 24px}
.art .note{margin:8px 0 26px;transform:rotate(-.5deg);box-shadow:0 8px 20px rgba(0,0,0,.06);position:relative}
.art .note p{font-size:16px;margin:0}
.art .pol{margin:10px 0 30px}
.toc{display:flex;flex-direction:column}
.toc a{display:block;padding:7px 0;border-top:1px solid var(--line);text-decoration:none;font-size:14px;line-height:1.4}
.side{flex:1 1 260px;max-width:300px;position:sticky;top:20px;display:flex;flex-direction:column;gap:22px;align-self:flex-start}
.inline-cta{background:#fff;padding:26px;margin:10px 0 34px;display:flex;flex-direction:column;gap:14px;box-shadow:0 18px 40px rgba(0,0,0,.10);position:relative}
.inline-cta form{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.pager{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:12px}
.pager .page-numbers{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;background:#fff;text-decoration:none}
.pager .current{background:var(--ink);color:#fff}
/* footer */
.site-foot{background:#fff;margin-top:0}
.foot-in{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;padding-top:36px;padding-bottom:16px}
.foot-brand{max-width:260px;display:flex;flex-direction:column;gap:12px}
.foot-nav{display:flex;gap:48px;flex-wrap:wrap;font-size:14px;line-height:2}
.foot-nav div{display:flex;flex-direction:column}
.foot-nav .m{margin-bottom:4px}
.foot-nav a{text-decoration:none}
.foot-nav a:hover{text-decoration:underline}
.foot-copy{padding-bottom:28px}
/* landing pages from the landings plugin keep their own layout inside */
.page-plain{padding-top:24px;padding-bottom:40px}
/* responsive */
@media (max-width:1100px){.masonry{column-count:3}}
@media (max-width:900px){
  :root{--gut:18px}
  .nav-toggle{display:flex}
  .site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:8px 18px 18px;z-index:20;box-shadow:0 18px 30px rgba(0,0,0,.12)}
  .site-nav.open{display:flex}
  .site-nav a{padding:12px 0;border-bottom:1px solid #eee}
  .site-nav a[aria-current="page"]{border-bottom:1px solid #eee;font-weight:600}
  .site-nav .btn{margin-top:10px}
  .collage{height:auto!important;display:flex;flex-wrap:wrap;gap:16px;justify-content:center}
  .collage>.pol{position:static!important;width:calc(50% - 8px)!important;transform:rotate(var(--r,0deg))}
  .masonry,.masonry.c3{column-count:2;column-gap:16px}
  .cols{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .grid2{grid-template-columns:1fr}
  .sec{padding-top:56px;padding-bottom:56px}
  .side{position:static;max-width:none}
  .review,.review:nth-child(even){flex-direction:column;gap:24px}
  .hide-sm{display:none!important}
}
@media (max-width:560px){
  .masonry,.masonry.c3{column-count:1}
  .cols{grid-template-columns:1fr!important}
  .pk-hours{grid-template-columns:repeat(2,minmax(0,1fr))}
  .q-need,.qform .btn{flex:1 1 100%}
  .bar{font-size:12px}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media (max-width:700px){.cov-grid{grid-template-columns:1fr 1fr!important}.cov-grid .opt:first-child{grid-column:1/-1}}
.page-landing{display:block}
[hidden]{display:none!important}
.vbar{white-space:normal;height:auto;min-height:40px;padding:8px 14px;line-height:1.3}
