/*
Theme Name: Outside Together Wedding
Author: KAITO & IKUYO
Description: One-page wedding invitation with responsive layout, parallax and RSVP form.
Version: 5.0.0
Text Domain: outside-together-wedding
*/
:root{--cream:#fff6e7;--cream2:#f8ead1;--green:#174b31;--deep:#0d3a24;--pink:#ec8fb0;--gold:#b18a31;--serif:"Shippori Mincho B1","Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",sans-serif;--display:"Imbue",Georgia,serif;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:#102f20}body{margin:0;background:#102f20;color:var(--green);font-family:var(--sans);overflow-x:hidden;-webkit-font-smoothing:antialiased}body.is-loading{overflow:hidden}img{display:block;max-width:100%}button,input,textarea,select{font:inherit}.site-shell{position:relative;width:100%;background:var(--cream);overflow:hidden}.site-content{position:relative}.section{position:relative}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* loading: first 30% of the page remains visible, the white lower curtain opens from center */
.loader{position:fixed;inset:0;z-index:99999;pointer-events:none}.loader__curtain{position:absolute;top:30%;bottom:0;width:50%;background:#fff;transition:transform 1.15s var(--ease)}.loader__curtain--left{left:0}.loader__curtain--right{right:0}.loader__mark{position:absolute;left:50%;top:65%;transform:translate(-50%,-50%);font:italic 500 clamp(68px,22vw,108px)/1 var(--display);color:var(--green);transition:.5s}.loader.is-opening .loader__curtain--left{transform:translateX(-101%)}.loader.is-opening .loader__curtain--right{transform:translateX(101%)}.loader.is-opening .loader__mark{opacity:0;transform:translate(-50%,-60%) scale(.9)}.loader.is-done{display:none}
.parallax{will-change:transform}.reveal-left{opacity:0;transform:translate3d(-12vw,0,0);transition:opacity 1.6s var(--ease),transform 1.6s var(--ease)}.reveal-left.is-visible{opacity:1;transform:translate3d(0,0,0)}
/* HERO */
.hero{position:relative;height:142vw;min-height:520px;max-height:640px;background:var(--cream);overflow:hidden}.hero__small{position:absolute;z-index:5;right:5.5%;top:5.2%;margin:0;text-align:right;color:var(--gold);font-size:clamp(6px,1.75vw,8px);line-height:1.45;letter-spacing:.14em}.hero__name{position:absolute;z-index:6;margin:0;font:500 clamp(76px,24vw,108px)/.72 var(--display);letter-spacing:-.045em;color:var(--green);transform:scaleX(.82);transform-origin:left top}.hero__name--kaito{left:3.2%;top:2.4%}.hero__name--ikuyo{left:29%;top:9.5%}.hero__amp{position:absolute;z-index:4;left:3%;top:8%;font:italic 500 clamp(104px,31vw,140px)/.7 var(--display);color:var(--pink)}.hero__photo-mask{position:absolute;z-index:2;left:18%;right:7%;top:18.5%;height:67%;max-height:430px;border-radius:46% 46% 0 0/21% 21% 0 0;overflow:hidden;background:#ccc}.hero__photo{width:100%;height:116%;object-fit:cover;object-position:50% 8%;transform:translate3d(0,var(--py,0),0) scale(1.035)}.hero__date{position:absolute;z-index:7;right:2%;top:29%;margin:0;writing-mode:vertical-rl;white-space:nowrap;font:500 clamp(10px,3vw,14px)/1 var(--display);letter-spacing:.2em;color:var(--green)}.hero__outside{position:absolute;z-index:9;left:3%;right:2%;top:68%;font:italic 500 clamp(74px,22vw,100px)/.68 var(--display);letter-spacing:-.025em;text-align:center;color:var(--pink);transform:scaleX(.9)}.hero__invited{position:absolute;z-index:5;right:2.1%;bottom:8.5%;margin:0;writing-mode:vertical-rl;font-size:clamp(7px,2vw,9px);letter-spacing:.52em;color:var(--green)}.hero__curve{position:absolute;z-index:1;left:-15%;right:-15%;bottom:-11%;height:22%;border-radius:50% 50% 0 0/70% 70% 0 0;background:var(--cream2);transform:rotate(-3deg)}
/* GREETING */
.greeting{min-height:178vw;max-height:810px;padding:17% 11% 18%;background:var(--cream);overflow:hidden}.greeting__shadow-mask{position:absolute;inset:0 0 auto;height:34%;overflow:hidden;pointer-events:none;-webkit-mask-image:linear-gradient(#000 0 58%,transparent 100%);mask-image:linear-gradient(#000 0 58%,transparent 100%)}.greeting__shadow{position:absolute;inset:-18% -12% -5%;background:url('assets/images/greeting-shadow.jpg') center top/cover no-repeat;transform:translate3d(0,var(--py,0),0) scale(1.08)}.greeting__head{position:relative;z-index:2;display:flex;align-items:center;gap:2.5%;margin-bottom:15%}.greeting__head h2{margin:0;font:500 clamp(46px,14vw,62px)/.9 var(--display);letter-spacing:.015em}.greeting__head span{font:400 clamp(9px,2.5vw,11px)/1 var(--serif);letter-spacing:.2em;color:var(--gold)}.greeting__body{position:relative;z-index:2;font:400 clamp(10px,2.65vw,12px)/2.05 var(--serif);letter-spacing:.045em}.greeting__body p{margin:0 0 7.5%}.greeting__sign{text-align:center!important;margin-top:12%!important;letter-spacing:.18em}
/* PROFILE */
.profile{background:var(--cream);padding:0 0 9%;overflow:hidden}.profile__item{position:relative;height:63vw;min-height:235px;max-height:285px;margin-bottom:2%}.profile__mask{position:absolute;inset:0;overflow:hidden}.profile__item--kaito .profile__mask{border-radius:44% 55% 30% 35%/12% 15% 17% 18%;clip-path:polygon(0 12%,11% 6%,24% 8%,38% 2%,55% 5%,70% 2%,88% 7%,100% 16%,100% 84%,87% 89%,73% 87%,57% 94%,42% 90%,25% 96%,9% 91%,0 83%)}.profile__item--ikuyo .profile__mask{clip-path:polygon(0 8%,15% 3%,31% 5%,47% 1%,63% 4%,79% 2%,100% 8%,100% 85%,84% 90%,67% 88%,51% 95%,35% 91%,17% 96%,0 88%)}.profile__mask img{width:100%;height:100%;object-fit:cover}.profile__item--kaito img{object-position:center 43%}.profile__item--ikuyo img{object-position:center 45%}.profile__name{position:absolute;z-index:3;margin:0;font:italic 500 clamp(72px,21vw,96px)/.72 var(--display);letter-spacing:-.02em;transform:scaleX(.86)}.profile__name--kaito{right:1%;bottom:2%;color:var(--green);transform-origin:right bottom}.profile__name--ikuyo{left:1%;bottom:2%;color:var(--pink);transform-origin:left bottom}
/* DETAILS */
.ornament{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--gold);font:400 clamp(9px,2.4vw,11px)/1 var(--serif);letter-spacing:.18em}.ornament:before,.ornament:after{content:"";width:27px;height:1px;background:currentColor}.details{z-index:3;margin-top:-1px;padding:13% 7% 13%;background:#fff;border-radius:22vw 22vw 0 0}.details__heading{text-align:center;margin-bottom:13%}.details__heading h2{margin:3% 0 0;font:500 clamp(47px,13vw,60px)/.9 var(--display);letter-spacing:.04em}.details__block{display:grid;grid-template-columns:39% 61%;gap:4%;align-items:start;margin-bottom:12%}.details__label strong{display:block;font:500 clamp(25px,7vw,31px)/.85 var(--display)}.details__label span{display:block;margin-top:7px;font:400 clamp(8px,2.1vw,10px)/1 var(--serif);letter-spacing:.17em}.details__date{display:flex;align-items:flex-start;gap:6px}.details__date>span{font:500 clamp(41px,11vw,52px)/.8 var(--display)}.details__date em{font:normal 500 clamp(34px,9vw,43px)/.8 var(--display);color:var(--pink)}.details__date small{display:block;margin-top:6px;text-align:right;font:500 clamp(7px,1.8vw,9px)/1 var(--sans);letter-spacing:.12em}.details__times{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.details__times span{text-align:center;white-space:nowrap;font-size:clamp(6px,1.55vw,8px)}.details__times b{display:block;margin-top:1px;font:500 clamp(18px,4.8vw,23px)/1 var(--display)}.details__copy p{margin:9% 0 0;font:400 clamp(9px,2.25vw,11px)/1.85 var(--serif)}.details__copy p b{font-size:1.15em}.details__venue{overflow:hidden;border-radius:23% 0 23% 0}.details__venue img{width:100%;aspect-ratio:1.72/1;object-fit:cover}.details__map{margin-top:5%;border:1px solid #eadfca}.details__map img{width:100%}
/* CONTACT */
.contact{position:relative;padding:12% 3.5% 9%;color:#fff;background:var(--deep) url('assets/images/contact-bg.jpg') center top/cover no-repeat;border-radius:0 0 18vw 0;overflow:hidden}.contact:after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(5,37,20,.06),rgba(5,37,20,.38));pointer-events:none}.contact__inner{position:relative;z-index:2}.contact__heading{text-align:center}.contact__heading h2{margin:3% 0 5%;font:500 clamp(52px,15vw,70px)/.9 var(--display);letter-spacing:.12em}.contact__heading p{margin:0 0 10%;font:400 clamp(9px,2.35vw,11px)/1.9 var(--serif);letter-spacing:.1em}.rsvp{padding:0 3% 5%;background:#fff;color:#333;border-radius:3px}.attendance-picker{display:grid;grid-template-columns:1fr 1fr;gap:6%;margin:0 4% 7%;padding:0;border:0;transform:translateY(-13%)}.attendance-picker label{position:relative}.attendance-picker input{position:absolute;opacity:0}.attendance-picker span{display:flex;flex-direction:column;align-items:center}.attendance-picker img{width:48%;max-width:88px;height:auto;margin-bottom:-4%}.attendance-picker b{display:block;width:100%;padding:9% 3%;border-radius:4px;background:#aaa;color:#fff;font:600 clamp(10px,2.7vw,13px)/1 var(--serif);text-align:center}.attendance-picker label:first-of-type b{background:var(--green)}.attendance-picker input:checked+span b{box-shadow:0 0 0 3px var(--pink)}.field{margin:0 0 5%;padding:0;border:0}.field label,.field legend{display:block;margin:0 0 2.2%;font-size:clamp(10px,2.7vw,13px);font-weight:700}.field label>span,.field legend>span{margin-left:6px;color:#A4A4A4;font-size:.82em}.field small{display:block;margin-top:4px;font-size:.78em;font-weight:400;line-height:1.5}.field input[type=text],.field input[type=number],.field textarea,.field select{width:100%;padding:4.2% 3.5%;border:1px solid #d9d9d9;border-radius:3px;background:#f7f7f7;color:#333;font-size:clamp(11px,3vw,14px);outline:none}.field textarea{min-height:70px;resize:vertical}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:3%}.choice-grid label{position:relative;margin:0}.choice-grid input{position:absolute;opacity:0}.choice-grid span{display:block;padding:10% 3%;border:1px solid #ddd;border-radius:3px;background:#f3f3f3;color:#999;text-align:center}.choice-grid input:checked+span{background:var(--green);border-color:var(--green);color:#fff}.car-count{display:none;margin-top:4%}.car-count.is-visible{display:block}.form-message{margin-bottom:5%;padding:3%;font-size:12px}.form-message--success{background:#e8f4eb;color:#245b34}.form-message--error{background:#fbeaea;color:#912a2a}.submit-btn{width:100%;padding:4.7% 3%;border:0;border-radius:3px;background:var(--gold);color:#fff;font:600 clamp(11px,3vw,14px)/1 var(--serif);letter-spacing:.08em;cursor:pointer}
/* INSTAGRAM / THANKS */
.instagram{padding:10% 4% 12%;background:#fff;text-align:center}.instagram h2{margin:0 0 4%;color:var(--pink);font:italic 500 clamp(40px,11vw,52px)/1 var(--display)}.instagram p{margin:0 0 4%;font:400 clamp(9px,2.35vw,11px)/1.85 var(--serif)}.instagram>a{display:inline-block;margin-bottom:6%;color:var(--green);font:400 clamp(9px,2.35vw,11px)/1 var(--serif);text-decoration:none}.instagram__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}.instagram__grid img{width:100%;aspect-ratio:1/1;object-fit:cover}.thanks{min-height:55vw;max-height:255px;padding:13% 7%;background:var(--green);color:#fff;text-align:center}.thanks h2{margin:0 0 8%;color:var(--gold);font:italic 500 clamp(34px,9.5vw,45px)/1 var(--display);letter-spacing:.16em}.thanks p{margin:0;font:400 clamp(9px,2.35vw,11px)/2 var(--serif);letter-spacing:.05em}
/* Desktop: keep a phone-width invitation centered and use the supplied PC background. */
@media (min-width:900px){body{background:#16354f url('assets/images/pc-bg.webp') center top/cover no-repeat}.site-shell{max-width:430px;margin:0 auto;box-shadow:0 0 50px rgba(0,0,0,.17)}.hero{height:610px}.greeting{min-height:770px}.profile__item{height:270px}.thanks{min-height:235px}}
@media (max-width:350px){.greeting__body{font-size:9px}.details{padding-left:6%;padding-right:6%}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.loader{display:none}.reveal-left{opacity:1;transform:none;transition:none}.parallax{transform:none!important}}

/* Figma TOP (node 1:2) alignment */
:root{--cream:#fff8ef;--cream2:#fff4e4;--green:#244223;--deep:#244223;--pink:#d08faa;--gold:#b29c31}
.site-shell{max-width:394px;margin-inline:auto}
.hero{height:840px;min-height:0;max-height:none;background:#fff8ef}
.hero__small{right:19px;top:96px;font:400 12px/1 var(--serif);line-height:1;letter-spacing:.2em}
.hero__name{font-size:123px;font-style: italic; line-height:.73;letter-spacing:.03em;transform:skewX(-8deg) scaleX(.82)}
.hero__name--kaito{left:15px;top:28px}
.hero__name--ikuyo{left:132px;top:141px}
.hero__amp{left:15px;top:108px;font-size:255px;font-weight:100:.72;color:#d08faa}
.hero__photo-mask{left:47px;right:47px;top:275px;height:460px;max-height:none;border-radius:160px 160px 0 0}
.hero__photo{height:112%;object-position:50% 7%}
.hero__date{right:18px;top:434px;font:400 16px/1 "Academy Engraved LET",var(--serif);letter-spacing:.2em}
.hero__outside{left:13px;right:auto;top:667px;font-size:90px;line-height:.82;letter-spacing:.02em;text-align:left;transform:skewX(-8deg) scaleX(.82);transform-origin:left top}
.hero__invited{right:19px;top:123px;bottom:auto;writing-mode:horizontal-tb;font:400 16px/1 "Cormorant Garamond",var(--serif);letter-spacing:.2em}
.hero__curve{display:none}

.greeting{height:923px;min-height:0;max-height:none;padding:0;background:#fff4e4}
.greeting__shadow-mask{height:318px;-webkit-mask-image:linear-gradient(#000 0 60%,transparent 100%);mask-image:linear-gradient(#000 0 60%,transparent 100%)}
.greeting__shadow{inset:-70px -120px -40px;background-position:center 20%}
.greeting__head{position:absolute;z-index:2;left:20px;right:20px;top:95px;display:block;margin:0}
.greeting__head h2{font-size:50px;line-height:.72}
.greeting__head span{position:absolute;left:203px;top:19px;font-size:16px;white-space:nowrap}
.greeting__head span:after{content:"";display:inline-block;width:30px;height:1px;margin:0 0 4px 8px;background:currentColor}
.greeting__body{position:absolute;z-index:2;left:56px;right:55px;top:255px;font-size:15px;line-height:2;letter-spacing:.04em}
.greeting__body p{margin:0 0 15px}
.greeting__body p br{display:none}
.greeting__sign{margin-top:17px!important;font-size:12px}

.profile{height:543px;padding:0;background:#fff4e4}
.profile__item{position:absolute;width:326px;height:202px;min-height:0;max-height:none;margin:0}
.profile__item--kaito{left:-28px;top:40px}
.profile__item--ikuyo{left:87px;top:272px}
.profile__mask{clip-path:none!important;border-radius:0!important}
.profile__name{font-size:100px;line-height:.72;letter-spacing:.03em;transform:skewX(-8deg) scaleX(.78)}
.profile__name--kaito{right:-83px;bottom:-1px}
.profile__name--ikuyo{left:-69px;bottom:-29px}

.details{height:1070px;margin:0;padding:0 29px;border-radius:197px 197px 0 0;background:#fff}
.details__heading{padding-top:80px;margin:0 0 77px}
.details__heading h2{margin-top:18px;font-size:54px}
.details__block{grid-template-columns:1fr 1.35fr;gap:12px;margin:0 0 54px}
.details__label strong{font-size:24px;line-height:1.5}
.details__label span{margin-top:-4px;font-size:12px}
.details__date>span{font-size:40px}.details__date em{font-size:38px}
.details__times{gap:7px}.details__times span{font-size:7px}.details__times b{font-size:18px}
.details__copy p{margin-top:25px;font-size:10px}
.details__venue{margin-top:72px;border-radius:28px 0 28px 0}
.details__access-block{margin-top:15px}
.details__map{margin-top:62px;border:0}

.contact{height:1163px;padding:269px 20px 0;color:#111;background:#fff;border-radius:0;overflow:hidden}
.contact:before{content:"";position:absolute;z-index:0;left:0;right:0;top:0;height:234px;border-radius:0 0 100px 0;background:url('assets/images/contact-bg.jpg') center 46%/cover no-repeat}
.contact:after{inset:0 0 auto;height:234px;border-radius:0 0 100px 0;background:rgba(20,55,30,.2)}
.contact__inner{position:static}
.contact__heading{position:absolute;z-index:2;left:0;right:0;top:53px;color:#fff}
.contact__heading h2{margin:15px 0 20px;font-size:41px;line-height:1;letter-spacing:.03em}
.contact__heading p{font-size:14px;line-height:1.5}
.rsvp{padding:0;background:#fff}
.attendance-picker{gap:12px;margin:0 0 20px;transform:none}
.attendance-picker img{width:auto;height:76px;margin:0}
.attendance-picker b{height:60px;padding:20px 3%;border-radius:8px;font:600 20px/1 var(--sans)}
.field{margin-bottom:20px}.field label,.field legend{font-size:14px;margin-bottom:4px}
.field input[type=text],.field input[type=number],.field textarea,.field select{height:51px;padding:10px;border-radius:5px;font-size:14px}
.field textarea{min-height:51px;height:51px}
.choice-grid span{height:51px;padding:15px 3%}
.submit-btn{height:56px;padding:10px;border-radius:8px;font-size:18px}

.instagram{height:473px;padding:32px 20px 0;text-align:left}
.instagram h2{display:flex;align-items:center;gap:8px;margin:0 0 14px;color:var(--gold);font:400 16px/1 var(--serif);letter-spacing:.08em}
.instagram h2:before{content:"◎";font:20px/1 var(--sans)}.instagram h2:after{content:"";width:30px;height:1px;background:currentColor}
.instagram p{margin:0 0 14px;font-size:14px;line-height:1.5}
.instagram p{margin-bottom:9px}
.instagram__account{display:flex!important;align-items:center;gap:12px;width:100%;height:56px;margin:0!important;padding:8px;color:#000!important;font:500 18px/1 var(--sans)!important}
.instagram__account img{width:40px;height:40px;border-radius:50%;object-fit:cover}
.instagram__grid{grid-template-columns:repeat(4,87.5px);grid-template-rows:repeat(3,87.5px);gap:1px}
.instagram__grid img{height:100%;aspect-ratio:auto}
.instagram__grid img:first-child,.instagram__grid img:last-child{grid-column:span 2}
.thanks{height:182px;min-height:0;max-height:none;padding:32px 20px;background:#244223}
.thanks h2{margin:0 0 29px;color:var(--gold);font:400 16px/1 var(--serif);letter-spacing:.08em}
.thanks p{font-size:14px;line-height:1.5}

@media (max-width:393px){
  .site-shell{transform-origin:top center}
  .hero,.greeting,.profile,.details,.contact,.instagram,.thanks{width:100%}
  .hero__name{font-size:31vw}.hero__amp{font-size:64vw}.hero__outside{font-size:22.8vw}
  .greeting__body{font-size:3.8vw}
}

/* 2026-08-14 complete Figma redesign (node 29:2) */
@font-face{
  font-family:"Creampuff";
  src:url("assets/fonts/creampuff.ttf") format("truetype");
  font-weight:400;font-style:normal;font-display:swap
}
:root{--orange:#ff4000;--navy:#16354f;--peach:#ffc58f;--ice:#f2f6ff;--blush:#fff1f3}
html,body{background:#16354f}
.site-shell,.site-content{background:#f8f1e7}

/* FIRSTVIEW 29:4 */
.hero{height:959px;min-height:959px;background:#f8f1e7;color:var(--navy)}
.hero__shape{left:0;top:0;width:394px;height:981px}
.hero__small{right:20px;top:50px;color:var(--navy);line-height:12px}
.hero__small small{display:block;margin-top:0;font:400 12px/1 "Cormorant Garamond",serif;letter-spacing:2.4px}
.hero__name{color:var(--orange);font-family:"Creampuff","Lobster",cursive;font-size:105.514px;line-height:1}
.hero__name--kaito{left:16px;top:29px}.hero__name--ikuyo{left:74px;top:105px}
.hero__amp{left:197px;top:87px;color:var(--peach);font-family:"Creampuff","Lobster",cursive;font-size:85px;line-height:1}
.hero__invited{right:20px;top:216px;color:var(--navy)}
.hero__photo-mask{left:27px;top:254px;width:340px;height:454px;border-radius:160px 160px 0 0}
.hero__photo{height:118%;object-position:center 100%}
.hero__date{left:76px;top:737px;color:var(--navy);font:400 18px/1 "Dela Gothic One",sans-serif;letter-spacing:3.6px}
.hero__outside{top:778px;color:var(--peach);font:400 40px/1.1 "Dela Gothic One",sans-serif}
.hero__bottom{position:absolute;z-index:5;left:0;top:895px;width:394px;height:65px;pointer-events:none}
.hero__scroll{display:none}

/* GREETING 29:18 */
.greeting{height:953px;min-height:953px;background:var(--navy);color:#fff}
.greeting__shadow-mask{inset:0;width:100%;height:100%;mask:none;-webkit-mask:none;overflow:hidden}
.greeting__shadow{left:50%;top:-90px;width:553px;height:1135px;background:none;translate:-50% 0}
.greeting__shadow img{width:100%;height:100%;object-fit:cover;transform:scaleY(-1);opacity:.98}
.greeting:after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(22,53,79,.98) 0%,rgba(22,53,79,.16) 30%,rgba(22,53,79,.08) 72%,rgba(22,53,79,.72) 100%);pointer-events:none}
.greeting__head{z-index:3;left:59px;top:44px;width:277px;height:90px;text-align:center}
.greeting__head h2{width:auto;height:auto;color:var(--orange);font:400 40px/1.1 "Dela Gothic One",sans-serif;letter-spacing:0}
.greeting__head span{position:relative;display:inline-block;left:auto;top:auto;margin-top:16px;color:#fff;font-size:20px;line-height:1.1}
.greeting__head span:after{display:block;margin:8px auto 0}
.greeting__body{z-index:3;left:28px;right:auto;top:158px;width:338px;color:#fff;text-align:center;font-size:14px;line-height:2;letter-spacing:.56px}
.greeting__body p{margin:0 0 28px}.greeting__body p br{display:block}
.greeting__couple{position:absolute;top:576px;left:0;width:100%;color:#fbe8cd;font:400 24px/1 "Dancing Script","Cormorant Garamond",cursive;letter-spacing:.96px}
.greeting__sign{position:absolute;top:600px;left:0;width:100%;margin:0!important;font-size:12px;letter-spacing:.48px}

/* PROFILE collages 29:30 / 29:58 */
.profile{position:relative;width:394px;padding:0;overflow:hidden}
.profile--kaito{height:685px;background:var(--ice)}
.profile--ikuyo{height:704px;background:var(--blush)}
.profile__heading{position:absolute;z-index:8;left:0;width:100%;height:150px;text-align:center}
.profile--kaito .profile__heading{top:58px;color:var(--navy)}
.profile--ikuyo .profile__heading{top:24px;color:var(--orange)}
.profile__heading span{display:block;font:400 12px/1 "Dela Gothic One",sans-serif;letter-spacing:1.2px}
.profile__heading h2{margin:-5px 0 0;font:400 120px/.9 "Creampuff","Lobster",cursive;white-space:nowrap}
.profile__heading p{margin:-2px 0 0;font:400 13px/1 "Dela Gothic One",sans-serif;letter-spacing:1.3px}
.profile__mask.profile__video-main{position:absolute;z-index:2;inset:auto;opacity:0;overflow:hidden;mask:none!important;-webkit-mask:none!important;border-radius:90px 90px 16px 16px!important;transition:opacity 1.5s var(--ease),transform 1.5s var(--ease)}
.profile--kaito .profile__video-main{left:120px;top:196px;width:153px;height:315px}
.profile--ikuyo .profile__video-main{left:111px;top:174px;width:203px;height:324px}
.profile__video-main video{position:absolute;left:0;top:-20%!important;width:100%;height:140%!important;object-fit:cover;transform:translate3d(0,var(--profile-video-y,0),0) scale(1.04)}
.profile__photo{position:absolute;z-index:3;max-width:none;object-fit:cover;pointer-events:none}
.profile--kaito .profile__photo--round{left:171px;top:263px;width:141px;height:141px;border-radius:50%}
.profile--kaito .profile__photo--a{left:217px;top:373px;width:182px;height:149px}
.profile--kaito .profile__photo--b{left:242px;top:288px;width:161px;height:135px}
.profile--kaito .profile__photo--c{left:14px;top:320px;width:169px;height:214px}
.profile--kaito .profile__photo--d{left:252px;top:204px;width:114px;height:122px}
.profile--kaito .profile__photo--note{left:-6px;top:534px;width:124px;height:140px}
.profile--ikuyo .profile__photo--a{left:28px;top:301px;width:179px;height:210px}
.profile--ikuyo .profile__photo--b{left:281px;top:413px;width:94px;height:94px}
.profile--ikuyo .profile__photo--c{left:262px;top:284px;width:246px;height:208px}
.profile--ikuyo .profile__photo--d{left:215px;top:197px;width:122px;height:122px}
.profile--ikuyo .profile__photo--e{left:68px;top:229px;width:86px;height:105px}
.profile--ikuyo .profile__photo--note{left:274px;top:521px;width:112px;height:124px}
.profile__copy{position:absolute;z-index:6;color:var(--navy);font:400 11px/1.55 var(--serif);letter-spacing:.35px}
.profile--kaito .profile__copy{left:90px;top:498px;width:303px;height:159px;padding:27px 6px 15px 44px;background:rgba(255,197,143,.88);clip-path:polygon(5% 0,100% 0,100% 100%,0 100%,8% 55%)}
.profile--ikuyo .profile__copy{left:5px;top:485px;width:303px;height:189px;padding:19px 35px 15px 25px;background:rgba(255,255,255,.88);clip-path:polygon(0 0,100% 0,92% 48%,100% 100%,0 100%)}
.profile__note{position:absolute;z-index:7;color:var(--navy);font:400 13px/1 var(--serif);letter-spacing:2px;writing-mode:vertical-rl}
.profile--kaito .profile__note{left:20px;top:525px;rotate:45deg}.profile--ikuyo .profile__note{right:8px;top:510px;rotate:-35deg}

/* DETAILS 29:84 */
.details{height:1070px;margin:0;background:#f8f1e7;border-radius:0;color:var(--navy)}
.details:before{content:"";position:absolute;inset:0 8px 50px;border-radius:16px;background:#fff}
.details__heading{top:64px}.details__heading .ornament{font-size:20px;color:var(--navy)}
.details__heading h2{margin-top:16px;color:var(--navy);font:400 40px/1.1 "Dela Gothic One",sans-serif}
.details__date-block{top:207px;height:95px}.details__place-block{top:331px}.details__access-block{top:513px}
.details__date-block .details__label,.details__label{display:block;left:24px;text-align:left}
.details__date-block .details__label strong,.details__label strong{font:400 24px/1.5 "Dela Gothic One",sans-serif;letter-spacing:0}
.details__date-block .details__label span,.details__label span{margin-top:-4px;font:400 12px/1 var(--serif);order:initial}
.details__date-content{left:185px;top:0;width:184px}
.details__date-line{text-align:left;font:400 30px/1.5 var(--serif);letter-spacing:1.2px}
.details__date-line small{font-size:14px}.details__schedule{grid-template-columns:70px 53px 53px;gap:4px}
.details__schedule i,.details__schedule span:first-child i{height:17px;font-size:10px}.details__schedule span:first-child i{font-size:12px}
.details__schedule b,.details__schedule span:first-child b{font-size:16px;margin-top:5px}.details__schedule span:first-child b{font-size:20px;margin-top:2px}
.details__place-copy{left:40px}.details__venue{left:186px;width:200px}.details__access-copy{display:none}
.details__map{left:24px;top:68px;width:346px;height:406px}.details__map img{top:-10px;height:426px}

/* CONTACT 29:365 */
.contact{height:1199px;padding:269px 20px 22px;background:#fff;color:#111}
.contact:before{left:8px;right:8px;height:234px;border-radius:16px;background:var(--navy)}.contact:after{display:none}
.contact__heading{top:40px}.contact__heading h2{margin:0;color:var(--orange);font:400 40px/1.1 "Dela Gothic One",sans-serif}
.contact__heading .ornament{margin-top:16px;color:#fff;font-size:20px;flex-direction:column;gap:8px}.contact__heading .ornament:before{display:none}.contact__heading .ornament:after{width:29.5px}
.contact__heading p{margin-top:16px}.rsvp{padding:0}.attendance-picker b{background:#a2a2a2}.attendance-picker input:checked+span b,.attendance-picker label.is-selected b{background:var(--navy)}
.choice-grid input:checked+span{background:var(--navy);border-color:var(--navy)}
.field:nth-of-type(6) small{display:block}.submit-btn{height:80px;border-radius:88px;background:var(--orange);font-size:20px}

/* INSTAGRAM / LAST */
.instagram{background:#fff4e4;color:var(--navy)}.instagram h2{color:var(--orange)}
.thanks{background:var(--navy)}.thanks h2{color:var(--orange)}

@media(max-width:393px){
  .hero__photo-mask{left:6.85%;width:86.3%}.hero__date{left:19.29%;font-size:4.57vw}
  .profile{width:100%}.details__date-content{left:46.95%;width:46.7%}.details__venue{left:47.2%;width:50.8%}
}
@media (min-width:900px){.site-shell{max-width:394px}.hero{height:840px}.greeting{height:923px;min-height:0}.profile__item{height:202px}.thanks{height:182px;min-height:0}}

/* Attendance selection states */
.loader__curtain{top:0;bottom:0}
.loader__mark{top:50%}
.profile__mask video{display:block;width:100%;height:100%;object-fit:cover}
.profile__item--kaito video{object-position:center 43%}
.profile__item--ikuyo video{object-position:center 45%}
.attendance-picker label{cursor:pointer}
.attendance-picker label:first-of-type b,
.attendance-picker b{background:#a2a2a2}
.attendance-picker img{filter:grayscale(1);opacity:.58;transition:filter .25s ease,opacity .25s ease}
.attendance-picker b{transition:background-color .25s ease}
.attendance-picker input:checked+span img{filter:none;opacity:1}
.attendance-picker input:checked+span b{background:#244223;box-shadow:none}
.attendance-picker input:focus-visible+span b{outline:3px solid rgba(36,66,35,.28);outline-offset:2px}
.attendance-picker label.is-selected img{filter:none;opacity:1}
.attendance-picker label.is-selected b{background:#244223;box-shadow:none}
.attendance-picker .wpcf7-list-item{display:contents;margin:0}
.attendance-picker .wpcf7-list-item>label{display:contents}
.attendance-picker .wpcf7-form-control-wrap{display:contents}

/* Figma DETAILS (node 1:70) */
.details{position:relative;height:1070px;margin:0;padding:0;border-radius:197px 197px 0 0;background:#fff;color:#465435;overflow:hidden}
.details__heading{position:absolute;top:80px;left:0;width:100%;padding:0;margin:0;text-align:center}
.details__heading .ornament{font-size:16px;letter-spacing:.08em}
.details__heading .ornament:before,.details__heading .ornament:after{width:29.5px;background:#b29c31}
.details__heading h2{margin:16px 0 0;font:400 48px/1 var(--serif);letter-spacing:.04em}
.details__date-block,.details__place-block,.details__access-block{position:absolute;left:0;width:100%;margin:0}
.details__date-block{top:207px}
.details__place-block{top:328px;height:154px}
.details__access-block{top:507px}
.details__label{position:absolute;left:29px;top:0}
.details__label strong{display:block;font:400 24px/1.5 var(--serif);letter-spacing:.04em}
.details__label span{display:block;margin-top:-4px;font:400 12px/1 var(--serif);letter-spacing:.04em}
.details__date-content{position:absolute;left:177px;top:0;width:177px}
.details__date-line{margin:0;white-space:nowrap;font:400 30px/1.5 var(--serif);letter-spacing:.04em}
.details__date-line small{margin-left:3px;color:#233b42;font-size:13.75px}
.details__schedule{display:grid;grid-template-columns:65px 53px 53px;gap:4px;margin-top:3px}
.details__schedule span{display:flex;flex-direction:column;align-items:center}
.details__schedule i{display:flex;width:100%;height:17px;align-items:center;justify-content:center;background:#16354F;color:#fff;font:normal 400 10px/1 var(--serif);letter-spacing:.04em}
.details__schedule span:first-child i{font-size:12px}
.details__schedule b{margin-top:5px;font:400 16px/1.5 var(--serif);letter-spacing:.04em}
.details__schedule span:first-child b{font-size:20px;margin-top:2px}
.details__place-copy{position:absolute;left:39px;top:63px;z-index:2}
.details__place-copy h3,.details__access-copy h3{margin:0;font:400 14px/1.5 var(--serif);letter-spacing:.04em}
.details__place-copy h3{font-size:15px}
.details__place-copy p{margin:18px 0 0;font:400 10px/1.5 var(--serif)}
.details__venue{position:absolute;left:177px;top:0;width:226px;height:154px;margin:0;border-radius:30px 0 0 30px;overflow:hidden}
.details__venue img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center}
.details__access-copy{position:absolute;left:39px;top:75px}
.details__access-copy>div+div{margin-top:17px}
.details__access-copy p{margin:3px 0 0;font:400 12px/1.5 var(--serif)}
.details__map{position:absolute;left:20px;top:227px;width:354px;height:280px;margin:0;border:0}
.details__map img{width:100%;height:100%;object-fit:contain}

@media (max-width:393px){
  .details__date-content{left:45%}
  .details__venue{left:45%;width:55%}
  .details__map{left:5%;width:90%}
}

/* Figma GREETING (node 1:19) */
.greeting__shadow-mask{
  top:0;
  left:0;
  width:394px;
  height:317.153px;
  overflow:hidden;
  -webkit-mask-image:url('assets/images/greeting-mask.svg');
  mask-image:url('assets/images/greeting-mask.svg');
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:0 0;
  mask-position:0 0;
  -webkit-mask-size:394px 317.153px;
  mask-size:394px 317.153px
}
.greeting__shadow{
  top:0;
  right:auto;
  bottom:auto;
  left:-121px;
  width:712px;
  height:534px;
  background-position:center;
  background-size:cover;
  transform:translate3d(0,var(--py,0),0)
}
.greeting__head{left:20px;right:auto;top:95px;width:334px;height:36px}
.greeting__head h2{width:190.156px;height:36px;margin:0}
.greeting__head h2 img{display:block;width:100%;height:100%}
.greeting__head span{left:203px;top:19px}

/* Figma PROFILE video masks (node 1:42) */
.profile__item--kaito{width:326px}
.profile__item--ikuyo{width:323px}
.profile__item--kaito .profile__mask{
  border-radius:0!important;
  clip-path:none!important;
  -webkit-mask-image:url('assets/images/profile-mask-kaito.svg');
  mask-image:url('assets/images/profile-mask-kaito.svg');
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:0 0;
  mask-position:0 0;
  -webkit-mask-size:326px 202px;
  mask-size:326px 202px
}
.profile__item--ikuyo .profile__mask{
  border-radius:0!important;
  clip-path:none!important;
  -webkit-mask-image:url('assets/images/profile-mask-ikuyo.svg');
  mask-image:url('assets/images/profile-mask-ikuyo.svg');
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:0 0;
  mask-position:0 0;
  -webkit-mask-size:323px 202px;
  mask-size:323px 202px
}

/* Figma FIRSTVIEW background shape + PROFILE overlap lettering */
.hero__shape{position:absolute;z-index:3;left:0;top:0;width:394px;height:892px;max-width:none;pointer-events:none}
.hero__photo-mask{z-index:4}
.hero__name,.hero__amp,.hero__date,.hero__outside,.hero__invited,.hero__small{z-index:6}
.profile__mask{z-index:4}
.profile__mask video{position:relative;z-index:1}
.profile__mask .profile__name{z-index:2;color:#fff}
/* Figma CONTACT + Instagram typography/assets */
.contact__heading .ornament{font:400 16px/1 var(--serif);letter-spacing:1.28px}
.contact__heading .ornament:before,.contact__heading .ornament:after{width:29.5px}
.contact__heading h2{margin:15px 0 20px;font:400 40.812px/1 var(--serif);letter-spacing:1.2244px}
.contact__heading p{margin:0;font:500 14px/21.031px var(--serif);letter-spacing:1.12px}
.contact__heading p strong{font:500 18px/21.031px var(--serif);letter-spacing:1.44px}
.instagram h2:before{content:none}
.instagram h2>img{display:block;flex:0 0 24px;width:24px;height:24px;max-width:none}

/* Static Instagram mosaic: no carousel controls */
.instagram__grid .instagram-post{display:block;position:relative;width:100%;height:100%;overflow:hidden;background:#f3f3f3}
.instagram__grid{position:relative;display:block;width:354px;height:264px}
.instagram__grid .instagram-post{position:absolute}
.instagram__grid .instagram-post:nth-child(1){left:0;top:0;width:176px;height:176px}
.instagram__grid .instagram-post:nth-child(2){left:177px;top:0;width:87.5px;height:87.5px}
.instagram__grid .instagram-post:nth-child(3){left:265.5px;top:0;width:87.5px;height:87.5px}
.instagram__grid .instagram-post:nth-child(4){left:0;top:177px;width:87.5px;height:87.5px}
.instagram__grid .instagram-post:nth-child(5){left:88.5px;top:177px;width:87.5px;height:87.5px}
.instagram__grid .instagram-post:nth-child(6){left:177px;top:88.5px;width:176px;height:176px}
.instagram__grid .instagram-post img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;transition:transform .5s var(--ease)}
.instagram__grid .instagram-post:focus-visible{outline:3px solid #b29c31;outline-offset:-3px}
.instagram__grid .instagram-post:hover img{transform:scale(1.025)}

/* Direction-aware PROFILE reveal */
.profile__mask{opacity:0;transition:opacity 1.5s var(--ease),transform 1.5s var(--ease)}
.profile__mask.is-from-bottom{transform:translate3d(0,160px,0)}
.profile__mask.is-from-top{transform:translate3d(0,-160px,0)}
.profile__mask.is-profile-visible{opacity:1;transform:translate3d(0,0,0)}

/* FIRSTVIEW door opening */
.hero__door{position:absolute;z-index:8;top:0;bottom:0;width:50.5%;background:#fff8ef;transition:transform 1.7s var(--ease);will-change:transform}
.hero__door--left{left:0;transform-origin:left center}
.hero__door--right{right:0;transform-origin:right center}
.animations-ready .hero.is-door-open .hero__door--left{transform:translate3d(-102%,0,0)}
.animations-ready .hero.is-door-open .hero__door--right{transform:translate3d(102%,0,0)}

/* Exact Figma PROFILE name geometry */
.profile__name{
  display:flex;
  align-items:center;
  justify-content:center;
  width:auto;
  height:99.027px;
  font:normal 400 100px/1 var(--display);
  letter-spacing:3px;
  white-space:nowrap;
  transform:skewX(-8deg) scaleY(.99)
}
.profile__name--kaito{left:222.16px;right:auto;top:109px;bottom:auto;width:184.917px;transform-origin:center}
.profile__name--ikuyo{left:-68.76px;right:auto;top:130px;bottom:auto;width:191.917px;transform-origin:center}

/* Loading-gated FIRSTVIEW typography and motion */
body:not(.animations-ready) .hero .reveal-left{opacity:0}
body:not(.animations-ready) .hero__name{transform:translate3d(-70px,0,0) skewX(-8deg) scaleX(.82)}
.animations-ready .hero__name.is-visible{opacity:1;transform:translate3d(0,0,0) skewX(-8deg) scaleX(.82)}
.hero__name{transition:opacity 1.8s var(--ease),transform 1.8s var(--ease)}
.hero__name{width:max-content;padding-right:.16em;overflow:visible}
.hero__name--ikuyo{left:126px}
.hero__amp{font-weight:200}
.hero__small{font-family:"Cormorant Garamond",var(--serif);font-weight:300}
.hero__invited{font-family:"Cormorant Garamond",var(--serif);font-weight:300}

/* Static PROFILE name intersection; only the video moves */
.profile__mask{z-index:2}
.profile__mask video{
  top:-30%;
  height:160%;
  transform:translate3d(0,var(--profile-video-y,0),0) scale(1.04);
  will-change:transform
}
.profile__names{position:absolute;z-index:3;inset:0;pointer-events:none}
.profile__name{z-index:1}
.profile__name-clip{position:absolute;z-index:2;inset:0;overflow:hidden;pointer-events:none;opacity:0;transition:opacity .45s ease}
.profile__mask.is-profile-visible~.profile__names .profile__name-clip{opacity:1}
.profile__name-clip .profile__name{color:#fff}
.profile__name-clip--kaito{
  -webkit-mask:url('assets/images/profile-mask-kaito.svg') 0 0/326px 202px no-repeat;
  mask:url('assets/images/profile-mask-kaito.svg') 0 0/326px 202px no-repeat
}
.profile__name-clip--ikuyo{
  -webkit-mask:url('assets/images/profile-mask-ikuyo.svg') 0 0/323px 202px no-repeat;
  mask:url('assets/images/profile-mask-ikuyo.svg') 0 0/323px 202px no-repeat
}

/* Blend PROFILE into the DETAILS surround */
.site-content{background:#fff4e4}
.profile{background:#fff4e4}

/* Figma PROFILE background (node 1:43) */
.profile__background{position:absolute;z-index:0;left:-241px;top:-93px;width:848px;height:636px;pointer-events:none}
.profile__background img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center bottom}
.profile__background:after{content:"";position:absolute;inset:0;background:linear-gradient(180.882deg,#fff4e4 18.145%,rgba(255,244,228,.5) 25.52%,rgba(255,244,228,0) 54.666%,rgba(255,244,228,.5) 84.45%,#fff4e4 91.896%)}
.profile__item{z-index:1}

/* DETAILS media parallax with enough overscan to avoid clipping */
.details__venue,.details__map{overflow:hidden}
.details__venue img{
  position:absolute;
  left:0;
  top:-18px;
  width:100%;
  height:190px;
  max-width:none;
  object-fit:cover;
  transform:translate3d(0,var(--details-y,0),0);
  will-change:transform
}
.details__map img{
  position:absolute;
  left:-2%;
  top:-12px;
  width:104%;
  height:304px;
  max-width:none;
  object-fit:contain;
  transform:translate3d(0,var(--details-y,0),0);
  will-change:transform
}

/* GREETING body reveals as one continuous sheet from top to bottom */
.greeting__body{
  opacity:1;
  filter:none;
  -webkit-clip-path:none;
  clip-path:none;
  transform:none;
  transition:opacity 1.8s ease,filter 4.2s var(--ease),-webkit-clip-path 4.2s cubic-bezier(.16,.62,.2,1),clip-path 4.2s cubic-bezier(.16,.62,.2,1),transform 4.2s var(--ease)
}
.greeting__body.is-text-pending{
  opacity:0;
  filter:blur(2px);
  -webkit-clip-path:inset(0 0 100% 0);
  clip-path:inset(0 0 100% 0);
  transform:translate3d(0,-18px,0)
}
.greeting__body.is-text-visible{
  opacity:1;
  filter:blur(0);
  -webkit-clip-path:inset(0 0 0 0);
  clip-path:inset(0 0 0 0);
  transform:translate3d(0,0,0)
}

/* Simple one-time heading reveal from below */
.water-heading{opacity:1;translate:0 0;will-change:opacity,translate}
.water-heading.is-water-pending{opacity:0;translate:0 42px}
.water-heading.is-water-visible{animation:heading-rise-in 1.45s var(--ease) both}
@keyframes heading-rise-in{
  0%{opacity:0;translate:0 42px}
  100%{opacity:1;translate:0 0}
}

/* DETAILS blocks reveal again as they enter the viewport */
.details__reveal{opacity:1;filter:none;translate:0 0;transition:opacity 2.4s var(--ease) var(--details-delay,0ms),filter 2.4s var(--ease) var(--details-delay,0ms),translate 2.4s var(--ease) var(--details-delay,0ms)}
.details__reveal.is-details-pending{opacity:0;filter:blur(4px);translate:0 46px}
.details__reveal.is-details-visible{opacity:1;filter:blur(0);translate:0 0}
@media (prefers-reduced-motion:reduce){
  .water-heading{opacity:1;filter:none;translate:none;scale:1;animation:none!important}
  .greeting__body{opacity:1;filter:none;clip-path:none;transform:none;transition:none}
  .details__reveal{opacity:1;filter:none;translate:none;transition:none}
}

/* Loading-gated ampersand reveal follows the hero names */
body:not(.animations-ready) .hero__amp.reveal-left{opacity:0}
.animations-ready .hero__amp.reveal-left.is-visible{opacity:1}

/* 2026-08 Figma redesign: TOP2 (20:308) */
.hero{
  width:100%;height:931px;min-height:931px;max-height:none;
  background:#f8f1e7;overflow:hidden
}
.hero__shape{width:100%;height:931px;z-index:1}
.hero__small{
  left:auto;right:10px;top:25px;margin:0;
  color:#465435;font:400 12px/16px "Cormorant Garamond",var(--serif);
  letter-spacing:2.4px;text-align:right
}
.hero__name{
  width:max-content;height:auto;padding:0;margin:0;
  color:#ff4000;font:400 105.514px/.78 "Lobster","Brush Script MT",cursive;
  letter-spacing:0;white-space:nowrap;transform:none;overflow:visible
}
.hero__name--kaito{left:16px;top:29px}
.hero__name--ikuyo{left:74px;top:105px}
.hero__amp{
  left:197px;top:87px;color:#ffc58f;
  font:400 85px/1 "Lobster","Brush Script MT",cursive
}
.hero__invited{
  left:auto;right:10px;top:211px;bottom:auto;
  color:#465435;font:400 16px/1 "Cormorant Garamond",var(--serif);
  letter-spacing:3.2px;writing-mode:horizontal-tb
}
.hero__invited:after{content:"";display:block;width:29.5px;height:1px;margin:3px 0 0 auto;background:#16354F}
.hero__photo-mask{
  left:calc(50% - 128.5px);right:auto;top:254px;width:257px;height:436px;
  border-radius:230px 230px 0 0;background:#d9d9d9
}
.hero__photo{width:100%;height:118%;object-position:50% 100%}
.hero__date{
  left:calc(50% - 107px);right:auto;top:708px;
  color:#465435;font:400 22px/1 "Academy Engraved LET",var(--serif);
  letter-spacing:4.4px;writing-mode:horizontal-tb
}
.hero__outside{
  left:0;right:0;top:748px;color:#ffc58f;
  font:400 40px/44px "Dela Gothic One",var(--sans);
  letter-spacing:0;text-align:center;transform:none
}
.hero__scroll{
  position:absolute;z-index:7;left:50%;top:877px;width:70px;
  translate:-50% 0;color:#465435;text-align:center;
  font:400 16px/1 "Cormorant Garamond",var(--serif);letter-spacing:.64px
}
.hero__scroll img{width:37px;height:12px;margin:7px auto 0}
body:not(.animations-ready) .hero__name{transform:translate3d(-70px,0,0)}
.animations-ready .hero__name.is-visible{transform:translate3d(0,0,0)}
.hero__outside.reveal-left{transform:translate3d(-12vw,0,0)}
.hero__outside.reveal-left.is-visible{transform:translate3d(0,0,0)}

/* Figma DETAILS alternate layout (18:2), preserving PLACE and ACCESS */
.details{height:1150px;border-radius:3000px 3000px 0 0}
.details__heading{top:80px}
.details__heading h2{margin-top:15px;font-size:48px}
.details__date-block{top:215px;height:235px}
.details__date-block .details__label{left:49px;text-align:center}
.details__date-block .details__label span{margin:0 0 2px;font-size:10.895px;line-height:1;order:-1}
.details__date-block .details__label{display:flex;flex-direction:column}
.details__date-block .details__label strong{font-size:21.789px;line-height:1.2}
.details__date-content{left:23px;top:62px;width:348px}
.details__date-line{text-align:center;font-size:46.143px;line-height:1.5;letter-spacing:1.8457px}
.details__date-line small{font-size:22.665px;letter-spacing:.9066px}
.details__schedule{grid-template-columns:1.128fr 1fr 1fr;gap:7.58px;margin-top:0}
.details__schedule i,.details__schedule span:first-child i{height:31px;font-size:18px}
.details__schedule b,.details__schedule span:first-child b{margin-top:4px;font-size:24px;line-height:1.5}
.details__schedule span:first-child b{font-size:32px;margin-top:0}
.details__place-block{top:475px}
.details__access-block{top:655px}
.details__map{top:205px}

@media (max-width:393px){
  .hero__name{font-size:26.78vw}.hero__name--ikuyo{left:18.78%}
  .hero__amp{left:50%;font-size:21.57vw}
  .hero__photo-mask{left:17.26%;width:65.23%}
  .hero__date{left:22.84%;font-size:5.58vw}
  .hero__outside{font-size:10.15vw;line-height:1.1}
  .details__date-content{left:5.84%;width:88.32%}
  .details__date-line{font-size:11.71vw}
}
