/* Yanick Lesperance · Le Sentier v6 · styles */
@font-face{font-family:'Lilita One';src:url('../assets/fonts/LilitaOne-Regular.woff2') format('woff2');font-display:swap;}
@font-face{font-family:'EB Garamond';src:url('../assets/fonts/EBGaramond-Regular.woff2') format('woff2');font-style:normal;font-display:swap;}
@font-face{font-family:'EB Garamond';src:url('../assets/fonts/EBGaramond-Italic.woff2') format('woff2');font-style:italic;font-display:swap;}
@font-face{font-family:'Josefin Sans';src:url('../assets/fonts/JosefinSans-Regular.woff2') format('woff2');font-display:swap;}
@font-face{font-family:'Courier Prime';src:url('../assets/fonts/CourierPrime-Regular.woff2') format('woff2');font-display:swap;}

:root{
  --vanilla:#F8F4E8; --honey:#EAD7B2; --olive:#4F583B; --amber:#D9A450; --citrus:#F4B840;
  --olive-soft:rgba(79,88,59,.78);
  --gutter:clamp(20px,5vw,72px);
  --display:'Lilita One',sans-serif;
  --serif:'EB Garamond',Georgia,serif;
  --label:'Josefin Sans',sans-serif;
  --note:'Courier Prime','Courier New',monospace;
  --ease:cubic-bezier(.22,.7,.2,1);
  --soft:cubic-bezier(.16,1,.3,1);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{background:var(--vanilla);color:var(--olive);font-family:var(--serif);font-size:20px;line-height:1.55;overflow-x:hidden;-webkit-font-smoothing:antialiased;}
img{display:block;max-width:100%;}
a{color:inherit;}
:focus-visible{outline:2px solid var(--amber);outline-offset:4px;border-radius:2px;}
::selection{background:var(--citrus);color:var(--olive);}

/* light paper grain */
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.06;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .31  0 0 0 0 .34  0 0 0 0 .23  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");}

.label{font-family:var(--label);text-transform:uppercase;letter-spacing:.3em;font-size:12px;line-height:1.6;}
.typed{font-family:var(--note);}
.wrap{padding-left:var(--gutter);padding-right:var(--gutter);max-width:1520px;margin:0 auto;}
.display{font-family:var(--display);font-weight:400;text-transform:uppercase;}

/* ================= HERO ================= */
.hero{position:relative;height:max(620px,100svh);overflow:hidden;background:#b9b9b6;container-type:size;--s:max(100cqw / 1920, 100cqh / 1280);}
.hero .layer{position:absolute;inset:0;will-change:transform;}
.hero .photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;}
.topbar{position:absolute;z-index:3;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:clamp(20px,3.4vw,44px) var(--gutter) 0;}
.logo{font-family:var(--display);font-size:clamp(22px,2.6vw,36px);line-height:1;text-transform:uppercase;text-decoration:none;color:var(--olive);}
.nav{display:flex;gap:clamp(16px,2.6vw,38px);padding-top:0;}
.nav a{font-family:var(--label);font-size:12px;letter-spacing:.3em;text-transform:uppercase;text-decoration:none;color:var(--olive);padding:8px 0 6px;background:linear-gradient(var(--amber),var(--amber)) 0 100%/0 1.5px no-repeat;transition:background-size .35s var(--ease);}
.nav a:hover{background-size:100% 1.5px;}

.headline{position:absolute;z-index:2;left:var(--gutter);right:var(--gutter);top:clamp(130px,24cqh,250px);will-change:transform,opacity;}
.headline h1{font-size:clamp(54px,9.2vw,138px);line-height:.92;margin-top:18px;color:var(--olive);}
.headline .real{font-style:italic;font-size:clamp(32px,4.4vw,64px);line-height:1.05;margin-top:10px;padding-left:.1em;}

/* field note pinned to the couple (1 image px = --s) */
.anchor{position:absolute;z-index:2;left:calc(50% + 70 * var(--s));top:calc(50% + 150 * var(--s));width:0;height:0;}
.anchor .ring{position:absolute;left:calc(-60 * var(--s));top:calc(-18 * var(--s));width:calc(120 * var(--s));height:calc(168 * var(--s));border:1.2px solid var(--vanilla);border-radius:50%;opacity:.85;}
.anchor svg.lead{position:absolute;left:calc(40 * var(--s));top:-108px;width:150px;height:110px;overflow:visible;}
.anchor .card{position:absolute;left:calc(40 * var(--s) + 140px);top:-176px;width:250px;background:var(--vanilla);padding:16px 18px 15px 20px;border-left:2px solid var(--amber);box-shadow:0 18px 30px -22px rgba(40,44,30,.55);}
.anchor .card p{font-family:var(--note);font-size:14px;line-height:1.5;}
.anchor .card .sig{display:block;margin-top:8px;color:var(--amber);font-size:12px;letter-spacing:.04em;}

.press{position:absolute;z-index:2;left:var(--gutter);bottom:clamp(22px,4cqh,40px);color:var(--vanilla);display:flex;align-items:center;gap:14px;}
.press i{display:inline-block;width:34px;height:1px;background:var(--amber);}
.scrollcue{position:absolute;z-index:2;left:50%;bottom:22px;width:1px;height:46px;background:rgba(248,244,232,.35);overflow:hidden;}
.scrollcue::after{content:'';position:absolute;left:0;top:-50%;width:1px;height:50%;background:var(--vanilla);}

/* ================= STAMP ================= */
.seam{position:relative;height:0;z-index:5;}
.stamp{position:absolute;right:calc(var(--gutter) + 10px);top:-86px;width:172px;height:172px;border-radius:50%;background:var(--vanilla);box-shadow:0 14px 30px -18px rgba(40,44,30,.5);}
.stamp svg{position:absolute;inset:0;width:100%;height:100%;}
.stamp .ringtext{transform-origin:100px 100px;}

/* ================= SHARED REVEALS ================= */
.js:not(.still) .rv{opacity:0;transform:translate3d(0,34px,0);transition:opacity 1s var(--soft),transform 1.2s var(--soft);transition-delay:var(--d,0s);}
.js:not(.still) .rv.in{opacity:1;transform:none;}
.js:not(.still) .rise{clip-path:inset(0 0 100% 0);transform:translate3d(0,.35em,0);transition:clip-path 1.1s var(--soft),transform 1.1s var(--soft);transition-delay:var(--d,0s);}
.js:not(.still) .rise.in{clip-path:inset(-10% -5% -20% -5%);transform:none;}

/* photo frames: straight, clean, unveil + parallax */
.ph{position:relative;overflow:hidden;background:var(--honey);}
.ph img{width:100%;height:100%;object-fit:cover;transform:translate3d(0,var(--py,0px),0) scale(1.1);will-change:transform;}
.js:not(.still) .ph{clip-path:inset(100% 0 0 0);transition:clip-path 1.3s var(--soft);transition-delay:var(--d,0s);}
.js:not(.still) .ph.in{clip-path:inset(0 0 0 0);}
.still .ph img{transform:none;}

/* sections that open to full width as they arrive */
.sheetwrap{background:var(--under,var(--vanilla));}
.sheet{--p:1;clip-path:inset(0 calc((1 - var(--p)) * 5vw) 0 calc((1 - var(--p)) * 5vw) round calc((1 - var(--p)) * 56px) calc((1 - var(--p)) * 56px) 0 0);}

/* ================= MANIFESTO ================= */
.manifesto{padding-top:clamp(110px,13vw,190px);padding-bottom:clamp(70px,8vw,120px);}
.manifesto .grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(30px,5vw,90px);align-items:end;}
.big{font-weight:400;font-style:italic;font-size:clamp(50px,7.6vw,118px);line-height:.98;letter-spacing:-.015em;}
.manifesto .lede{font-size:clamp(19px,1.7vw,24px);line-height:1.6;max-width:30em;padding-bottom:.6em;}

