/* PNW Weddings — Anna Nikolská Vien. Hand-built static site (migrated from Squarespace). */
:root{
  --sqs-site-gutter:3vw;
  --sqs-mobile-site-gutter:6vw;
  --sqs-site-max-width:1500px;
  --hdr-h:156px;
  --accent:#a8a6a1;
  --f-head:'Cormorant','Cormorant Garamond',Georgia,'Times New Roman',serif;
  --f-body:'EB Garamond',Garamond,Georgia,'Times New Roman',serif;
  --fs-h1:calc(1rem + 8.3vw);
  --fs-h2:calc(1rem + 4.985vw);
  --fs-h3:calc(1rem + 3.32vw);
  --fs-h4:calc(1rem + .554vw);
  --fs-p:calc(1rem + .554vw);
  --fs-title:calc(1rem + 2.77vw);
  --pad-l:10vmax;--pad-m:6.6vmax;--pad-s:3.3vmax;
}
@media (min-width:768px){
  :root{
    --fs-h1:calc(1rem + 3.6vw);
    --fs-h2:calc(1rem + 2.16vw);
    --fs-h3:calc(1rem + 1.44vw);
    --fs-h4:calc(1rem + .24vw);
    --fs-p:calc(1rem + .24vw);
    --fs-title:calc(1rem + 1.2vw);
  }
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:#000;color:#fff;font-family:var(--f-body);font-size:var(--fs-p);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,video{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--f-head);font-weight:500;margin:0;letter-spacing:normal}
h1,.as-h1{font-size:var(--fs-h1);line-height:1.232;margin:0 0 32px}
h2,.as-h2{font-size:var(--fs-h2);line-height:1.2992;margin:0 0 32px}
h3,.as-h3{font-size:var(--fs-h3);line-height:1.3328;margin:0}
h4,.as-h4{font-size:var(--fs-h4);line-height:1.3888;margin:0 0 32px}
.as-h4{font-family:var(--f-head);font-weight:500}
.sqs-html-content p.as-h4+p.as-h4{margin-top:0}
h1.as-h2{font-size:var(--fs-h2);line-height:1.2992}
h1.as-h3{font-size:var(--fs-h3);line-height:1.3328}
h1.as-h4{font-size:var(--fs-h4);line-height:1.3888}
h1.as-p{font-family:var(--f-body);font-weight:400;font-size:var(--fs-p);line-height:1.6;margin:0}
p{margin:0}
.sqs-html-content>*:last-child{margin-bottom:0}
.sqs-html-content p+p,.sqs-html-content p+h2,.sqs-html-content p+h3,.sqs-html-content p+h4,.sqs-html-content h3+p{margin-top:1rem}
.sqs-html-content ul{margin:0;padding-left:1.2em}
.sqsrte-small{font-size:.8em}
.sqsrte-large{font-size:1.4em}
.sqsrte-scaled-text-container{width:100%}
.sqsrte-scaled-text{display:block;white-space:nowrap}
.sqsrte-scaled-text>*{display:inline-block;line-height:1;margin:0;white-space:nowrap!important}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:#fff;color:#000;padding:.6em 1em}
.skip:focus{left:1rem;top:1rem}

/* ---------- themes ---------- */
.theme-black{--bg:#000;--fg:#fff}
.theme-white{--bg:#fff;--fg:#000;--accent:#76746f}
.theme-dark{--bg:rgb(56,56,59);--fg:#fff}
.theme-light-bold{--bg:rgb(223,224,225);--fg:#000;--accent:#6b6964}
.theme-light{--bg:rgb(242,242,242);--fg:#000}
[class*=theme-]{color:var(--fg)}

/* ---------- header ---------- */
.hdr{position:fixed;top:0;left:0;right:0;z-index:50;color:var(--hdr-fg,#fff);transition:transform .3s ease,background-color .3s ease}
.hdr-inner{display:flex;align-items:center;justify-content:space-between;gap:2vw;padding:3vw var(--sqs-site-gutter)}
.hdr.is-hidden{transform:translateY(-100%)}
.hdr.is-solid{background:#000;--hdr-fg:#fff}
.hdr.is-solid .hdr-inner{padding-top:1.4vw;padding-bottom:1.4vw}
.hdr-title{font-family:var(--f-head);font-weight:500;font-size:var(--fs-title);line-height:1.4;text-decoration:none;max-width:60%}
.hdr-nav{display:flex;align-items:center;gap:2.2vw}
.hdr-nav ul{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.15em 1.2vw;list-style:none;margin:0;padding:0;max-width:16em}
.hdr-nav a{text-decoration:none;font-size:var(--fs-p);line-height:1.6;background:linear-gradient(currentColor,currentColor) 0 calc(100% - .1em)/0 1px no-repeat;transition:background-size .3s}
.hdr-nav a:hover,.hdr-nav a[aria-current=page]{background-size:100% 1px}
.ig{display:inline-flex;width:20px;height:20px}
.ig svg{width:100%;height:100%;fill:currentColor}
.burger{display:none;background:none;border:0;color:inherit;width:40px;height:30px;padding:0;cursor:pointer;position:relative}
.burger span{position:absolute;left:4px;right:4px;height:1px;background:currentColor;transition:transform .3s,opacity .3s}
.burger span:nth-child(1){top:9px}.burger span:nth-child(2){top:19px}
.menu-open .burger span:nth-child(1){transform:translateY(5px) rotate(45deg)}
.menu-open .burger span:nth-child(2){transform:translateY(-5px) rotate(-45deg)}
.mmenu{position:fixed;inset:0;z-index:40;background:#000;color:#fff;display:flex;flex-direction:column;justify-content:center;padding:0 var(--sqs-mobile-site-gutter);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.menu-open .mmenu{opacity:1;visibility:visible}
.mmenu ul{list-style:none;margin:0;padding:0;text-align:center}
.mmenu a{display:block;font-family:var(--f-head);font-size:calc(1rem + 5vw);line-height:1.6;text-decoration:none}
.mmenu .ig{margin:1.5rem auto 0}
@media (max-width:767px){
  .hdr-nav{display:none}.burger{display:block}
  .hdr-inner{padding:6vw var(--sqs-mobile-site-gutter)}
  .hdr-title{max-width:75%}
}
.menu-open .hdr{background:transparent;--hdr-fg:#fff;transform:none}

/* ---------- sections ---------- */
.page-section{position:relative;display:flex;flex-direction:column;justify-content:center;background:var(--bg);overflow:hidden}
.page-section.first{padding-top:var(--hdr-h)}
.page-section.first.phs{padding-top:0}
.sbg{position:absolute;inset:0;z-index:0;overflow:hidden}
.sbg img{width:100%;height:100%;object-fit:cover}
.sbg .ov{position:absolute;inset:0}
.content-wrapper{position:relative;z-index:1;width:100%}
.h-large{min-height:100vh}.h-large>.content-wrapper.fe{padding:var(--pad-l) 0}
.h-medium{min-height:66vh}.h-medium>.content-wrapper.fe{padding:var(--pad-m) 0}
.h-small{min-height:33vh}.h-small>.content-wrapper.fe{padding:var(--pad-s) 0}
.v-top{justify-content:flex-start}.v-bottom{justify-content:flex-end}

/* ---------- fluid engine ---------- */
.fe-block{position:relative;min-width:0}
.fe-block .sqs-block{height:100%;width:100%;display:flex;flex-direction:column;justify-content:flex-start}
.fe-block .sqs-block-content{width:100%}
.fe-block .sqs-block.image .sqs-block-content,.fe-block .sqs-block.video .sqs-block-content{height:100%}
.sqs-block-alignment-wrapper{display:flex;height:100%;width:100%}
.fimg{position:relative;width:100%;height:100%;overflow:hidden}
.fimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fimg.fit img{object-fit:contain}
.fimg.mask-circle{aspect-ratio:1/1;height:100%;width:auto;max-width:100%;margin:0 auto;border-radius:50%}
.fimg.mask-arched-window{border-radius:9999px 9999px 0 0}
.fimg.nostretch{height:auto;margin:auto}
.fimg.nostretch img{position:static;height:auto}
.fe-block a.fimg-link{display:block;height:100%}
.sqs-block.button .sqs-block-content{height:100%;display:flex}
.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;font-family:var(--f-head);font-weight:600;font-size:16px;letter-spacing:.04em;color:var(--accent);border:3px solid var(--accent);background:transparent;padding:0 48px;text-decoration:none;cursor:pointer;transition:background-color .25s,color .25s}
.btn:hover,.btn:focus-visible{background:var(--accent);color:#fff}
.fe-block .sqs-block.button .btn{width:100%;min-height:100%}
.btn--list{font-size:14.272px;padding:32px 48px}

/* accordion */
.acc{list-style:none;margin:0;padding:0;font-size:var(--fs-p)}
.acc details{border-bottom:1px solid currentColor}
.acc details:first-child{border-top:1px solid currentColor}
.acc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:.3em 0;font-size:.8em}
@media (max-width:767px){.acc summary{padding:.7em 0}}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"";width:.55em;height:.55em;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg) translate(-25%,-25%);transition:transform .25s}
.acc details[open] summary::after{transform:rotate(-135deg)}
.acc .acc-body{font-size:16px;line-height:1.6;padding:.3em 0 1em}
.acc .acc-body p+p{margin-top:.6em}

/* social links */
.social{display:flex;gap:1rem;align-items:center;height:100%}

/* ---------- user items list (services) ---------- */
.uil{padding:var(--pad-s) var(--sqs-site-gutter) var(--pad-m)}
.uil-title{text-align:center;font-size:var(--fs-h2);margin:0 0 2.5rem}
.uil-items{display:grid;grid-template-columns:repeat(var(--cols,2),1fr);gap:4.2vw;list-style:none;margin:0;padding:0}
.uil-item{text-align:center;display:flex;flex-direction:column;align-items:center}
.uil-media{width:100%;aspect-ratio:3/2;overflow:hidden;margin-bottom:1.9rem}
.uil-media img{width:100%;height:100%;object-fit:cover}
.uil-item h3{font-size:calc(1rem + .72vw);line-height:1.4;margin:0 0 1rem}
.uil-desc{font-size:.82em;margin-bottom:1.5rem}
@media (max-width:767px){.uil-items{grid-template-columns:1fr;gap:3rem}.uil-item h3{font-size:calc(1rem + 2vw)}}

/* ---------- galleries ---------- */
.gal{padding:var(--gal-pad,40px) var(--sqs-site-gutter)}
.gal-masonry{columns:var(--cols,3);column-gap:var(--gut,40px)}
.gal-masonry figure{break-inside:avoid;margin:0 0 var(--gut,40px)}
.gal-masonry img{width:100%;height:auto}
.gal-grid{display:grid;grid-template-columns:repeat(var(--cols,3),1fr);gap:var(--gut,20px)}
.gal-grid figure{margin:0;aspect-ratio:var(--ar,1.5);overflow:hidden}
.gal-grid img{width:100%;height:100%;object-fit:cover}
.gal figure a{display:block;height:100%}
.gal img{background:rgba(127,127,127,.12)}
@media (max-width:767px){.gal-masonry{columns:2;column-gap:12px}.gal-masonry figure{margin-bottom:12px}.gal-grid{grid-template-columns:repeat(2,1fr);gap:12px}.gal-grid.one{grid-template-columns:1fr}}
.lb{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center}
.lb.open{display:flex}
.lb img{max-width:92vw;max-height:88vh;object-fit:contain}
.lb button{position:absolute;background:none;border:0;color:#fff;font-size:42px;line-height:1;cursor:pointer;padding:16px;font-family:var(--f-head)}
.lb .x{top:8px;right:12px}.lb .pv{left:8px;top:50%;transform:translateY(-50%)}.lb .nx{right:8px;top:50%;transform:translateY(-50%)}

/* ---------- portfolio hover list ---------- */
.ph{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:calc(var(--hdr-h) + 56px) var(--sqs-site-gutter) 100px}
.ph-bgs{position:absolute;inset:0}
.ph-bgs img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s ease}
.ph-bgs img.on{opacity:1}
.ph ul{position:relative;z-index:1;list-style:none;margin:0;padding:0;text-align:center}
.ph a{display:inline-block;font-family:var(--f-head);font-size:var(--fs-h1);line-height:1.4;text-decoration:none;padding:1rem .3em;transition:opacity .3s}
.ph ul:hover a{opacity:.5}.ph ul:hover a:hover{opacity:1}


/* ---------- products ---------- */
.pcards{display:grid;grid-template-columns:repeat(3,1fr);gap:3vw;padding:var(--pad-s) var(--sqs-site-gutter) var(--pad-m)}
.pcard a{text-decoration:none}
.pcard .pimg{aspect-ratio:1;overflow:hidden;margin-bottom:1rem}
.pcard .pimg img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.pcard a:hover .pimg img{transform:scale(1.03)}
.pcard h3,.pcard h2{font-family:var(--f-body);font-weight:400;font-size:calc(1rem + .33vw);line-height:1.6;margin:0}
.pcard .price{font-size:calc(.9rem + .2vw)}
@media (max-width:767px){.pcards{grid-template-columns:1fr;gap:2.5rem}}
.fe-block .pcard{height:100%}
.pd{display:grid;grid-template-columns:1fr 1fr;gap:3vw;padding:calc(var(--hdr-h) + 2vw) var(--sqs-site-gutter) var(--pad-m)}
.pd .crumbs{grid-column:1/-1;font-size:.8em}
.pd .crumbs a{text-decoration:none}
.pd .pimg img{width:100%;height:auto}
.pd h1{font-size:var(--fs-h3);line-height:1.33;margin:0 0 .6rem}
.pd .price{margin-bottom:1.6rem}
.pd ul{padding-left:1.1em;margin:1.4rem 0}
.pd .btn{min-height:64px;width:100%}
.pd .note{font-size:.82em;opacity:.85;margin-top:1.2rem}
@media (max-width:767px){.pd{grid-template-columns:1fr}}

/* ---------- forms ---------- */
.form{font-size:calc(var(--fs-p)*.86);line-height:1.5}
.form .f{margin-bottom:1.4rem;border:0;padding:0}
.form label,.form legend{display:block;margin-bottom:.4rem}
.form .req{opacity:.7;font-size:.85em}
.form .desc{display:block;font-size:.85em;opacity:.8;margin:-.2rem 0 .4rem}
.form input[type=text],.form input[type=email],.form input[type=tel],.form input[type=date],.form textarea{width:100%;font:inherit;color:#000;background:#fafafa;border:1px solid #a9a9a9;border-radius:0;padding:12px}
.form textarea{min-height:110px;resize:vertical}
.form .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form .row2 small{display:block;font-size:.8em;opacity:.8;margin-top:.3rem}
.form .opt{display:flex;gap:.6rem;align-items:center;margin:.3rem 0}
.form .opt input{width:18px;height:18px;accent-color:var(--accent)}
.form .btn{min-height:58px;padding:0 48px;margin-top:.4rem}
.form .hp{display:none}
.form .msg{margin-top:1rem}
.form .msg.err{color:#ff8a80}
.form.sent .fields{display:none}
.fe-block .sqs-block.form{justify-content:flex-start}

/* ---------- misc ---------- */
.video-wrap{position:relative;width:100%;height:100%;min-height:240px}
.video-wrap video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.foot .fe-block a{text-decoration:none}
.footer-legal{font-size:14px;opacity:.6;padding:0 var(--sqs-site-gutter) 24px}
.notfound{min-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:calc(var(--hdr-h) + 2rem) 6vw 4rem;gap:1.5rem}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.gal-masonry2{display:flex;gap:var(--gut,40px);align-items:flex-start}
.gal-masonry2 .mcol{flex:1;display:flex;flex-direction:column;gap:var(--gut,40px);min-width:0}
.gal-masonry2 figure{margin:0}
.gal-masonry2 img{width:100%;height:auto}
@media (max-width:767px){.gal-masonry2{display:block;columns:2;column-gap:12px}.gal-masonry2 .mcol{display:contents}.gal-masonry2 figure{break-inside:avoid;margin-bottom:12px}}
