
:root{--paper:#f4efe7;--ivory:#fdfbf7;--wine:#622d3d;--wine-dark:#512534;--ink:#2f2a31;--muted:#8c7b78;--line:#d9ccc1;--gold:#ae8871;--quiet:#ece2d7;--blue:#dce4e7;--mauve:#e5dce2;--busy:#efe1cc;--blocked:#ece7e3}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Inter', 'Lato',Arial,sans-serif;font-size:14px}button,input{font:inherit}button{cursor:pointer}button:focus-visible{outline:2px solid var(--wine);outline-offset:2px}a{text-decoration:none;color:inherit}.overline{font-size:9px;text-transform:uppercase;letter-spacing:3px;font-weight:700}.rule{width:46px;height:1px;background:var(--gold)}.top-ribbon{height:27px;background:var(--wine);display:flex;align-items:center;justify-content:center;color:#e8d6cb;font-size:9px;letter-spacing:2.35px;text-transform:uppercase}.site-header{height:88px;max-width:1330px;margin:auto;padding:0 50px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-family:'GFS Didot','EB Garamond',serif;font-size:39px;letter-spacing:-1.8px;color:var(--wine)}.header-middle{font-family:'EB Garamond',serif;color:#817277;font-size:17px;font-style:italic}.host{background:transparent;border:0;border-bottom:1px solid var(--gold);padding:10px 0;color:var(--wine);font-size:11px;letter-spacing:.7px}.hero{max-width:1330px;margin:auto;display:grid;grid-template-columns:53% 47%;min-height:372px;padding:0 50px;position:relative;border-bottom:1px solid var(--line)}.hero-copy{padding:57px 0 42px;position:relative;z-index:1}.hero-copy .overline{color:var(--wine)}.hero h1{font-family:'EB Garamond','GFS Didot',serif;font-weight:400;font-size:clamp(58px,5.4vw,83px);line-height:.99;letter-spacing:-2px;margin:23px 0 26px}.hero h1 em{font-weight:400;color:var(--wine)}.hero p{font-family:'EB Garamond',serif;font-size:21px;line-height:1.38;max-width:445px;color:#746467;margin:0}.signature{font-family:'EB Garamond',serif;font-size:20px;font-style:italic;margin:26px 0 0;color:var(--wine)}.hero-art{position:relative;display:flex;justify-content:center;align-items:flex-end;overflow:hidden;padding:25px 0 20px 25px}.print-frame{position:relative;height:310px;width:100%;border:1px solid #bfaea7;padding:9px;background:#ede3d8;box-shadow:5px 6px 0 #ede8e1;display:flex;flex-direction:column}.print-frame:after{content:'';position:absolute;inset:13px;border:1px solid #c2ae9d;pointer-events:none}.drawing{flex:1;background:#eee4d7;display:flex;align-items:center;justify-content:center;overflow:hidden}.drawing svg{width:100%;height:100%;color:#7e665a;opacity:.83}.engraving-label{font-size:8px;letter-spacing:2.5px;text-align:center;text-transform:uppercase;padding:12px 0 6px;color:#765e59}.inner-wrap{max-width:1330px;padding:49px 50px 76px;margin:0 auto}.calendar-intro{display:flex;align-items:flex-end;justify-content:space-between;margin:0 0 23px}.calendar-intro .overline{color:var(--wine)}.calendar-intro h2{font-family:'EB Garamond',serif;font-size:45px;font-weight:400;line-height:1;margin:10px 0 0}.calendar-intro p{font-family:'EB Garamond',serif;font-style:italic;color:var(--muted);font-size:18px;margin:0}.booking-grid{display:grid;grid-template-columns:minmax(0,1.46fr) minmax(300px,.85fr);gap:22px}.calendar-card{background:var(--ivory);border:1px solid var(--line);padding:27px 32px 22px;box-shadow:0 4px 20px #6c424409}.month{display:flex;align-items:center;justify-content:space-between;padding-bottom:19px;border-bottom:1px solid var(--line)}.month-title{font-family:'GFS Didot','EB Garamond',serif;font-size:29px;color:var(--wine)}.month-controls{display:flex;gap:3px}.month-controls button{width:31px;height:31px;border:0;background:transparent;color:var(--wine);font-size:20px}.week-row,.day-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.week-row{margin:19px 0 8px}.week-row span{text-align:center;font-size:9px;color:#968780;letter-spacing:1.3px}.date-cell{height:58px;border:1px solid #efebe6;background:#fbf9f5;color:#493e41;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;transition:.15s}.date-cell strong{font-family:'EB Garamond',serif;font-weight:400;font-size:21px;line-height:1}.date-cell small{font-size:8px;color:#a58c87;line-height:1}.date-cell[data-kind=busy]{background:var(--busy)}.date-cell[data-kind=pending]{background:var(--mauve)}.date-cell[data-kind=blocked]{background:var(--blocked);opacity:.65;cursor:default}.date-cell[data-kind=selected]{background:var(--wine);color:white;border-color:var(--wine)}.date-cell[data-kind=selected] small{color:#efdde0}.date-cell.today{border-bottom:2px solid var(--gold)}.legend{display:flex;flex-wrap:wrap;gap:17px;border-top:1px solid var(--line);margin-top:18px;padding-top:18px;font-size:10px;color:#8d7e7d}.legend span{display:flex;align-items:center;gap:7px}.swatch{width:11px;height:11px;border:1px solid #ddd4cc;background:#fbf9f5}.swatch.busy{background:var(--busy)}.swatch.pending{background:var(--mauve)}.swatch.blocked{background:var(--blocked)}.selection-instruction{font-family:'EB Garamond',serif;font-style:italic;color:#95837f;font-size:17px;margin:13px 0 0}.note-card{background:var(--wine);color:#f5ece6;padding:28px;position:relative;display:flex;flex-direction:column;border:1px solid #50232f}.note-card:before{content:'';position:absolute;inset:9px;border:1px solid #9b6e77;pointer-events:none}.note-card .overline{color:#d9bdbe;text-align:center}.note-title{font-family:'EB Garamond',serif;font-size:52px;font-weight:400;text-align:center;line-height:1.0;margin:24px 0 18px}.note-title em{font-weight:400}.note-body{text-align:center;font-family:'EB Garamond',serif;line-height:1.45;font-size:20px;margin:0 5px 25px;color:#e6d1d2}.note-rule{height:1px;background:#98717a;opacity:.85;margin:0 0 21px}.note-card label{font-size:9px;text-transform:uppercase;letter-spacing:2.3px;color:#d7babc}.note-card .choice{font-family:'EB Garamond',serif;font-size:23px;margin:10px 0 20px;min-height:24px;color:#fff6f0}.cta{width:100%;padding:16px 12px;background:#f4ede3;border:1px solid #f4ede3;color:#582c39;font-size:11px;text-transform:uppercase;letter-spacing:1.9px;font-weight:700;position:relative}.cta:disabled{opacity:.74;cursor:not-allowed}.cta:not(:disabled):hover{background:#e6d6cd}.footnote{font-family:'EB Garamond',serif;font-size:16px;text-align:center;margin:16px 0 0;color:#ddbec3;font-style:italic}.site-footer{border-top:1px solid var(--line);max-width:1230px;margin:auto;padding:26px 0 42px;display:flex;justify-content:space-between;color:#988a80;font-size:10px;letter-spacing:1px}.site-footer strong{font-family:'GFS Didot','EB Garamond',serif;font-size:24px;letter-spacing:0;font-weight:400;color:var(--wine)}dialog{border:1px solid var(--line);padding:0;max-width:min(430px,90vw);width:100%;background:var(--ivory);color:var(--ink);box-shadow:0 16px 60px #24131c55}dialog::backdrop{background:#21182299}.modal-inner{padding:34px 38px 32px}.modal-inner h2{font-family:'EB Garamond',serif;font-size:41px;font-weight:400;color:var(--wine);margin:15px 0}.modal-inner p{font-family:'EB Garamond',serif;font-size:19px;color:#817178}.modal-inner label{display:block;font-size:11px;color:#67575e;margin:16px 0}.modal-inner input,.modal-inner textarea{width:100%;padding:11px;margin-top:7px;background:white;border:1px solid var(--line);color:var(--ink)}.modal-inner .cta{background:var(--wine);color:white}.modal-close{float:right;background:transparent;border:0;font-size:24px;color:var(--wine)}.demo-pill{position:relative;width:max-content;margin:12px auto 20px;border:1px solid #cdbbb6;background:#fff9f3;padding:10px 17px;color:#785361;font-size:10px;letter-spacing:1px;box-shadow:0 4px 18px #0001;z-index:9}#message{font-size:15px;color:#846674;font-family:'EB Garamond',serif;min-height:20px}
@media(max-width:900px){.site-header{padding:0 24px}.hero{padding:0 24px;grid-template-columns:55% 45%}.hero h1{font-size:57px}.inner-wrap{padding:38px 24px}.booking-grid{grid-template-columns:1fr}.note-card{min-height:385px}.site-footer{margin:0 24px}}@media(max-width:620px){.top-ribbon{font-size:7px;letter-spacing:1.15px;white-space:nowrap}.site-header{height:72px;padding:0 16px}.brand{font-size:32px}.header-middle{display:none}.hero{display:flex;flex-direction:column;padding:0 20px;min-height:unset}.hero-copy{padding:37px 0 19px}.hero h1{font-size:56px;letter-spacing:-1.4px;margin:19px 0 15px}.hero p{font-size:19px}.signature{margin:20px 0 5px}.hero-art{padding:10px 0 25px;width:100%}.print-frame{height:215px}.inner-wrap{padding:32px 12px 38px}.calendar-intro{padding:0 12px;display:block}.calendar-intro h2{font-size:39px}.calendar-intro p{font-size:15px;max-width:none;text-align:left;margin-top:10px}.calendar-card{padding:19px 11px}.month-title{font-size:25px}.week-row,.day-grid{gap:4px}.date-cell{height:52px}.date-cell strong{font-size:19px}.date-cell small{font-size:7px}.legend{gap:11px}.note-card{padding:28px 24px}.site-footer{padding:26px 0 60px;gap:12px;flex-wrap:wrap;font-size:9px}.demo-pill{font-size:9px;padding:8px}}

/* Design review 03: wide editorial layout with a restrained burgundy/forest/parchment woven tartan. */
:root{--forest:#25493f;--moss:#37574a;--claret:#6d3343;--sand:#dac7ab}
body{background:#f3eee7}
.top-ribbon{
  height:47px;letter-spacing:1.75px;font-size:9px;font-weight:700;color:#faf6ed;
  background-color:#29463e;
  background-image:
    repeating-linear-gradient(0deg,transparent 0 21px,rgba(109,51,67,.83) 21px 29px,transparent 29px 42px,rgba(231,207,165,.73) 42px 44px,transparent 44px 65px),
    repeating-linear-gradient(90deg,transparent 0 19px,rgba(109,51,67,.76) 19px 30px,transparent 30px 46px,rgba(231,207,165,.65) 46px 48px,transparent 48px 67px),
    repeating-linear-gradient(0deg,transparent 0 4px,rgba(244,233,213,.08) 4px 5px,transparent 5px 10px),
    repeating-linear-gradient(90deg,transparent 0 4px,rgba(244,233,213,.08) 4px 5px,transparent 5px 10px);
  background-blend-mode:normal;
  border-bottom:2px solid #aa8c75;
}
.ribbon-label{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 22px;background:#f5efe4;color:#633547;border:1px solid #b69a85;box-shadow:0 1px 0 #3b2832;white-space:nowrap}
.site-header{height:72px;max-width:1460px;padding:0 42px;border-bottom:1px solid #d5c4b9}
.brand{font-size:38px}
.main-layout{max-width:1460px;margin:0 auto;display:grid;grid-template-columns:minmax(290px,.77fr) minmax(0,2fr);gap:26px;padding:36px 42px 38px}
.hero{max-width:none;margin:0;display:flex;flex-direction:column;min-height:unset;padding:0 28px 0 0;border-bottom:0;border-right:1px solid #d8c8bd}
.hero-copy{padding:10px 0 10px}
.hero h1{font-size:clamp(48px,4.25vw,65px);line-height:1.015;letter-spacing:-1.5px;margin:18px 0 17px}
.hero p{font-size:18px;max-width:350px;line-height:1.36}
.signature{font-size:19px;margin-top:19px}
.hero-art{margin-top:0;display:block;flex:none;padding:12px 4px 0 0;overflow:visible}
.print-frame{height:194px;box-shadow:3px 4px 0 #e3dbd2}
.engraving-label{font-size:7px;letter-spacing:1.65px;padding:9px 0 5px}
.inner-wrap{max-width:none;padding:0;margin:0;min-width:0}
.calendar-intro{min-height:75px;margin:0 0 16px;align-items:end}
.calendar-intro h2{font-size:38px}
.calendar-intro p{font-size:16px}
.booking-grid{grid-template-columns:minmax(0,1.7fr) minmax(250px,.88fr);gap:14px;align-items:stretch}
.calendar-card{padding:21px 19px 17px;box-shadow:none}
.month{padding-bottom:13px}
.month-title{font-size:25px}
.week-row{margin:14px 0 6px}
.week-row,.day-grid{gap:4px}
.date-cell{height:51px;gap:4px}
.date-cell strong{font-size:19px}
.legend{gap:9px;margin-top:14px;padding-top:14px;font-size:9px}
.swatch{width:9px;height:9px}
.selection-instruction{font-size:15px;margin-top:11px}
.note-card{padding:23px 22px}
.note-title{font-size:43px;margin:24px 0 14px}
.note-body{font-size:18px;line-height:1.33;margin:0 0 20px}
.note-card .choice{font-size:20px;line-height:1.2;margin:10px 0 16px}
.note-rule{margin:0 0 15px}
.cta{padding:13px 8px;letter-spacing:1.15px}
.footnote{font-size:14px;margin-top:13px}
.site-footer{max-width:1376px;padding:18px 0 30px;margin:0 42px}
.demo-pill{margin:6px auto 16px}
@media(min-width:1450px){.site-footer{margin-left:auto;margin-right:auto}}
@media(max-width:1230px){
 .main-layout{grid-template-columns:minmax(260px,.66fr) minmax(0,1.9fr);gap:20px;padding:27px 23px 30px}
 .hero{padding-right:18px}.hero h1{font-size:49px}
 .calendar-intro p{font-size:15px}
 .booking-grid{grid-template-columns:minmax(0,1.55fr) minmax(220px,.9fr);gap:11px}
 .calendar-card{padding:15px 11px}.note-card{padding:20px 17px}.note-title{font-size:39px}
 .site-footer{margin:0 23px}
}
@media(max-width:1020px){
 .main-layout{display:block;max-width:900px;padding:25px 24px}
 .hero{border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1.1fr .9fr;gap:24px;padding:0 0 20px;align-items:center}
 .hero-copy{padding:10px 0}.hero-art{padding:0}
 .print-frame{height:220px}
 .inner-wrap{padding:20px 0 0}
 .booking-grid{grid-template-columns:minmax(0,1.4fr) minmax(240px,.87fr)}
}
@media(max-width:700px){
 .top-ribbon{height:39px;font-size:8px;letter-spacing:1px}
 .ribbon-label{height:25px;padding:0 13px}
 .site-header{padding:0 17px;height:66px}.brand{font-size:31px}.header-middle{display:none}
 .main-layout{padding:21px 14px 22px}
 .hero{display:block;padding:0 5px 19px}
 .hero h1{font-size:clamp(43px,11vw,58px);margin:16px 0}
 .hero p{font-size:18px}.hero-art{padding:15px 0 0}
 .print-frame{height:170px}.engraving-label{font-size:7px}
 .inner-wrap{padding:24px 0 0}
 .calendar-intro{display:block;padding:0 4px;min-height:unset;margin-bottom:14px}
 .calendar-intro h2{font-size:34px}.calendar-intro p{max-width:none;text-align:left;margin-top:7px}
 .booking-grid{grid-template-columns:1fr;gap:13px}
 .calendar-card{padding:16px 10px}.date-cell{height:47px}
 .note-card{min-height:320px;padding:25px}.note-title{font-size:44px}
 .site-footer{margin:0 15px;padding-bottom:20px}
}

/* Local events layer */
.whats-on{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0 12px;margin:0 0 12px;border-bottom:1px solid var(--line)}
.whats-on strong{display:block;font-size:12px;letter-spacing:.3px;color:#5e3745}
.whats-on small{display:block;margin-top:4px;font-size:10px;color:#8d7776}
.whats-on-toggle{position:relative;display:inline-flex;align-items:center}
.whats-on-toggle input{position:absolute;opacity:0;inset:0;cursor:pointer;width:100%;height:100%;margin:0}
.whats-on-toggle i{display:block;width:40px;height:23px;border-radius:30px;background:#cfc1b8;border:1px solid #bba9a0;transition:.2s}
.whats-on-toggle i:before{content:'';display:block;width:16px;height:16px;border-radius:50%;background:#fffdfa;margin:2px;transition:.2s}
.whats-on-toggle input:checked+i{background:#3b594a;border-color:#3b594a}
.whats-on-toggle input:checked+i:before{transform:translateX(17px)}
.whats-on-toggle input:focus-visible+i{outline:2px solid #623244;outline-offset:3px}
.event-dot{width:6px;height:6px;background:#3b594a;border-radius:50%;margin-top:-3px}
.date-cell[data-kind=selected] .event-dot{background:#e4cbad}
#event-panel[hidden]{display:none}
#event-panel{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}
#event-panel h3{font:normal 23px 'EB Garamond',serif;margin:0 0 7px;color:#633949}
.event-item{padding:9px 0;border-bottom:1px solid #eee5dd;display:flex;gap:14px}
.event-item time{min-width:70px;color:#806d6e;font-size:10px;font-weight:700}
.event-item strong{font:normal 18px 'EB Garamond',serif;color:#49373e}
.event-item p{font-size:11px;color:#806e70;margin:4px 0}
.event-item a{font-size:10px;color:#633949;text-decoration:underline}
#host-events{max-height:170px;overflow:auto;margin:12px 0}
#host-events article{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);font-size:11px}
#host-events button{border:1px solid var(--line);background:transparent;padding:5px;color:var(--wine)}
#event-editor .modal-inner{max-height:80vh;overflow-y:auto}
.preview-only{font-size:11px!important;color:#907a7a!important}

/* Production integration, separate from the approved design prototype */
.date-cell:disabled{cursor:not-allowed;opacity:.45}.date-cell[data-kind=pending]:disabled,.date-cell[data-kind=blocked]:disabled{opacity:.82}.date-cell[data-kind=confirmed]{background:#dccbd0;opacity:.82;cursor:not-allowed}
.event-item p{word-wrap:break-word}.error-message{font:13px Arial,sans-serif;color:#8a3444}.success-box{text-align:center;padding:18px 0 7px}.success-box h2{font:normal 43px 'EB Garamond',Georgia,serif;color:var(--wine);margin:8px 0}.success-box p{font:19px 'EB Garamond',Georgia,serif}
.hidden{display:none!important}.access-form{display:grid;gap:14px}.access-form label{font-size:12px;display:block}.access-form input{display:block;padding:12px;border:1px solid var(--line);width:100%;margin:9px 0}.access-form .cta{background:var(--wine);color:white}
#request-form input:required{border-color:#b8989e}
#message[role=status]{line-height:1.4}

/* Victorian editorial events agenda: quiet date markers, considered spacing, no calendar clutter */
#event-panel{padding-top:20px;margin-top:17px;border-top:1px solid #d9c6ba}
.events-heading{display:flex;justify-content:space-between;align-items:end;gap:10px}
.events-heading h3{font:normal 26px 'EB Garamond',Georgia,serif;color:#5a3040;margin:3px 0}
.events-heading .overline{font-size:8px;letter-spacing:1.5px;color:#977d77}
.event-all{background:transparent;color:#633949;border:0;border-bottom:1px solid #aa8c84;font:italic 13px 'EB Garamond',serif;padding:6px 0;cursor:pointer;white-space:nowrap}
.event-guidance{font:13px 'EB Garamond',Georgia,serif;font-style:italic;color:#8a7775;margin:7px 0 12px}
.event-filters{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 13px}
.event-filter{background:#faf7f2;border:1px solid #d9cbc1;border-radius:20px;color:#6e5b59;font:11px 'EB Garamond',Georgia,serif;padding:7px 10px;cursor:pointer}
.event-filter.active{background:#573845;border-color:#573845;color:#fff8ef}
.event-filter:focus-visible,.event-all:focus-visible{outline:2px solid #603246;outline-offset:3px}
.event-card{background:#fcfaf7;border:1px solid #e4d9d1;padding:12px 13px;margin:7px 0;display:block;box-shadow:1px 2px 0 #f0e8e1}
.event-card-meta{display:flex;justify-content:space-between;align-items:center;gap:9px;margin-bottom:7px}
.event-card time{min-width:0;font:10px 'EB Garamond',serif;letter-spacing:.6px;color:#886c6f}
.event-card-tag{font-size:9px;letter-spacing:.2px;border:1px solid #dccbc3;border-radius:20px;padding:3px 8px;color:#7b5a5d;background:#f6efea}
.event-card[data-category=holidays] .event-card-tag{background:#f2e5d8;border-color:#dcc2ab;color:#77552c}
.event-card[data-category=markets] .event-card-tag{background:#e9eee9;border-color:#c6d3c7;color:#45604c}
.event-card-body strong{font:normal 21px 'EB Garamond',Georgia,serif;color:#523340}
.event-card-when{font:11px 'EB Garamond',Georgia,serif;color:#846b6f;margin:4px 0 8px}
.event-card-body p{font:13px/1.45 'EB Garamond',Georgia,serif;color:#695f5e;margin:0 0 8px}
.event-card-body a{display:inline-block;font:12px 'EB Garamond',Georgia,serif;color:#663849;text-underline-offset:3px}
.event-empty{font:italic 15px 'EB Garamond',Georgia,serif;color:#8c7977;padding:12px 3px}
.date-cell{position:relative}
.event-markers{position:absolute;bottom:4px;left:50%;transform:translateX(-50%);display:flex;gap:3px;pointer-events:none}
.event-marker{width:5px;height:5px;border-radius:50%;background:#577763;box-shadow:0 0 0 1px #fff9f4}
.holiday-marker{background:#a77a38}
.date-cell.event-focused{outline:2px solid #99794b;outline-offset:-2px}
.date-cell[data-kind=selected] .event-marker{box-shadow:none;background:#e1d4c2}
.date-cell:disabled .event-markers{opacity:1}
@media(max-width:700px){.events-heading h3{font-size:24px}.event-filter{font-size:11px;padding:7px 9px}.event-card{padding:11px}.event-card-body p{font-size:13px}}

/* Keep the tartan invitation ribbon and title anchored as one scrolling masthead. */
.top-ribbon{position:sticky;top:0;z-index:1010}
.site-header{position:sticky;top:27px;z-index:1009;background:var(--paper);box-shadow:0 5px 14px rgba(57,35,43,.08)}
@media(max-width:700px){.site-header{top:39px}}

/* Prevent sticky masthead contents from compressing when the viewport narrows. */
.site-header{width:100%;min-height:72px;flex-wrap:nowrap;gap:18px}
.site-header .brand{flex:0 0 auto;white-space:nowrap;line-height:1.1}
.site-header .header-middle{flex:1 1 auto;min-width:0;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.site-header .host{flex:0 0 auto;white-space:nowrap}
.top-ribbon .ribbon-label{flex:0 1 auto;max-width:calc(100% - 16px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:700px){
 .site-header{height:66px;min-height:66px;gap:8px;padding-inline:12px}
 .site-header .brand{font-size:clamp(24px,6vw,31px);letter-spacing:-1px}
 .site-header .host{font-size:10px;letter-spacing:0;padding:7px 0}
 .top-ribbon{height:39px;min-height:39px}
}

/* Refined Scottish invitation: staggered typographic hierarchy, not awkward auto-wrap. */
.hero .invitation-headline{display:flex;flex-direction:column;align-items:flex-start;gap:2px;max-width:100%;margin:18px 0 20px;line-height:1.08;letter-spacing:0}
.invitation-headline .headline-city{display:block;font-family:'GFS Didot','EB Garamond',Georgia,serif;font-size:clamp(42px,4vw,65px);line-height:1.16;letter-spacing:-1.7px;white-space:nowrap}
.invitation-headline .headline-colon{color:var(--wine);padding-left:2px}
.invitation-headline .headline-invitation{display:block;font-family:'EB Garamond',Georgia,serif;font-size:clamp(25px,2.3vw,34px);line-height:1.15;letter-spacing:-.5px;white-space:nowrap;margin-top:5px}
.invitation-headline .headline-flourish{display:block;font-family:'EB Garamond',Georgia,serif;font-weight:400;font-style:italic;font-size:clamp(36px,3.6vw,56px);line-height:1.1;letter-spacing:-.9px;color:var(--wine);white-space:nowrap}
@media(max-width:1230px){
 .invitation-headline .headline-city{font-size:clamp(39px,3.7vw,53px)}
 .invitation-headline .headline-invitation{font-size:clamp(23px,2.2vw,30px)}
 .invitation-headline .headline-flourish{font-size:clamp(33px,3.2vw,47px)}
}
@media(max-width:700px){
 .hero .invitation-headline{gap:3px;margin:14px 0 18px}
 .invitation-headline .headline-city{font-size:clamp(44px,11vw,62px)}
 .invitation-headline .headline-invitation{font-size:clamp(25px,6.8vw,35px)}
 .invitation-headline .headline-flourish{font-size:clamp(39px,10.2vw,54px)}
}