.page{margin-top:clamp(60px,7vw,110px);position:relative;background:#FBF8EF;--m:clamp(56px,7vw,110px);
  padding:clamp(34px,4.4vw,64px) clamp(24px,4.4vw,70px) clamp(30px,4vw,56px) var(--m);
  background-image:linear-gradient(90deg,transparent calc(var(--m) - 22px),rgba(217,164,80,.6) calc(var(--m) - 22px),rgba(217,164,80,.6) calc(var(--m) - 21px),transparent calc(var(--m) - 21px));
  box-shadow:0 30px 50px -40px rgba(40,44,30,.45);}
.page .pagehead{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:28px;}
.page .pagehead .typed{font-size:14px;color:var(--olive-soft);}
.entries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px clamp(30px,5vw,80px);}
.entry .num{font-family:var(--note);font-size:15px;color:var(--amber);}
.entry h3{font-size:clamp(23px,2.2vw,30px);line-height:1.05;margin-top:6px;}
.entry p{font-size:19px;line-height:1.6;margin-top:8px;max-width:30em;}

/* ================= STORIES ================= */
.stories{padding-top:clamp(50px,6vw,90px);padding-bottom:clamp(90px,10vw,150px);}
.sechead{display:flex;justify-content:space-between;align-items:flex-end;gap:16px 30px;flex-wrap:wrap;}
.sechead h2{font-size:clamp(40px,5.4vw,78px);line-height:.95;}
.sechead .aside{font-style:italic;font-size:clamp(21px,2vw,28px);line-height:1.3;}
.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.4vw,34px);margin-top:clamp(36px,4.6vw,64px);}
.gallery figure{margin:0;}
.gallery .wide{grid-column:1 / -1;}
.gallery .wide .ph{aspect-ratio:16/8.4;}
.gallery .half .ph{aspect-ratio:3/2;}
.gallery figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:8px 20px;flex-wrap:wrap;padding-top:14px;}
.gallery figcaption .typed{font-size:14px;}
.gallery figcaption .typed b{font-weight:400;color:var(--amber);}
.gallery figcaption em{font-size:18px;color:var(--olive-soft);}
.gallery .half figcaption{display:block;}
.gallery .half figcaption em{display:block;margin-top:4px;}
.storynote{margin:clamp(50px,6vw,80px) auto 0;max-width:640px;text-align:center;}
.storynote .pine{width:20px;margin:0 auto 18px;}
.storynote p{font-family:var(--note);font-size:15px;line-height:1.75;color:var(--olive-soft);}

