/*
Theme Name: Rayven Timeless Grace
Theme URI: https://rayvenmedia.com/
Author: Rayven Media
Description: An ivory and gold wedding invitation with an embossed envelope, scratch date reveal, ornate arches, alternating timeline, venue map, dress palette, gift card and RSVP dialog. Compatible with Rayven RSVP.
Version: 1.0.2
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: rayven-timeless-grace
License: GPL-2.0-or-later
*/
@font-face{font-family:TGScript;src:url('assets/fonts/imperial-script.woff') format('woff');font-display:swap;font-weight:400}
@font-face{font-family:TGSerif;src:url('assets/fonts/ovo.woff2') format('woff2');font-display:swap;font-weight:400}
@font-face{font-family:TGSeal;src:url('assets/fonts/beau-rivage.ttf') format('truetype');font-display:swap;font-weight:400}
:root{--tg-paper:#fdf4eb;--tg-ink:#85764b;--tg-gold:#bca261;--tg-line:#c7ae75;color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:20px;background:var(--tg-paper)}
body.timeless-grace{margin:0;background:var(--tg-paper);color:var(--tg-ink);font-family:TGSerif,Georgia,serif;font-size:20px;line-height:1.2;overflow-x:clip}
.tg-invitation{--u:min(1px,.2vw);width:min(500px,100%);margin-inline:auto;text-align:center;outline:none}
#invitation:focus,#tg-envelope:focus{outline:none}
.tg-invitation section,.tg-closing{position:relative}
.tg-invitation h1,.tg-invitation h2,.tg-invitation h3,.tg-invitation p,.tg-invitation blockquote,.tg-invitation ol,.tg-invitation ul{margin:0;font-weight:400}
button,input,select,textarea{font:inherit}
button,a,input,textarea{touch-action:manipulation}
button,a{-webkit-tap-highlight-color:transparent}
button{color:inherit}
a{color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid #9f7932;outline-offset:5px}
.tg-script{font-family:TGScript,cursive;font-weight:400;font-size:calc(var(--u)*41);line-height:1.35}
.tg-uppercase{text-transform:uppercase}
.tg-decoration{display:block;pointer-events:none;user-select:none;height:auto;object-fit:contain}
.tg-rule{width:calc(var(--u)*148);margin-inline:auto}
.tg-sr-only,.tg-skip-link:not(:focus){position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.tg-skip-link:focus{position:fixed;top:12px;left:12px;z-index:100000;background:white;padding:12px}
.tg-hero{height:calc(var(--u)*816)}
.tg-hero-scene{position:relative;margin-inline:auto;width:88%;aspect-ratio:9/16}
.tg-hero-media{display:block;width:100%;height:100%;object-fit:cover}
.tg-hero-scene:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:18%;background:linear-gradient(transparent,var(--tg-paper));pointer-events:none}
.tg-hero-title{position:absolute;top:20.5%;left:20.5%;right:20.5%;font-size:calc(var(--u)*18);line-height:1.25;color:#82744d;text-shadow:0 1px 1px #f5e8cc66}
.tg-hero-title h2{font-family:TGScript,cursive;font-size:calc(var(--u)*34);line-height:1.05;white-space:nowrap;margin:calc(var(--u)*3) calc(var(--u)*-14) 0}
.tg-hero-of{position:relative;display:flex;align-items:center;justify-content:center;margin:calc(var(--u)*22) auto calc(var(--u)*16);height:calc(var(--u)*20);font-family:TGSeal,cursive}
.tg-hero-of .tg-rule{position:absolute;width:calc(var(--u)*180)}
.tg-hero-of span{position:relative;background:radial-gradient(#eee1c8 25%,#eee1c800 75%);padding:0 calc(var(--u)*16)}
.tg-hero-title h1{font-family:TGScript,cursive;font-size:calc(var(--u)*56);font-weight:400;line-height:.8;display:grid;grid-template-columns:1fr 1fr;align-items:center;margin-left:0;margin-right:0}
.tg-hero-title h1 span{overflow-wrap:anywhere}
.tg-hero-title h1 span:first-child{grid-column:1/3;justify-self:start;padding-left:calc(var(--u)*5)}
.tg-hero-title h1 em{grid-column:1/3;font-size:calc(var(--u)*30);font-style:normal;line-height:.3}
.tg-hero-title h1 span:last-child{grid-column:1/3;justify-self:end;padding-right:calc(var(--u)*4)}
.tg-scroll{position:absolute;bottom:5.5%;left:25%;width:50%;display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*12);text-decoration:none;font-family:TGScript,cursive;font-size:calc(var(--u)*32);z-index:3}
.tg-scroll i{width:calc(var(--u)*12);height:calc(var(--u)*12);border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}
.tg-hero-flower{position:absolute;width:44.8%;bottom:0;z-index:2}
.tg-flower-left{left:0}.tg-flower-right{right:0}
.tg-date-section{height:calc(var(--u)*340)}
.tg-date-section h2{position:absolute;top:calc(var(--u)*49);left:0;width:100%;font-size:calc(var(--u)*41)}
.tg-scratch-hint{position:absolute;top:calc(var(--u)*118);left:0;width:100%;font-size:calc(var(--u)*20);color:#9b8553}
.tg-date-panels{position:absolute;top:calc(var(--u)*165);left:6%;right:6%;display:flex;gap:calc(var(--u)*22)}
.tg-date-panel{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*10)}
.tg-scratch-tile{position:relative;width:100%;height:calc(var(--u)*150);border:1px solid #d4bb8e;border-radius:calc(var(--u)*12);padding:0;overflow:hidden;background:linear-gradient(135deg,#fffaf1,#f4e8cf);box-shadow:inset 0 0 0 3px #fff8e9,0 6px 16px #86612116;touch-action:none}
.tg-scratch-tile canvas{position:absolute;inset:0;display:block;width:100%;height:100%;transition:opacity .65s ease}
.tg-scratch-tile.is-revealed canvas{opacity:0;pointer-events:none}
.tg-date-value{position:relative;font-family:TGSerif,Georgia,serif;font-size:calc(var(--u)*42);color:#ac8b44;line-height:1}
.tg-date-label{font-size:calc(var(--u)*12);font-weight:400;letter-spacing:.3em;color:#a88a50;text-transform:uppercase}
.tg-letter{height:calc(var(--u)*842)}
.tg-letter-arch{position:absolute;top:0;left:2%;width:96%;height:auto}
.tg-letter-copy{position:absolute;inset:0;z-index:1}
.tg-invite-line{position:absolute;top:calc(var(--u)*244);left:26%;width:48%;font-size:calc(var(--u)*14);line-height:1.2}
.tg-partner{position:absolute;left:16%;width:68%;font-size:calc(var(--u)*66);line-height:1.25;overflow-wrap:anywhere;color:#a78c4d}
.tg-partner-one{top:calc(var(--u)*300)}
.tg-partner-two{top:calc(var(--u)*480)}
.tg-letter-copy>.tg-rule{position:absolute;left:39.1%;width:21.8%}
.tg-partner-rule-one{top:calc(var(--u)*380)}
.tg-partner-rule-two{top:calc(var(--u)*552)}
.tg-relation,.tg-parents{position:absolute;left:20%;width:60%;font-size:calc(var(--u)*13);line-height:1.2}
.tg-relation-one{top:calc(var(--u)*403)}.tg-relation-two{top:calc(var(--u)*579)}
.tg-parents{font-size:calc(var(--u)*14)}
.tg-parents-one{top:calc(var(--u)*425)}.tg-parents-two{top:calc(var(--u)*601)}
.tg-with{position:absolute;top:calc(var(--u)*448);width:100%;font-size:calc(var(--u)*33);line-height:1.25}
.tg-letter-welcome{position:absolute;top:calc(var(--u)*647);width:76%;left:12%;font-size:calc(var(--u)*31);line-height:1.35}
.tg-welcome-message{position:absolute;top:calc(var(--u)*692);width:48%;left:26%;font-size:calc(var(--u)*17);line-height:1.18}
.tg-letter-flower{position:absolute;top:calc(var(--u)*647);width:49%;z-index:2}
.tg-letter-flower.tg-flower-left{left:-14.8%}.tg-letter-flower.tg-flower-right{right:-14.8%}
.tg-quote{height:calc(var(--u)*180)}
.tg-quote>.tg-rule{position:absolute;top:calc(var(--u)*36);width:31.6%;left:34.2%}
.tg-quote blockquote{position:absolute;top:calc(var(--u)*90);width:90%;left:5%;font-size:calc(var(--u)*21)}
.tg-quote cite{display:block;font-style:normal;margin-top:calc(var(--u)*10);font-size:calc(var(--u)*19)}
.tg-timeline{height:calc(var(--u)*1080)}
.tg-timeline>h2{position:absolute;top:calc(var(--u)*15);left:0;width:100%;font-size:calc(var(--u)*40)}
.tg-timeline>.tg-rule{position:absolute;top:calc(var(--u)*71);width:46.8%;left:26.6%}
.tg-events{position:absolute;top:calc(var(--u)*170);left:9%;right:9%;list-style:none;padding:0;isolation:isolate}
.tg-events:before{content:"";position:absolute;z-index:-1;top:calc(var(--u)*-35);bottom:calc(var(--u)*-4);left:calc(50% - .5px);width:1px;background:linear-gradient(transparent,#cfb37c 7%,#cfb37c 93%,transparent)}
.tg-events:after{content:"◇";position:absolute;bottom:calc(var(--u)*-20);left:calc(50% - var(--u)*8);font-size:calc(var(--u)*21);color:#c9ac72}
.tg-event{position:relative;display:grid;grid-template-columns:1fr calc(var(--u)*42) 1fr;align-items:center;min-height:calc(var(--u)*175);gap:calc(var(--u)*8)}
.tg-event-art{grid-column:1;grid-row:1;display:flex;justify-content:center}
.tg-event-art>.tg-decoration{width:calc(var(--u)*150);height:calc(var(--u)*150);object-fit:contain}
.tg-event-node{grid-column:2;grid-row:1;position:relative;display:block;width:calc(var(--u)*10);height:calc(var(--u)*10);border:1px solid #d4b781;transform:rotate(45deg);margin:auto;background:var(--tg-paper)}
.tg-event-node:has(img){border:0;background:none}
.tg-event-node>img{position:absolute;width:calc(var(--u)*50);height:calc(var(--u)*50);max-width:none;top:calc(var(--u)*-20);left:calc(var(--u)*-20);transform:rotate(-45deg)}
.tg-event-copy{grid-column:3;grid-row:1;align-self:center;width:100%}
.tg-event-copy time{font-size:calc(var(--u)*35);line-height:1.55;display:block;white-space:nowrap}
.tg-event-copy h3{font-size:calc(var(--u)*21);line-height:1.15}
.tg-event:nth-child(even) .tg-event-art{grid-column:3}
.tg-event:nth-child(even) .tg-event-copy{grid-column:1}
.tg-countdown{height:calc(var(--u)*255)}
.tg-countdown h2{position:absolute;top:calc(var(--u)*28);width:100%;font-size:calc(var(--u)*41)}
.tg-countdown>.tg-rule{position:absolute;top:calc(var(--u)*79);width:29.6%;left:35.2%}
.tg-clock{position:absolute;top:calc(var(--u)*125);left:16%;width:68%;display:grid;grid-template-columns:repeat(4,1fr);color:#b89c58}
.tg-clock>div{position:relative}
.tg-clock>div:not(:last-child):after{content:":";position:absolute;right:calc(var(--u)*-5);top:0;font-size:calc(var(--u)*42);line-height:1}
.tg-clock strong{font-size:calc(var(--u)*44);font-weight:400;line-height:1}
.tg-clock span{display:block;margin-top:calc(var(--u)*14);font-size:calc(var(--u)*19)}
.tg-countdown-status{position:absolute;top:calc(var(--u)*223);width:100%;font-size:calc(var(--u)*16)}
.tg-location{height:calc(var(--u)*590)}
.tg-location-flowers{position:absolute;top:calc(var(--u)*-54);right:-2%;width:33.4%;z-index:2}
.tg-venue-image{position:absolute;top:calc(var(--u)*236);left:6%;width:88%;height:calc(var(--u)*339);object-fit:contain;display:block}
.tg-location h2{position:absolute;top:calc(var(--u)*57);width:100%}
.tg-location>.tg-rule{position:absolute;top:calc(var(--u)*116);left:35.2%;width:29.6%}
.tg-city{position:absolute;top:calc(var(--u)*147);width:100%;font-size:calc(var(--u)*20)}
.tg-venue-name{position:absolute;top:calc(var(--u)*182);left:20%;width:60%;font-size:calc(var(--u)*20);line-height:1.15}
.tg-address,.tg-directions:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.tg-directions:focus{position:absolute;bottom:0;left:25%;width:50%;background:var(--tg-paper)}
.tg-map-section{height:calc(var(--u)*415);padding-top:calc(var(--u)*17)}
.tg-map-ornament{width:38%;margin-inline:auto;height:calc(var(--u)*42)}
.tg-map-frame{position:relative;margin:calc(var(--u)*-14) auto calc(var(--u)*-12);width:68.2%;height:calc(var(--u)*341);border:1px solid #d6bb81;padding:calc(var(--u)*11);box-shadow:inset 0 0 0 3px var(--tg-paper),inset 0 0 0 4px #dfc99d;background:#f9eddd;overflow:hidden}
.tg-map-frame iframe{border:0;width:100%;height:100%;display:block;background:#f6ebdc}
.tg-map-frame>a{position:absolute;bottom:calc(var(--u)*15);left:calc(var(--u)*15);right:calc(var(--u)*15);font-size:calc(var(--u)*13);background:#fffbf0e8;padding:calc(var(--u)*8);text-decoration:none}
.tg-dress{height:calc(var(--u)*832)}
.tg-dress>h2{position:absolute;top:calc(var(--u)*50);width:100%}
.tg-dress>.tg-rule:first-of-type{position:absolute;top:calc(var(--u)*97);width:29.6%;left:35.2%}
.tg-attire{position:absolute;top:calc(var(--u)*155);left:22.9%;width:54.2%;height:calc(var(--u)*202);object-fit:contain}
.tg-dress>p{position:absolute;width:90%;left:5%;font-size:calc(var(--u)*21)}
.tg-dress>p:first-of-type{top:calc(var(--u)*378)}
.tg-formality{position:absolute;top:calc(var(--u)*403);left:7%;width:86%;font-size:calc(var(--u)*38)}
.tg-dress>p:nth-of-type(2){top:calc(var(--u)*456)}
.tg-dress>.tg-shade-rule{position:absolute;top:calc(var(--u)*512);width:32%;left:34%}
.tg-dress>p.tg-shade-label{top:calc(var(--u)*546);font-size:calc(var(--u)*19)}
.tg-swatches{position:absolute;top:calc(var(--u)*587);left:18%;width:64%;display:flex;justify-content:space-between;list-style:none;padding:0;gap:calc(var(--u)*4)}
.tg-swatches li{flex:1;aspect-ratio:1;border-radius:50%;border:1px solid #9c8b66;box-shadow:inset 0 0 0 2px var(--tg-paper);background:#d1c6e2}
.tg-swatches li:nth-child(2){background:#f9cfb1}.tg-swatches li:nth-child(3){background:#f8e8b0}.tg-swatches li:nth-child(4){background:#f1d1d6}.tg-swatches li:nth-child(5){background:#c9dfe8}.tg-swatches li:nth-child(6){background:#d0cece}
.tg-swatches+.tg-shade-rule{top:calc(var(--u)*652)}
.tg-dress-note{position:absolute;top:calc(var(--u)*706);left:14.4%;width:71.2%;font-size:calc(var(--u)*21);line-height:1.15}
.tg-dress-note p+p{margin-top:calc(var(--u)*20)}
.tg-gifts{height:calc(var(--u)*767)}
.tg-gifts>h2{position:absolute;top:calc(var(--u)*170);left:15%;width:70%;z-index:3}
.tg-gift-card{position:absolute;top:calc(var(--u)*98);left:9.2%;width:81.6%;height:calc(var(--u)*595)}
.tg-gift-border{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}
.tg-gift-flower{position:absolute;width:68.8%;z-index:1}
.tg-gift-flower.tg-flower-left{left:-13.5%;top:calc(var(--u)*-56)}
.tg-gift-flower.tg-flower-right{right:-10.8%;bottom:calc(var(--u)*-83)}
.tg-gift-copy{position:absolute;inset:0;z-index:2}
.tg-gift-copy>p{position:absolute;left:20%;width:60%;font-size:calc(var(--u)*16.5);line-height:1.2}
.tg-gift-copy>p:first-child{top:calc(var(--u)*178)}
.tg-gift-copy>p:last-child{top:calc(var(--u)*442)}
.tg-gift-link{position:absolute;top:calc(var(--u)*320);left:15%;width:70%;font-size:calc(var(--u)*35);border:0;background:none;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;padding:0}
.tg-rsvp{height:calc(var(--u)*310)}
.tg-rsvp h2{position:absolute;top:calc(var(--u)*45);width:100%;font-size:calc(var(--u)*40)}
.tg-rsvp>.tg-rule{position:absolute;top:calc(var(--u)*107);left:35.2%;width:29.6%}
.tg-rsvp>p{position:absolute;top:calc(var(--u)*158);width:68%;left:16%;font-size:calc(var(--u)*20);line-height:1.15}
.tg-rsvp strong{font-weight:400}
.tg-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;background:#b79a59;border:1px solid #b79a59;color:#fff9ed;text-decoration:none;letter-spacing:.025em;padding:12px 36px;font-family:TGSerif,Georgia,serif;font-size:19px;line-height:1.2;transition:background .2s,border-color .2s}
.tg-button:hover{background:#a88a47;border-color:#a88a47}
.tg-rsvp>.tg-button{position:absolute;top:calc(var(--u)*250);left:35%;width:30%;font-size:calc(var(--u)*20);padding:calc(var(--u)*10);min-height:calc(var(--u)*45)}
.tg-closing{height:calc(var(--u)*268)}
.tg-closing>.tg-script{position:absolute;top:calc(var(--u)*40);left:15%;width:70%;font-size:calc(var(--u)*42);z-index:1}
.tg-closing small{position:absolute;top:calc(var(--u)*143);left:15%;width:70%;font-size:calc(var(--u)*18);z-index:1}
.tg-brand{position:absolute;top:calc(var(--u)*168);left:15%;width:70%;font-size:calc(var(--u)*25);z-index:1}
.tg-closing-flower{position:absolute;top:calc(var(--u)*-17);width:44.8%}
.tg-closing-flower.tg-flower-left{left:-.4%}.tg-closing-flower.tg-flower-right{right:-.4%}
.tg-dialog{--u:1px;position:fixed;width:min(560px,calc(100% - 32px));max-height:calc(100svh - 40px);overflow-y:auto;border:0;padding:48px 48px 36px;background:var(--tg-paper);color:var(--tg-ink);text-align:center;font-family:TGSerif,Georgia,serif;font-size:18px;box-shadow:0 20px 100px #40331333}
dialog::backdrop{background:#2c251d80;backdrop-filter:blur(3px)}
.tg-dialog h2{font-size:46px;line-height:1.1;margin:0 0 12px}
.tg-dialog-deadline{margin:0 0 30px;font-size:17px}
.tg-close{position:absolute;top:8px;right:12px;font:32px/1 Georgia,serif;border:0;background:transparent;padding:4px 8px;min-width:44px;min-height:44px}
.tg-form{text-align:left}
.tg-form>label,.tg-form legend{display:block;font-size:17px;margin:20px 0 8px}
.tg-form>input:not([type=hidden]),.tg-form textarea,.tg-dialog .rayven-rsvp-form input:not([type=hidden]):not([type=radio]):not([type=checkbox]){border:1px solid #c9b995;background:#fffaf3;border-radius:0;padding:12px;width:100%;min-height:47px;color:#6f603f}
.tg-form fieldset{margin:20px 0 0;padding:0;border:0}
.tg-form legend{margin:0 0 12px}
.tg-radio{display:flex;align-items:center;gap:10px;margin:10px 0}
.tg-radio input{accent-color:#b79a59;width:18px;height:18px}
.tg-form small{font-size:14px;display:block;margin-top:6px}
.tg-form .tg-button{display:flex;width:100%;margin-top:26px}
.tg-form .tg-privacy{font-size:13px;line-height:1.4;text-align:center;margin-top:14px}
.tg-honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.tg-form-success{padding:25px 0;font-size:20px}.tg-form-success h3{font-weight:400}
.tg-form-error{color:#8c2d24;padding:10px;border:1px solid #c59889;font-size:16px}
.tg-gift-dialog p{font-size:18px;line-height:1.5;margin:20px auto;max-width:360px}
.tg-music-toggle{position:fixed;bottom:20px;right:20px;z-index:50;background:#c3a45c;color:#fff5df;border:0;border-radius:50%;width:60px;height:60px;font-size:25px;box-shadow:0 3px 8px #80652a24}
html.tg-modal-open{overflow:hidden}
#tg-envelope{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0;padding:0;background:#f9f0e0;overflow:hidden;z-index:9999;color:#9e8048;opacity:1;transition:opacity 1.4s ease}
#tg-envelope[open]{display:flex;align-items:center;justify-content:center}
#tg-envelope::backdrop{background:transparent;backdrop-filter:none}
.tg-envelope-button{position:relative;display:block;width:min(440px,100vw,calc(100svh*.5625));aspect-ratio:9/16;border:0;padding:0;background:transparent;flex-shrink:0;cursor:pointer}
.tg-envelope-button:focus-visible{outline:none}
html.tg-keyboard .tg-envelope-button:focus-visible{outline:2px solid #9f7932;outline-offset:5px}
.tg-opening-poster,.tg-opening-video{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain;pointer-events:none}
.tg-opening-poster{opacity:1}
.tg-opening-video{opacity:0}
#tg-envelope.is-playing .tg-opening-video{opacity:1}
#tg-envelope.is-playing .tg-opening-poster{opacity:0}
.tg-envelope-prompt{position:absolute;bottom:4%;left:0;width:100%;font-family:TGSerif,Georgia,serif;text-transform:uppercase;font-size:10px;letter-spacing:.28em;animation:tg-prompt 2.4s ease-in-out infinite}
.tg-skip-intro{position:absolute;right:20px;bottom:16px;background:none;border:0;padding:12px;font:13px TGSerif,Georgia,serif;color:#9f8b66;min-height:44px}
#tg-envelope.is-loading .tg-envelope-prompt,#tg-envelope.is-playing .tg-envelope-prompt{opacity:0;animation:none}
#tg-envelope.is-leaving{opacity:0;pointer-events:none}
@keyframes tg-prompt{50%{opacity:.45}}
@media(max-width:560px){.tg-invitation{overflow-x:clip}.tg-dialog{padding:46px 24px 28px}.tg-dialog h2{font-size:39px}.tg-dialog{font-size:16px}.tg-music-toggle{width:48px;height:48px;bottom:15px;right:15px}.tg-envelope-button{width:min(440px,100vw,calc(100svh*.5625))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.tg-scratch-tile canvas{transition:none}}
@media print{#tg-envelope,.tg-music-toggle,.tg-dialog,.tg-map-section,.tg-button,.tg-scroll{display:none!important}.tg-hero-video{display:none}.tg-invitation{--u:1px}body.timeless-grace{background:white}.tg-scratch-tile canvas{display:none}.tg-invitation section{break-inside:avoid}}

/* Mobile edge-to-edge hero and usable venue map — 2026-10-26 */
@media (max-width:560px){
  .tg-invitation{width:100%;max-width:100%;margin:0 auto;overflow-x:clip}
  .tg-hero{height:auto;min-height:0;padding:0;isolation:isolate}
  .tg-hero-scene{width:100%;max-width:none;margin:0;aspect-ratio:9/16}
  .tg-hero-media{width:100%;height:100%;object-fit:cover}
  .tg-hero-title{z-index:1}
  .tg-map-section{height:auto;min-height:0;padding:calc(var(--u)*25) 0 calc(var(--u)*35)}
  .tg-map-frame{width:calc(100% - 32px);max-width:480px;height:clamp(300px,90vw,440px);margin:0 auto;padding:10px;overflow:hidden}
  .tg-map-frame iframe{display:block;width:100%;height:100%;max-width:100%;border:0}
  .tg-map-ornament{max-width:180px}
  .tg-map-frame>a{left:14px;right:14px;bottom:14px;font-size:13px;padding:10px;z-index:1}
}
