  body{margin:0;background:#f4f1eb;font-family:'Jost',system-ui,sans-serif;color:#1c2b3d}
  h1,h2,h3,h4,h5,h6{margin:0;font-size:inherit;font-weight:inherit;line-height:inherit}
  blockquote{margin:0;padding:0;border:0}
  .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  a{color:#3a5170;text-decoration:none}
  a:hover{color:#3a5170}
  .eyebrow{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-size:23px;letter-spacing:.08em;color:#3a5170;text-transform:uppercase;text-align:center}
  .serif-h{font-family:'Cormorant Garamond';font-weight:300;color:#1c2b3d}
  .navlink{font-family:'Cormorant Garamond';font-size:18px;font-weight:600;letter-spacing:.08em;color:#3a5170;cursor:pointer;background:none;border:none;padding:0;font-style:normal;text-transform:uppercase}
  .navlink:hover{color:#3a5170}
  .ii-slideshow{position:absolute;inset:0;overflow:hidden}
  .ii-slide{position:absolute;inset:0;background-size:cover;background-position:center;transform:translateX(100%);transition:transform 1s ease;z-index:1;filter:brightness(.72) saturate(.95) contrast(1.02)}
  .ii-slide.is-active{transform:translateX(0%);z-index:2}
  .ii-slide.is-prev{transform:translateX(-100%);z-index:1;transition:transform 1s ease}
  .container{max-width:760px;margin:0 auto;padding:0 32px}
  .divider{width:36px;height:1px;background:#c9b98f;margin:28px auto}
  .quotemark{font-family:'Cormorant Garamond';font-size:64px;color:#e4edf7;line-height:1;font-style:italic}
  .marquee-track{display:flex;width:max-content;animation:marquee-scroll 26s linear infinite}
  @keyframes marquee-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

  .site-header{position:sticky;top:0;background:#fffdfa;z-index:50;border-bottom:1px solid rgba(28,43,61,.1)}
  .site-header-bar{display:none;align-items:center;justify-content:space-between;height:92px;padding:0 16px;box-sizing:border-box}
  .site-logo-btn{display:block;background:none;border:none;padding:0;cursor:pointer;line-height:0}
  .site-logo-btn img{height:74px;width:auto;display:block;filter:brightness(0.72) saturate(1.15)}
  .site-nav{display:flex;justify-content:space-evenly;align-items:center;height:92px;padding:0 28px;box-sizing:border-box}
  .nav-toggle-input{position:absolute;opacity:0;pointer-events:none}
  .nav-toggle{display:none;width:40px;height:40px;padding:0;border:none;background:none;cursor:pointer;color:#3a5170;align-items:center;justify-content:center}
  .nav-toggle-icon{position:relative;display:block;width:22px;height:2px;background:currentColor;transition:background .2s ease}
  .nav-toggle-icon::before,.nav-toggle-icon::after{content:"";position:absolute;left:0;width:22px;height:2px;background:currentColor;transition:transform .2s ease,top .2s ease}
  .nav-toggle-icon::before{top:-7px}
  .nav-toggle-icon::after{top:7px}
  .nav-toggle-input:checked ~ .site-header-bar .nav-toggle-icon{background:transparent}
  .nav-toggle-input:checked ~ .site-header-bar .nav-toggle-icon::before{top:0;transform:rotate(45deg)}
  .nav-toggle-input:checked ~ .site-header-bar .nav-toggle-icon::after{top:0;transform:rotate(-45deg)}
  .site-header.nav-closing .nav-toggle-icon,
  .site-header.nav-closing .nav-toggle-icon::before,
  .site-header.nav-closing .nav-toggle-icon::after{transition:none}
  .nav-toggle-spacer{width:40px;flex:none}
  .hero-copy{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:2;gap:18px;padding:0 28px;box-sizing:border-box}
  .hero-scroll-cue{display:none}
  .hero-copy .hero-title{font-size:58px;font-weight:500;letter-spacing:.06em;color:#f4f1eb}
  .hero-copy .hero-tagline{font-style:italic;font-size:26px;letter-spacing:.02em;color:#fffdfa;font-weight:400;text-wrap:pretty;text-shadow:0 2px 10px rgba(0,0,0,.35)}
  .hero-copy .hero-lede{font-size:19px;line-height:1.7;color:#fffdfa;max-width:640px;text-wrap:pretty;font-weight:400;text-shadow:0 1px 8px rgba(0,0,0,.35)}
  .services-page{padding:0 0 120px;background:#fffdfa}
  .services-panel{padding:0}
  .services-panel-alt{padding:0}
  .wedding-tab-input{position:absolute;opacity:0;pointer-events:none}
  .wedding-tab-switch{display:flex;justify-content:center;gap:0;margin:30px auto 0;max-width:420px;border:1px solid rgba(58,81,112,.3);border-radius:30px;overflow:hidden}
  .wedding-tab-label{flex:1;text-align:center;padding:13px 20px;font-family:'Jost',sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#3a5170;cursor:pointer;transition:background .2s ease,color .2s ease}
  #tab-wedding-day:checked ~ .wedding-tab-switch label[for="tab-wedding-day"],
  #tab-wedding-weekend:checked ~ .wedding-tab-switch label[for="tab-wedding-weekend"]{background:#3a5170;color:#fffdfa}
  .wedding-tab-panel{display:none;margin-top:34px}
  #tab-wedding-day:checked ~ #panel-wedding-day{display:block}
  #tab-wedding-weekend:checked ~ #panel-wedding-weekend{display:block}
  .wedding-col{background:#fffdfa;border:1px solid rgba(28,43,61,.1);border-radius:4px;padding:40px 34px;display:flex;flex-direction:column;gap:28px;max-width:640px;margin:0 auto}
  .wedding-col-intro{text-align:center;padding-bottom:28px;border-bottom:1px solid rgba(58,81,112,.14)}
  .service-package{background:#3a5170;border:1px solid #3a5170;border-radius:6px;padding:26px 24px}
  .service-badge{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:5px 14px;border-radius:2px;margin-bottom:14px}
  .service-badge.is-complete{color:#fffdfa;background:rgba(255,253,250,.16)}
  .service-badge.is-partial{color:#fffdfa;background:rgba(255,253,250,.16)}
  .service-package h4{font-size:22px;margin:0 0 10px;color:#fffdfa}
  .service-package p{font-family:'Cormorant Garamond';font-size:16px;line-height:1.7;color:rgba(255,253,250,.85);margin:0}
  .service-includes-label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,253,250,.7);margin:20px 0 10px;font-weight:600}
  .service-includes{list-style:none;margin:0;padding:0;font-family:'Cormorant Garamond';font-size:17px;line-height:1.85;color:#fffdfa;columns:2;column-gap:20px}
  .service-includes li{border-left:2px solid rgba(255,253,250,.5);padding-left:12px;margin-bottom:5px;break-inside:avoid}
  .service-includes-note{font-family:'Cormorant Garamond';font-style:italic;font-size:15px;color:rgba(255,253,250,.85);margin:0 0 12px}
  .list-grid-2{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;font-family:'Cormorant Garamond';font-size:17px;line-height:1.9;color:#48576b;margin:0;padding:0}
  .list-grid-2 li{border-left:2px solid #3a5170;padding-left:12px}
  @media (max-width:768px){
    .services-hero-overlay{padding-top:24px !important}
    .services-lede-break{display:inline !important}
    .contact-hero-blend{display:block !important}
    .contact-hero-blend img{height:30vh}
    .about-hero-heading{font-size:32px !important;line-height:1.45 !important}
    .services-hero-strip{margin:0 -20px 20px !important;width:calc(100% + 40px)}
    .welcome-bags-banner{margin-left:-20px !important;margin-right:-20px !important;width:calc(100% + 40px);border-radius:0 !important}
    .welcome-bags-banner-img{object-position:center center !important;height:14vh !important}
    .experience-rotator-card{padding:24px 22px;min-height:90px}
    .experience-rotator-text{left:18px;right:18px;font-size:18px}
    .kind-words-heading{order:-1;text-align:center}
    .kind-words-heading .eyebrow{text-align:center !important}
    .kind-words-quote{font-size:16px !important;line-height:1.55 !important}
    .kind-words-quotes{gap:22px !important}
    .site-header-bar{display:flex}
    .site-header-bar .site-logo-btn img{height:76px;width:auto}
    .nav-toggle{display:flex}
    .site-nav{display:none;flex-direction:column;align-items:stretch;justify-content:flex-start;height:auto;gap:0;padding:0}
    .nav-toggle-input:checked ~ .site-nav{display:flex}
    .site-nav .site-logo-btn{display:none}
    .site-nav .navlink{display:flex;justify-content:center;align-items:center;width:100%;box-sizing:border-box;padding:14px 20px;text-align:center;border-top:1px solid rgba(28,43,61,.08);letter-spacing:.08em;padding-left:calc(20px + .08em)}
    .hero-copy{padding:0 24px;gap:14px}
    .hero-copy .hero-title{font-size:clamp(32px,9.5vw,48px)}
    .hero-copy .hero-tagline{font-size:22px}
    .hero-copy .hero-lede{font-size:17px;line-height:1.6}
    .hero-scroll-cue{display:flex;position:absolute;left:50%;bottom:44px;transform:translateX(-50%);z-index:2;opacity:.85;animation:hero-scroll-bounce 2.2s ease-in-out infinite}
    .container{padding:0 20px}
    .services-page{padding:0 0 80px}
    .services-panel,.services-panel-alt{padding:0}
    .services-page{text-align:center}
    .wedding-tab-panel{margin-top:24px}
    .wedding-tab-label{font-size:11px;padding:12px 14px}
    .wedding-col{padding:28px 20px;gap:28px}
    .list-grid-2{grid-template-columns:1fr}
    .list-two-col{grid-template-columns:1fr 1fr !important;gap:8px 12px}
    .service-includes,.list-grid-2{text-align:left;columns:1}
    .service-includes-note{text-align:left}
    .service-package p{text-align:left}
  }
  a.navlink, a.site-logo-btn{display:inline-block;text-decoration:none}
  a.site-logo-btn{line-height:0}
  .navlink.is-active{color:#3a5170}
  .services-hero-textbox{background:none;padding:0}
  .services-hero-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:32px auto 40px;border-radius:2px;overflow:hidden}
  .services-hero-strip img{width:100%;height:110px;object-fit:cover;display:block}
  .services-lede-break{display:none}
  .my-story-photo{width:100%;aspect-ratio:3/2;overflow:hidden;margin:0 0 24px;border-radius:2px}
  .contact-hero-blend{width:100%;margin:44px 0;display:none}
  .contact-hero-blend img{width:100%;height:44vh;object-fit:cover;display:block}
  .experience-rotator{max-width:620px;margin:0 auto}
  .experience-rotator-card{position:relative;overflow:hidden;border:1px solid #3a5170;border-radius:6px;padding:30px 48px;min-height:80px;display:flex;align-items:center;justify-content:center;text-align:center;background:#3a5170;box-shadow:0 18px 40px -20px rgba(28,43,61,.28);cursor:pointer;user-select:none}
  .floral-bg-layer{position:absolute;inset:0;background-image:url('/assets/about-experience-floral-bg.jpg');background-size:420px auto;background-repeat:repeat;background-position:center;z-index:0;pointer-events:none}
  .experience-rotator-bg{position:absolute;inset:0;width:100%;height:100%;z-index:0;background-size:420px auto;background-repeat:repeat;background-position:center;opacity:.65}
  .experience-rotator-text{position:absolute;left:48px;right:48px;top:50%;transform:translateY(calc(-50% + 6px));opacity:0;transition:opacity .5s ease,transform .5s ease;font-family:'Cormorant Garamond';font-style:italic;font-size:23px;line-height:1.55;color:#fffdfa;margin:0;pointer-events:none;z-index:1}
  .experience-rotator-text.is-active{opacity:1;transform:translateY(-50%);pointer-events:auto}
  .experience-rotator-dots{display:flex;justify-content:center;gap:10px;margin-top:22px}
  .experience-dot{width:7px;height:7px;border-radius:50%;background:rgba(58,81,112,.25);cursor:pointer;transition:background .3s ease,transform .3s ease;border:none;padding:0}
  .experience-dot.is-active{background:#3a5170;transform:scale(1.2)}
  @media (min-width:769px){
    .site-nav .nav-home-link{display:none}
    .site-nav .navlink{position:relative;padding-bottom:4px}
    .site-nav .navlink.is-active{color:#3a5170}
    .site-nav .navlink.is-active::after{content:"";position:absolute;left:50%;bottom:0;width:14px;height:1px;background:currentColor;transform:translateX(-50%);opacity:.75}
    .my-story-photo{float:left;width:480px;aspect-ratio:3/2;margin:6px 40px 24px 0}
    .services-hero-strip img{height:220px}
  }
  .gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px 36px;text-align:left}
  .gallery-photo-grid{column-count:2;column-gap:28px}
  .gallery-card{border:none;background:none;padding:0;text-align:left;color:inherit;text-decoration:none;display:block}
  .gallery-card:hover .serif-h{color:#3a5170}
  .gallery-placeholder{width:100%;aspect-ratio:4/3;margin-bottom:14px;background:#e4edf7;display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond';font-style:italic;font-size:16px;color:#3a5170;padding:16px;box-sizing:border-box;text-align:center}
  .page-pad{padding:100px 0 120px;background:#fffdfa}
  .cta-link{display:inline-block}
  .hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
  .inquiry-form{max-width:100%}
  .inquiry-hint{font-family:'Cormorant Garamond',serif;font-size:15px;color:#48576b;margin:0 0 28px;text-align:center}
  .inquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 28px}
  .inquiry-label{display:flex;flex-direction:column;gap:6px;font-family:'Cormorant Garamond',serif;font-size:16px;color:#48576b}
  .inquiry-label--full{grid-column:1/-1}
  .inquiry-label--block{margin-top:28px}
  .inquiry-help{font-family:'Cormorant Garamond',serif;font-size:15px;color:#48576b}
  .inquiry-input{
    font-family:'Jost',system-ui,sans-serif;font-size:15px;color:#1c2b3d;
    border:none;border-bottom:1px solid rgba(28,43,61,.25);background:transparent;
    padding:8px 2px;border-radius:0;width:100%;box-sizing:border-box;
  }
  .inquiry-input::placeholder{font-family:'Cormorant Garamond',serif;font-style:italic;color:#8a97a8;opacity:1}
  select.inquiry-input{font-family:'Cormorant Garamond',serif;font-size:17px;color:#48576b}
  select.inquiry-input option{font-family:'Cormorant Garamond',serif}
  .inquiry-textarea{border:1px solid rgba(28,43,61,.25);padding:12px;resize:vertical;min-height:120px}
  .inquiry-input--date{
    font-family:'Cormorant Garamond',serif;font-size:17px;color:#48576b;
    min-height:40px;color-scheme:light;position:relative;
  }
  .inquiry-input--date::-webkit-calendar-picker-indicator{
    cursor:pointer;opacity:1;width:18px;height:18px;
  }
  .inquiry-input--number{-moz-appearance:textfield}
  .inquiry-input--number::-webkit-outer-spin-button,
  .inquiry-input--number::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
  .inquiry-affix{
    display:flex;align-items:center;gap:2px;
    border-bottom:1px solid rgba(28,43,61,.25);
  }
  .inquiry-affix:focus-within{border-color:#3a5170;box-shadow:0 1px 0 0 #3a5170}
  .inquiry-affix-prefix{font-family:'Cormorant Garamond',serif;font-size:15px;color:#48576b;flex:none;padding:8px 0}
  .inquiry-affix .inquiry-input{border-bottom:none;box-shadow:none;padding-left:0}
  .inquiry-affix .inquiry-input:focus,.inquiry-affix .inquiry-input:focus-visible{box-shadow:none}
  .inquiry-form.is-validated .inquiry-affix:has(:user-invalid){
    border-color:#8a3a3a;box-shadow:0 1px 0 0 #8a3a3a;
  }
  .inquiry-input:focus,.inquiry-input:focus-visible{
    outline:none;border-color:#3a5170;box-shadow:0 1px 0 0 #3a5170;
  }
  .inquiry-textarea:focus,.inquiry-textarea:focus-visible{box-shadow:inset 0 0 0 1px #3a5170}
  .inquiry-form.is-validated .inquiry-input:user-invalid{
    border-color:#8a3a3a;box-shadow:0 1px 0 0 #8a3a3a;
  }
  .inquiry-form.is-validated .inquiry-textarea:user-invalid{
    border-color:#8a3a3a;box-shadow:inset 0 0 0 1px #8a3a3a;
  }
  .inquiry-fieldset{border:none;margin:36px 0 0;padding:0;min-width:0}
  .inquiry-legend{font-family:'Cormorant Garamond',serif;font-size:16px;font-weight:400;font-style:normal;letter-spacing:normal;text-transform:none;color:#48576b;padding:0;margin:0 0 12px}
  .inquiry-checks{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;font-size:15px;color:#1c2b3d}
  .inquiry-check{display:flex;gap:8px;align-items:center;font-family:'Cormorant Garamond',serif;font-size:17px;color:#48576b}
  .inquiry-actions{text-align:center;margin-top:48px}
  .inquiry-submit{
    font-size:18px;border:1px solid #3a5170;padding:16px 40px;border-radius:2px;
    background:#3a5170;color:#fffdfa;
  }
  .inquiry-submit:hover{color:#fffdfa;background:#2c3f57}
  .inquiry-submit:focus-visible{outline:2px solid #3a5170;outline-offset:3px}
  .inquiry-status{font-family:'Cormorant Garamond';font-size:17px;line-height:1.5;margin:18px 0 0;color:#48576b}
  .inquiry-status.is-error{color:#8a3a3a}
  .inquiry-status.is-success{color:#3a5170}
  .inquiry-submit:disabled{opacity:.65;cursor:wait}
  @media (max-width:768px){
    .gallery-grid{grid-template-columns:1fr;gap:36px}
    .page-pad{padding:56px 0 80px}
    .home-form-grid,.inquiry-grid{grid-template-columns:1fr !important}
    .contact-checks,.inquiry-checks{grid-template-columns:1fr !important}
    .gallery-photo-grid{column-count:2;column-gap:16px}
    .marquee-track img{width:200px !important;height:150px !important}
  }
  .gallery-photo-grid img{cursor:zoom-in}
  .lightbox-overlay{position:fixed;inset:0;background:rgba(15,25,38,.94);display:none;align-items:center;justify-content:center;z-index:999;padding:24px;box-sizing:border-box;cursor:zoom-out}
  .lightbox-overlay.is-open{display:flex}
  .lightbox-overlay img{max-width:100%;max-height:100%;object-fit:contain;border-radius:2px;box-shadow:0 10px 50px rgba(0,0,0,.5);cursor:default}
  .lightbox-close{position:absolute;top:18px;right:18px;width:42px;height:42px;border:none;background:rgba(255,255,255,.14);color:#fffdfa;border-radius:50%;font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease}
  .lightbox-close:hover,.lightbox-close:focus-visible{background:rgba(255,255,255,.26)}
  @keyframes hero-scroll-bounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(8px)}}