/* ================= MARQUEE BANDS ================= */
.band{overflow:hidden;white-space:nowrap;padding:clamp(18px,2.4vw,30px) 0;border-top:1px solid rgba(217,164,80,.6);border-bottom:1px solid rgba(217,164,80,.6);}
.band .track{display:inline-flex;align-items:center;animation:slide var(--dur,46s) linear infinite;will-change:transform;}
.band.rev .track{animation-direction:reverse;}
.band .item{display:inline-flex;align-items:center;gap:clamp(22px,3vw,44px);padding-right:clamp(22px,3vw,44px);font-style:italic;font-size:clamp(28px,4vw,56px);line-height:1;}
.band .item img{height:.8em;width:auto;}
.band .item .dot{color:var(--amber);font-style:normal;font-size:.6em;}
@keyframes slide{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.still .band .track{animation:none;}

/* ================= DESTINATIONS ================= */
.destinations{position:relative;background:var(--honey);padding-top:clamp(90px,10vw,150px);padding-bottom:clamp(100px,11vw,160px);overflow-x:clip;}
.destinations .compass{position:absolute;right:calc(var(--gutter) * -0.4);top:50%;width:clamp(200px,30vw,440px);margin-top:calc(clamp(200px,30vw,440px) / -2);opacity:.16;pointer-events:none;}
.destinations .intro{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,5vw,80px);align-items:end;}
.destinations h2{font-size:clamp(36px,5.2vw,76px);line-height:.95;}
.destinations .intro p{font-size:clamp(19px,1.6vw,23px);max-width:28em;}
.places{list-style:none;margin-top:clamp(46px,6vw,90px);position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(24px,4vw,60px);}
.places li{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:14px 0 13px;border-bottom:1px solid rgba(79,88,59,.22);}
.places .pl{font-style:italic;font-size:clamp(22px,2.1vw,30px);line-height:1.15;}
.places .pr{font-family:var(--label);font-size:11px;letter-spacing:.26em;text-transform:uppercase;text-align:right;color:var(--olive-soft);}
.further{margin-top:clamp(36px,4vw,60px);display:flex;gap:10px 18px;align-items:baseline;flex-wrap:wrap;position:relative;}
.further .typed{font-size:15px;}
.further em{font-size:clamp(21px,2vw,28px);}

/* ================= THE MAN ================= */
.theman{background:var(--olive);color:var(--vanilla);padding-top:clamp(100px,11vw,160px);padding-bottom:clamp(100px,11vw,160px);}
.theman .grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(40px,6vw,110px);align-items:center;}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,1.6vw,22px);}
.duo .ph{aspect-ratio:4/5;background:rgba(234,215,178,.15);}
.duo .one img{object-position:42% 30%;}
.duo .two img{object-position:42% 40%;}
.theman .who{color:var(--honey);}
.theman h2{font-size:clamp(50px,6.4vw,96px);line-height:.92;margin-top:20px;}
.theman .less{font-style:italic;font-size:clamp(27px,3vw,44px);color:var(--honey);margin-top:12px;line-height:1.1;}
.theman .quiet{font-size:clamp(19px,1.7vw,23px);line-height:1.65;margin-top:30px;max-width:27em;}
.facts{list-style:none;margin-top:38px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(234,215,178,.3);}
.facts li{padding:20px 14px 4px 0;}
.facts li + li{padding-left:20px;border-left:1px solid rgba(234,215,178,.3);}
.facts b{display:block;font-family:var(--display);font-weight:400;font-size:clamp(34px,3.4vw,50px);line-height:1;color:var(--citrus);font-variant-numeric:tabular-nums;}
.facts span{display:block;font-family:var(--label);font-size:11px;letter-spacing:.24em;text-transform:uppercase;margin-top:10px;line-height:1.7;color:var(--honey);}
.shake{margin-top:34px;font-family:var(--note);font-size:15px;color:var(--honey);display:flex;gap:12px;align-items:baseline;}
.shake::before{content:'';flex:0 0 28px;height:1px;background:var(--amber);transform:translateY(-4px);}

/* ================= CONTACT ================= */
.contact{background:var(--honey);padding-top:clamp(100px,11vw,160px);padding-bottom:clamp(100px,11vw,150px);}
.contact .grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(40px,6vw,100px);align-items:start;}
.contact h2{font-size:clamp(60px,8vw,124px);line-height:.9;margin-top:20px;}
.contact .tell{font-style:italic;font-size:clamp(29px,3.2vw,48px);line-height:1.1;margin-top:12px;}
.contact .how{font-size:clamp(19px,1.5vw,21px);margin-top:28px;max-width:24em;}
.contact .base{margin-top:30px;color:var(--olive-soft);}
form.letter{position:relative;background:#FBF8EF;padding:clamp(28px,4vw,54px) clamp(22px,4vw,54px) clamp(28px,3.6vw,46px);border-top:3px solid var(--amber);box-shadow:0 34px 50px -40px rgba(40,44,30,.5);}
.field{display:block;margin-bottom:22px;}
.field > span{display:block;font-family:var(--note);font-size:14px;color:var(--olive-soft);}
.field input,.field textarea{display:block;width:100%;border:0;border-bottom:1px solid rgba(79,88,59,.35);background:transparent;font-family:var(--serif);font-size:21px;color:var(--olive);padding:6px 0 7px;border-radius:0;transition:border-color .25s;}
.field textarea{resize:vertical;min-height:136px;line-height:34px;padding-top:2px;border-bottom:0;background:repeating-linear-gradient(180deg,transparent 0 33px,rgba(79,88,59,.3) 33px 34px);}
.field input:focus,.field textarea:focus{outline:none;border-bottom-color:var(--amber);}
.field input::placeholder,.field textarea::placeholder{color:rgba(79,88,59,.42);font-style:italic;}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;}
.send{margin-top:10px;display:inline-flex;align-items:center;gap:14px;border:0;cursor:pointer;background:var(--olive);color:var(--vanilla);font-family:var(--label);font-size:13px;letter-spacing:.28em;text-transform:uppercase;padding:19px 30px 17px;border-radius:999px;transition:background .25s,color .25s,transform .25s var(--ease);}
.send:hover{background:var(--citrus);color:var(--olive);transform:translateY(-2px);}
.sent{display:none;font-family:var(--note);font-size:15px;margin-top:18px;}
form.letter.done .sent{display:block;}

/* ================= FOOTER ================= */
footer{background:var(--olive);color:var(--vanilla);padding-top:clamp(60px,7vw,90px);padding-bottom:clamp(96px,9vw,110px);}
footer .band{color:var(--honey);border-color:rgba(217,164,80,.35);margin-bottom:clamp(50px,6vw,80px);}
.foottop{display:flex;justify-content:space-between;align-items:center;gap:30px 40px;flex-wrap:wrap;}
.mono{display:flex;align-items:flex-end;gap:12px;text-decoration:none;}
.mono img{height:54px;width:auto;}
.mono span{font-family:var(--display);font-size:44px;line-height:.9;color:var(--vanilla);}
.icons{display:flex;align-items:flex-end;gap:34px;}
.icons img{opacity:.9;width:auto;}
.footbot{margin-top:46px;padding-top:24px;border-top:1px solid rgba(234,215,178,.25);display:flex;justify-content:space-between;gap:14px 20px;flex-wrap:wrap;color:var(--honey);}
.footbot a{display:inline-block;padding:6px 0;text-decoration:none;font-family:var(--note);font-size:15px;color:var(--vanilla);}
.footbot a:hover{color:var(--citrus);}


/* v3 */
.todo{background:rgba(234,215,178,.55);display:flex;align-items:center;justify-content:center;outline:1px dashed rgba(79,88,59,.35);outline-offset:-10px;}
.theman .todo{background:rgba(234,215,178,.12);outline-color:rgba(234,215,178,.4);}
.todo-in{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:20px;}
.ph .todo-in img{width:20px;height:auto;transform:none;}
.todo-in .typed{font-size:13px;}
.todo-in em{font-size:18px;}
.destinations .block + .block{margin-top:clamp(80px,9vw,140px);padding-top:clamp(70px,8vw,120px);border-top:1px solid rgba(79,88,59,.25);}
.places .grp{grid-column:1 / -1;display:block;border:0;padding:clamp(26px,3vw,40px) 0 4px;font-family:var(--label);font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--amber);}
.places .grp:first-child{padding-top:0;}
.feature{margin-top:clamp(40px,5vw,70px);display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:6px clamp(20px,3vw,40px);padding:clamp(24px,3vw,36px) 0;border-top:2px solid var(--olive);border-bottom:2px solid var(--olive);}
.feature .label{grid-column:1 / -1;color:var(--olive-soft);}
.feature .fname{font-size:clamp(64px,11vw,170px);line-height:.85;}
.feature .fsub{font-style:italic;font-size:clamp(20px,2vw,28px);line-height:1.35;}
.field select{display:block;width:100%;border:0;border-bottom:1px solid rgba(79,88,59,.35);border-radius:0;background:transparent url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path d='M1 1l5 5 5-5' fill='none' stroke='%234F583B' stroke-width='1.4'/></svg>") no-repeat right 4px center;font-family:var(--serif);font-size:21px;color:var(--olive);padding:6px 24px 7px 0;-webkit-appearance:none;appearance:none;cursor:pointer;}
.field select:invalid{color:rgba(79,88,59,.5);font-style:italic;}
.field select:focus{outline:none;border-bottom-color:var(--amber);}
.socials{display:flex;gap:10px 28px;flex-wrap:wrap;}
.socials a{display:inline-block;padding:8px 0;font-family:var(--label);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--honey);}
.socials a b{font-weight:400;font-family:var(--note);font-size:15px;letter-spacing:0;text-transform:none;color:var(--vanilla);margin-left:8px;}
.socials a:hover b{color:var(--citrus);}
@media (max-width:860px){ .feature{grid-template-columns:1fr;} }
@media (max-width:600px){
  .nav a:nth-child(1){display:none;}
  .nav a{font-size:11px;letter-spacing:.2em;text-align:right;max-width:10em;line-height:1.5;}
}


/* v4 · ink drawings from the brand book */
.ink-w{display:inline-block;}
.ink{display:block;width:100%;height:auto;}
.js:not(.still) .ink-w .ink{clip-path:inset(0 100% 0 0);transition:clip-path 1.8s cubic-bezier(.65,.05,.36,1);transition-delay:var(--d,0s);}
.js:not(.still) .ink-w.in .ink{clip-path:inset(0 0 0 0);}

.manifesto{position:relative;overflow-x:clip;}
.flyer{position:absolute;pointer-events:none;z-index:1;}
.flyer.plane{top:clamp(34px,5vw,70px);left:0;width:clamp(90px,10vw,140px);}
.flyer.duck{top:clamp(30px,4vw,60px);left:0;width:clamp(56px,5.5vw,80px);}
.js:not(.still) .flyer.plane.in{animation:fly 46s linear infinite;}
.js:not(.still) .flyer.duck.in{animation:fly 34s linear 1s infinite;}
.js:not(.still) .flyer.duck.in .ink{animation:bob 2.6s ease-in-out infinite;}
.still .flyer{left:auto;right:var(--gutter);}
@keyframes fly{0%{transform:translate3d(-25vw,0,0)}100%{transform:translate3d(115vw,-30px,0)}}
@keyframes bob{0%,100%{translate:0 0}50%{translate:0 -6px}}

.entry{position:relative;}
.entry .margin{position:absolute;top:-4px;right:0;width:clamp(44px,4vw,60px);opacity:.9;}
.entry .m-hat{width:clamp(54px,5vw,74px);}
.js:not(.still) .entry .margin.in{animation:sway 6s ease-in-out 2s infinite;transform-origin:50% 90%;}
.js:not(.still) .entry .m-fire.in{animation:flicker 1.6s ease-in-out 2s infinite;transform-origin:50% 100%;}
@keyframes sway{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
@keyframes flicker{0%,100%{transform:scaleY(1);opacity:.9}30%{transform:scaleY(1.05) scaleX(.98);opacity:1}60%{transform:scaleY(.97);opacity:.82}}

.shakerow{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-top:34px;}
.shakerow .shake{margin-top:0;flex:1;padding-bottom:30px;}
.jackson{flex:none;width:clamp(104px,10vw,146px);margin:0;text-align:center;}
.jackson figcaption{font-size:12px;color:var(--honey);margin-top:8px;opacity:.85;}
.js:not(.still) .jackson.in .ink{animation:breathe 5s ease-in-out 2s infinite;transform-origin:50% 100%;}
@keyframes breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.02)}}

.mug{position:relative;width:clamp(70px,6vw,92px);margin-top:44px;}
.mug .steam{position:absolute;left:4%;bottom:88%;width:62%;overflow:visible;}
.mug .steam path{opacity:0;}
.js:not(.still) .mug.in .steam path{animation:steam 3.6s ease-in-out infinite;}
.js:not(.still) .mug.in .steam path:nth-child(2){animation-delay:1.2s}
.js:not(.still) .mug.in .steam path:nth-child(3){animation-delay:2.4s}
.still .mug .steam path{opacity:.4;}
@keyframes steam{0%{opacity:0;transform:translateY(8px)}35%{opacity:.55}100%{opacity:0;transform:translateY(-14px)}}

@media (max-width:600px){
  .entry .margin{width:44px;}
  .entry .m-hat{width:54px;}
  .shakerow{gap:18px;}
}

/* field note moves under the couple when the title needs the sky */
.anchor.below svg.lead{display:none;}
.anchor.below .card{top:calc(158 * var(--s) + 16px)!important;}


/* mobile menu */
.menubtn{display:none;position:fixed;z-index:70;top:max(16px,env(safe-area-inset-top));right:var(--gutter);align-items:center;gap:12px;border:0;cursor:pointer;background:var(--olive);color:var(--vanilla);font-family:var(--label);font-size:12px;letter-spacing:.26em;text-transform:uppercase;padding:13px 18px 12px 20px;border-radius:999px;box-shadow:0 0 0 1.5px rgba(248,244,232,.75),0 14px 26px -14px rgba(40,44,30,.6);transition:background .25s,color .25s;}
.menubtn .mb-lines{position:relative;width:18px;height:8px;}
.menubtn .mb-lines i{position:absolute;left:0;right:0;height:1.5px;background:currentColor;border-radius:2px;transition:transform .45s var(--soft),top .45s var(--soft);}
.menubtn .mb-lines i:first-child{top:0}.menubtn .mb-lines i:last-child{top:6.5px}
.menubtn[aria-expanded="true"]{background:var(--vanilla);color:var(--olive);box-shadow:none;}
.menubtn[aria-expanded="true"] .mb-lines i:first-child{top:3.25px;transform:rotate(45deg);}
.menubtn[aria-expanded="true"] .mb-lines i:last-child{top:3.25px;transform:rotate(-45deg);}
.menupanel{position:fixed;inset:0;z-index:65;background:var(--olive);color:var(--vanilla);visibility:hidden;clip-path:inset(0 0 100% 0);transition:clip-path .7s cubic-bezier(.77,0,.18,1),visibility 0s linear .7s;overflow-y:auto;}
.menupanel.open{visibility:visible;clip-path:inset(0 0 0 0);transition:clip-path .7s cubic-bezier(.77,0,.18,1),visibility 0s;}
.mp-in{min-height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:calc(max(16px,env(safe-area-inset-top)) + 90px) var(--gutter) max(28px,env(safe-area-inset-bottom));}
.mp-pine{width:22px;height:auto;opacity:.95;}
.mp-nav{display:flex;flex-direction:column;gap:clamp(10px,2.4vh,22px);margin:clamp(28px,6vh,60px) 0;}
.mp-nav a{font-family:var(--display);text-transform:uppercase;text-decoration:none;color:var(--vanilla);font-size:clamp(38px,10.5vw,76px);line-height:.95;opacity:0;transform:translateY(28px);transition:opacity .5s var(--soft),transform .7s var(--soft),color .25s;}
.menupanel.open .mp-nav a{opacity:1;transform:none;transition-delay:calc(.28s + var(--i) * .07s);}
.mp-nav a:hover,.mp-nav a:focus-visible{color:var(--citrus);}
.mp-foot{display:flex;flex-direction:column;gap:14px;border-top:1px solid rgba(234,215,178,.3);padding-top:22px;color:var(--honey);opacity:0;transition:opacity .5s ease;}
.menupanel.open .mp-foot{opacity:1;transition-delay:.6s;}
.mp-social{display:flex;gap:26px;}
.mp-social a{font-family:var(--note);font-size:15px;color:var(--vanilla);text-decoration:none;padding:6px 0;}
html.menu-open{overflow:hidden;}
.still .menupanel,.still .mp-nav a,.still .mp-foot{transition:none!important;}
@media (max-width:900px){
  .menubtn{display:inline-flex;}
  .topbar .nav{display:none;}
}
@media (min-width:901px){ .menupanel{display:none;} }

/* back to top */
.totop{position:fixed;z-index:40;right:var(--gutter);bottom:clamp(18px,3vw,32px);width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--olive);color:var(--vanilla);box-shadow:0 0 0 1.5px rgba(248,244,232,.75),0 14px 26px -14px rgba(40,44,30,.6);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .35s var(--ease),transform .35s var(--ease),background .25s,color .25s;}
.totop.show{opacity:1;transform:none;pointer-events:auto;}
.totop:hover{background:var(--citrus);color:var(--olive);}
.totop:hover svg{transform:translateY(-2px);}
.totop svg{transition:transform .25s var(--ease);}
@media (max-width:600px){.totop{width:46px;height:46px;}}
.still .totop{transition:none;}

/* ================= HERO LOAD MOMENT ================= */
.js:not(.still) .hero .photo{animation:develop 2.2s var(--ease) both;}
.js:not(.still) .headline > *{animation:up 1.1s var(--soft) both;}
.js:not(.still) .headline > :nth-child(1){animation-delay:.5s}
.js:not(.still) .headline > :nth-child(2){animation-delay:.65s}
.js:not(.still) .headline > :nth-child(3){animation-delay:.9s}
.js:not(.still) .anchor .ring{animation:fade .8s ease 1.6s both;}
.js:not(.still) .anchor svg.lead path{stroke-dasharray:240;stroke-dashoffset:240;animation:draw 1.1s var(--ease) 1.8s forwards;}
.js:not(.still) .anchor .card{animation:up .8s var(--soft) 2.4s both;}
.js:not(.still) .stamp{animation:press .6s cubic-bezier(.3,1.5,.5,1) 1.2s both;}
.js:not(.still) .stamp .ringtext{animation:spin 50s linear infinite;}
.js:not(.still) .scrollcue::after{animation:cue 2.4s var(--ease) 2.6s infinite;}
.js:not(.still) .press{animation:up 1s var(--soft) 1.2s both;}
@keyframes develop{from{opacity:0;filter:brightness(1.35) contrast(.7);}to{opacity:1;filter:none;}}
@keyframes up{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}
@keyframes fade{from{opacity:0}to{opacity:.85}}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes press{0%{opacity:0;transform:scale(1.5);}100%{opacity:1;transform:scale(1);}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes cue{0%{top:-50%}100%{top:100%}}

/* ================= RESPONSIVE ================= */
@media (max-width:1100px){
  .anchor .card{width:220px;}
  .places{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:900px){
  body{font-size:19px;}
  .nav a:nth-child(2),.nav a:nth-child(3){display:none;}
  .manifesto .grid,.destinations .intro,.theman .grid,.contact .grid{grid-template-columns:1fr;}
  .entries{grid-template-columns:1fr;}
  .theman .grid{gap:56px;}
  .duo{max-width:640px;}
  .stamp{width:136px;height:136px;top:-68px;}
  .anchor svg.lead{left:auto;right:calc(30 * var(--s));top:-104px;transform:scaleX(-1);}
  .anchor .card{left:auto;right:calc(30 * var(--s) + 110px);top:-158px;border-left:0;border-right:2px solid var(--amber);}
  .scrollcue{display:none;}
}
@media (max-width:600px){
  .headline{top:112px;}
  .anchor .card{width:min(220px,58vw);right:auto;left:calc(var(--gutter) - 50cqw - 70 * var(--s));top:-196px;padding:12px 14px 11px;border-right:0;border-left:2px solid var(--amber);}
  .anchor .card p{font-size:12.5px;}
  .anchor svg.lead{width:70px;height:90px;top:-92px;right:calc(30 * var(--s) - 4px);}
  .press{flex-direction:column;align-items:flex-start;gap:4px;font-size:10.5px;letter-spacing:.24em;}
  .press i{display:none;}
  .stamp{width:108px;height:108px;top:-54px;}
  .page{--m:46px;}
  .page .pagehead .typed{display:none;}
  .gallery{grid-template-columns:1fr;}
  .gallery .wide .ph{aspect-ratio:4/3.2;}
  .places{grid-template-columns:1fr;}
  .facts{grid-template-columns:1fr;}
  .facts li + li{padding-left:0;border-left:0;border-top:1px solid rgba(234,215,178,.3);}
  .facts li{padding:16px 0 12px;}
  .row2{grid-template-columns:1fr;}
  .icons{gap:24px;}
  .sheet{clip-path:inset(0 calc((1 - var(--p)) * 4vw) 0 calc((1 - var(--p)) * 4vw) round calc((1 - var(--p)) * 32px) calc((1 - var(--p)) * 32px) 0 0);}
}
@media (max-width:360px){
  .nav a:nth-child(1){display:none;}
  .anchor .card{width:180px;}
}

/* Bloc histoire personnelle, version francaise */
.histoire{max-width:790px;margin:clamp(48px,7vw,90px) auto 0;padding:0 clamp(20px,5vw,72px)}
.histoire p{font-family:"EB Garamond",Georgia,serif;font-size:clamp(19px,1.6vw,23px);line-height:1.65;margin:0 0 26px}
.histoire .fermeture{font-size:clamp(30px,4vw,52px);line-height:1.15;margin-top:56px}
.histoire .signature{font-style:italic;font-size:22px;margin-bottom:0}
