:root{
  --ink:#2d2530;
  --cream:#fffaf5;
  --paper:#ffffff;
  --rose:#e88a9b;
  --peach:#f3b48f;
  --plum:#8b5c7c;
  --berry:#b75674;
  --gold:#e9c778;
  --sage:#a8b6a0;
  --line:rgba(45,37,48,.12);
  --shadow:0 24px 70px rgba(74,44,58,.13);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"DM Sans",sans-serif;background:var(--cream);color:var(--ink);line-height:1.6;overflow-x:hidden}
a{color:inherit;text-decoration:none} button,input,select,textarea{font:inherit}
.announcement{background:var(--ink);color:white;text-align:center;padding:8px 18px;font-size:12px;letter-spacing:.11em;text-transform:uppercase}
.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;position:sticky;top:0;background:rgba(255,250,245,.91);backdrop-filter:blur(16px);z-index:50;border-bottom:1px solid rgba(45,37,48,.07)}
.brand{display:flex;align-items:center;gap:10px}.brand-mark{position:relative;width:44px;height:42px;display:inline-block}.brand-mark i{position:absolute;border-radius:50%;width:21px;height:27px;box-shadow:inset -4px -4px 0 rgba(0,0,0,.05)}.brand-mark i:nth-child(1){background:var(--rose);left:4px;top:0;transform:rotate(-18deg)}.brand-mark i:nth-child(2){background:var(--gold);left:21px;top:4px;transform:rotate(14deg)}.brand-mark i:nth-child(3){background:var(--plum);left:0;top:15px;transform:rotate(-25deg)}.brand-mark i:nth-child(4){background:var(--peach);left:22px;top:18px;transform:rotate(20deg)}
.brand-copy{display:flex;flex-direction:column;line-height:.86}.brand-copy strong{font:700 24px "Playfair Display",serif}.brand-copy small{text-transform:uppercase;letter-spacing:.26em;font-size:8px;margin-left:2px;margin-top:6px}
.main-nav{display:flex;align-items:center;gap:clamp(18px,2vw,36px);font-size:13px;font-weight:600;margin-left:2vw}.main-nav a{position:relative}.main-nav a:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:1px;background:var(--berry);transition:.25s}.main-nav a:hover:after{width:100%}.menu-toggle{display:none;border:0;background:none;font-size:25px}
.btn{border:0;background:var(--ink);color:white;border-radius:999px;padding:15px 24px;font-weight:700;cursor:pointer;transition:.25s;box-shadow:0 9px 25px rgba(45,37,48,.15)}.btn:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(45,37,48,.2)}.btn-small{padding:10px 18px;font-size:12px}.btn-light{background:white;color:var(--ink)}
.hero{min-height:690px;display:grid;grid-template-columns:1fr 1fr;gap:4vw;align-items:center;padding:75px 6vw 80px;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(232,138,155,.16),transparent 70%);left:-180px;top:-80px}.hero-copy{max-width:680px;z-index:2}.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.17em;font-size:11px;font-weight:700;color:var(--berry);margin-bottom:15px}.hero h1,.section h2,.feature-band h2,.testimonial-section h2,.final-cta h2,.modal h2{font-family:"Playfair Display",serif;line-height:.98;margin:0}.hero h1{font-size:clamp(50px,6vw,88px);letter-spacing:-.04em}.hero h1 em{color:var(--berry);font-weight:600}.hero-copy>p{font-size:18px;max-width:620px;color:#665d67;margin:28px 0}.hero-actions{display:flex;align-items:center;gap:25px}.text-link{font-weight:700;font-size:14px}.text-link span{transition:.2s;display:inline-block}.text-link:hover span{transform:translateX(5px)}.hero-trust{display:flex;gap:32px;margin-top:48px;padding-top:24px;border-top:1px solid var(--line)}.hero-trust div{display:flex;flex-direction:column}.hero-trust strong{font-size:13px}.hero-trust span{font-size:11px;color:#7a7179;margin-top:3px}
.hero-art{height:570px;position:relative;border-radius:46% 46% 5% 5% / 35% 35% 5% 5%;background:linear-gradient(150deg,#f6e5dd,#eac9c5 53%,#d7a9b7);box-shadow:var(--shadow);overflow:hidden}.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(56,30,43,.1),transparent 45%)}.hero-panel{position:absolute;left:50%;top:55%;transform:translate(-50%,-50%);width:55%;height:36%;background:rgba(255,248,240,.87);backdrop-filter:blur(5px);z-index:4;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border:1px solid rgba(255,255,255,.75);box-shadow:0 18px 42px rgba(84,46,60,.12)}.hero-panel .mini{letter-spacing:.35em;font-size:10px}.hero-panel strong{font:700 clamp(24px,3vw,45px)/.95 "Playfair Display",serif;margin:8px 0;color:#543944}.hero-panel small{font-size:8px;letter-spacing:.25em}.arch .b,.float-balloon{position:absolute;border-radius:50%;z-index:3;box-shadow:inset -8px -8px 15px rgba(55,24,36,.08),inset 4px 4px 10px rgba(255,255,255,.18)}.arch .b:after,.float-balloon:after{content:"";width:9px;height:7px;position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);clip-path:polygon(50% 0,100% 100%,0 100%);background:inherit}.b1{width:105px;height:125px;background:#b75d78;left:-10px;top:45px}.b2{width:86px;height:104px;background:#ed9fa5;left:70px;top:5px}.b3{width:118px;height:143px;background:#f1b08b;left:145px;top:-28px}.b4{width:90px;height:110px;background:#8c6884;left:250px;top:10px}.b5{width:112px;height:132px;background:#e0bf72;right:82px;top:-12px}.b6{width:88px;height:105px;background:#acb89e;right:15px;top:45px}.b7{width:115px;height:138px;background:#d5768c;right:-35px;top:125px}.b8{width:93px;height:114px;background:#f0a47f;right:23px;top:215px}.b9{width:114px;height:136px;background:#a86b8f;right:-12px;bottom:80px}.b10{width:86px;height:104px;background:#d9b86b;right:75px;bottom:0}.b11{width:108px;height:130px;background:#d98093;left:-20px;bottom:60px}.b12{width:84px;height:104px;background:#f0b18e;left:56px;bottom:-5px}.b13{width:72px;height:88px;background:#c2b08a;left:25px;top:175px}.b14{width:66px;height:82px;background:#946b87;left:85px;top:115px}.b15{width:75px;height:90px;background:#d7a862;right:95px;top:118px}.b16{width:62px;height:78px;background:#f2c4b6;right:65px;bottom:145px}.fb1{width:48px;height:58px;background:#fff1e6;top:70px;left:44%;animation:float 5s ease-in-out infinite}.fb2{width:38px;height:48px;background:#d8adba;bottom:58px;left:43%;animation:float 6s ease-in-out infinite reverse}.fb3{width:28px;height:36px;background:#f5d785;top:36%;right:42%;animation:float 4s ease-in-out infinite}.sparkle{position:absolute;color:white;z-index:6;font-size:25px;opacity:.8}.s1{left:38%;top:22%}.s2{right:35%;bottom:18%}@keyframes float{50%{transform:translateY(-13px) rotate(3deg)}}
.logo-strip{background:white;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 5vw;display:flex;justify-content:center;flex-wrap:wrap;gap:16px;color:#766d74;text-transform:uppercase;font-size:10px;letter-spacing:.14em}.logo-strip b{color:var(--rose)}
.section{padding:105px 6vw}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:48px}.section h2{font-size:clamp(38px,4.4vw,64px);letter-spacing:-.03em}.section-head p{max-width:470px;margin:0;color:#6f666d}
.event-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.event-card{width:100%;padding:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:white;border:1px solid var(--line);border-radius:20px;overflow:hidden;transition:.3s;box-shadow:0 10px 35px rgba(67,42,55,.05)}.event-card:hover{transform:translateY(-6px);box-shadow:0 20px 45px rgba(67,42,55,.11)}.event-card:focus-visible{outline:3px solid var(--berry);outline-offset:4px}.event-card>div:last-child{padding:22px}.event-card span{color:var(--berry);font-size:10px;font-weight:700}.event-card h3{font:600 26px "Playfair Display",serif;margin:5px 0}.event-card p{font-size:13px;color:#786f76;margin:0}.mini-scene{height:260px;position:relative;overflow:hidden}.mini-scene:before,.mini-scene:after{content:"";position:absolute;border-radius:50%}.scene-party{background:linear-gradient(150deg,#f4c4b0,#d86f8f)}.scene-party:before{width:230px;height:260px;border:28px solid #f7d4a1;border-left-color:transparent;border-bottom-color:transparent;transform:rotate(-25deg);right:-35px;top:40px}.scene-party:after{width:75px;height:90px;background:#8e668a;left:35px;top:54px;box-shadow:55px -28px 0 #f3e4c5,95px 40px 0 #c192a2,25px 85px 0 #ec9f83}.scene-baby{background:linear-gradient(150deg,#f4eee6,#d9d0c4)}.scene-baby:before{width:170px;height:190px;border:24px solid #d5b2a4;border-left-color:transparent;border-bottom-color:transparent;right:12px;top:45px;transform:rotate(-25deg)}.scene-baby:after{width:66px;height:78px;background:#f1d9c8;right:85px;top:15px;box-shadow:52px 30px 0 #c6b2a3,-22px 63px 0 #ead9bc,-46px 111px 0 #b9a38e}.scene-wedding{background:linear-gradient(160deg,#eee3de,#b99197)}.scene-wedding:before{width:190px;height:260px;border:25px solid #f7eee2;border-bottom:0;border-radius:100px 100px 0 0;left:50%;transform:translateX(-50%);top:60px}.scene-wedding:after{width:64px;height:76px;background:#bd7f8d;left:14px;top:18px;box-shadow:58px 22px 0 #e8c0b0,95px -8px 0 #f0d0b2,132px 30px 0 #9f7080,180px 5px 0 #d7ac93}.scene-corporate{background:linear-gradient(145deg,#8f687d,#453743)}.scene-corporate:before{width:60px;height:70px;background:#f0bf6e;right:25px;top:25px;box-shadow:-48px 35px 0 #f2d497,-83px -4px 0 #d0a7bb,-128px 45px 0 #f6c8aa,-171px 10px 0 #a8b7a4}.scene-corporate:after{width:120px;height:80px;background:#fff7ed;border-radius:4px;left:50%;bottom:35px;transform:translateX(-50%)}
.services-section{background:#f7efe9}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.service-card{width:100%;color:inherit;text-align:left;font:inherit;cursor:pointer;background:rgba(255,255,255,.65);border:1px solid rgba(90,65,77,.10);min-height:255px;padding:24px;border-radius:18px;display:flex;flex-direction:column;justify-content:flex-end;transition:.3s}.service-card:hover{background:white;transform:translateY(-4px);box-shadow:0 16px 38px rgba(67,42,55,.10)}.service-card:focus-visible{outline:3px solid var(--berry);outline-offset:4px}.service-card h3{font:600 23px "Playfair Display",serif;margin:12px 0 4px}.service-card p{margin:0;color:#746a71;font-size:13px}.service-link-label{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:13px;border-top:1px solid var(--line);color:var(--berry);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.service-link-label b{font-size:19px;line-height:1;transition:transform .2s ease}.service-card:hover .service-link-label b{transform:translateX(4px)}.service-icon{height:80px;position:relative}.service-icon:before,.service-icon:after{content:"";position:absolute}.icon-arch:before{width:90px;height:65px;border:14px dotted var(--rose);border-bottom:0;border-radius:50px 50px 0 0;left:5px;top:8px}.icon-garland:before{width:22px;height:28px;border-radius:50%;background:var(--rose);left:8px;top:29px;box-shadow:23px -14px 0 var(--peach),46px 3px 0 var(--gold),67px -10px 0 var(--plum),88px 8px 0 var(--sage)}.icon-column:before{width:22px;height:22px;border-radius:50%;background:var(--berry);left:28px;top:4px;box-shadow:0 22px 0 var(--peach),0 44px 0 var(--gold),0 66px 0 var(--plum)}.icon-column:after{width:22px;height:22px;border-radius:50%;background:var(--rose);left:48px;top:15px;box-shadow:0 22px 0 var(--sage),0 44px 0 var(--rose)}.icon-wall:before{width:105px;height:64px;background:linear-gradient(135deg,var(--rose),var(--peach));border-radius:8px;left:4px;top:10px}.icon-wall:after{width:58px;height:50px;border:9px dotted white;border-radius:50%;left:52px;top:4px}.icon-bouquet:before{width:38px;height:46px;border-radius:50%;background:var(--rose);left:30px;top:3px;box-shadow:-25px 20px 0 var(--gold),28px 18px 0 var(--plum),3px 34px 0 var(--peach)}.icon-bouquet:after{width:1px;height:38px;background:#6a6167;left:50px;top:47px;transform:rotate(-8deg);box-shadow:-16px -3px 0 #6a6167,19px -1px 0 #6a6167}.icon-drop:before{width:14px;height:17px;border-radius:50%;background:var(--rose);left:12px;top:0;box-shadow:24px 14px 0 var(--gold),48px -4px 0 var(--plum),72px 18px 0 var(--peach),95px 2px 0 var(--sage),10px 40px 0 var(--peach),40px 51px 0 var(--rose),68px 38px 0 var(--gold),90px 58px 0 var(--plum)}.icon-letter:before{content:"21";font:700 68px/1 "Playfair Display",serif;color:var(--plum);left:5px;top:2px}.icon-brand:before{content:"LOGO";width:105px;height:60px;background:var(--ink);color:white;display:grid;place-items:center;border-radius:5px;font-size:13px;letter-spacing:.13em;left:4px;top:10px}.icon-brand:after{width:18px;height:23px;border-radius:50%;background:var(--gold);right:8px;top:0;box-shadow:-20px 28px 0 var(--rose),2px 48px 0 var(--peach)}
.feature-band{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:white;min-height:610px}.corporate-art{min-height:610px;position:relative;background:linear-gradient(145deg,#e5b2aa,#9f6c80);overflow:hidden}.corp-stage{position:absolute;width:48%;height:43%;left:50%;top:54%;transform:translate(-50%,-50%);background:#fff9ef;color:#47353d;display:grid;place-items:center;text-align:center;font:700 clamp(36px,5vw,70px)/.84 "Playfair Display",serif;z-index:3;box-shadow:0 20px 50px rgba(48,28,37,.16)}.corp-balloons{position:absolute;border-radius:50%;box-shadow:inset -8px -8px 12px rgba(0,0,0,.08)}.cb1{width:160px;height:185px;background:#e7c172;left:5%;top:6%}.cb2{width:115px;height:140px;background:#8f6b8a;left:20%;top:20%}.cb3{width:140px;height:165px;background:#f0b397;right:6%;top:5%}.cb4{width:120px;height:142px;background:#afb9a1;right:10%;bottom:8%}.cb5{width:95px;height:112px;background:#d46e89;left:8%;bottom:10%}.corporate-copy{padding:95px 8vw 85px 7vw;display:flex;flex-direction:column;justify-content:center}.corporate-copy .eyebrow{color:#f0c989}.feature-band h2{font-size:clamp(42px,4.6vw,66px);margin-bottom:24px}.corporate-copy>p{color:#d8d1d6;max-width:570px}.check-list{padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:9px 25px;margin:28px 0 34px}.check-list li{font-size:13px;color:#f0e8ed}.check-list li:before{content:"✦";color:var(--gold);margin-right:9px}
.gallery-head{align-items:center}.filter-group{display:flex;gap:7px;flex-wrap:wrap}.filter{border:1px solid var(--line);background:transparent;padding:8px 14px;border-radius:999px;font-size:11px;cursor:pointer}.filter.active,.filter:hover{background:var(--ink);color:white}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:340px;gap:16px}.gallery-card{background:white;border-radius:16px;overflow:hidden;border:1px solid var(--line);transition:.35s}.gallery-card.tall{grid-row:span 2}.gallery-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.gallery-card.is-hidden{display:none}.gallery-visual{height:calc(100% - 54px);min-height:280px;position:relative;overflow:hidden;display:grid;place-items:center}.gallery-label{height:54px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600}.gallery-label span{color:var(--berry)}.gallery-visual:before,.gallery-visual:after{content:"";position:absolute;border-radius:50%}.gallery-visual span{position:relative;z-index:3;text-align:center;font:700 clamp(34px,4vw,64px)/.9 "Playfair Display",serif}.gv1{background:linear-gradient(145deg,#f2c5a1,#d77b8e);color:#fff8ee}.gv1:before{width:150px;height:185px;background:#8c6888;left:-20px;top:-15px;box-shadow:90px -35px 0 #f0cf75,155px 5px 0 #d86681,210px -28px 0 #f4ae8e,255px 55px 0 #acb7a2}.gv1:after{width:180px;height:220px;border:26px solid rgba(255,255,255,.75);border-left:0;bottom:-80px;right:-40px}.gv2{background:#f3ece2;color:#9b6c74}.gv2:before{width:76px;height:92px;background:#ddc9b4;right:10%;top:12%;box-shadow:-60px 22px 0 #e6bdb2,-108px -8px 0 #c7b5a7,-145px 53px 0 #f0dcbf}.gv2 span{font-style:italic}.gv3{background:#453942;color:white}.gv3:before{width:70px;height:85px;background:#efc66c;left:8%;top:6%;box-shadow:60px 30px 0 #d17f92,120px 3px 0 #a9b6a1,230px 8px 0 #efa78d,280px 45px 0 #9f708e}.gv3:after{width:200px;height:150px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.35);border-radius:5px}.gv4{background:linear-gradient(140deg,#f0d6b2,#d4919c);color:white}.gv4:before{width:80px;height:96px;background:#b36e88;left:5%;top:12%;box-shadow:70px -23px 0 #f2b38f,130px 8px 0 #eed07f,210px -5px 0 #8e6d8c,260px 55px 0 #f2c4b5}.gv5{background:linear-gradient(160deg,#f7f1e9,#d7c4be);color:#624e56}.gv5:before{width:245px;height:330px;border:34px dotted #d3959e;border-left-color:#ead1b0;border-top-color:#b28b97;border-radius:130px 130px 0 0;left:50%;transform:translateX(-50%);top:20%}.gv6{background:linear-gradient(135deg,#a36c7f,#5c4351);color:#fff7ee}.gv6:before{width:54px;height:68px;background:#ebc86e;right:5%;top:8%;box-shadow:-50px 22px 0 #efb093,-95px -5px 0 #aeb9a1,-145px 35px 0 #e08799,-205px 10px 0 #f2d29a}.demo-note{text-align:center;color:#8a8086;font-size:11px;margin-top:25px}
.process-section{background:white}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.process-step{padding:35px 45px;min-height:220px;border-right:1px solid var(--line)}.process-step:last-child{border-right:0}.process-step>span{font:600 45px "Playfair Display",serif;color:#e3b4bf}.process-step h3{font:600 23px "Playfair Display",serif;margin:15px 0 6px}.process-step p{margin:0;color:#7a7077;font-size:13px}
.testimonial-section{display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding:105px 9vw;background:#efe5df;align-items:center}.testimonial-card{background:white;border-radius:28px;padding:50px;box-shadow:var(--shadow);transform:rotate(-1deg)}.quote-mark{font:700 80px/1 "Playfair Display",serif;color:var(--rose)}blockquote{font:600 30px/1.2 "Playfair Display",serif;margin:0 0 26px}.testimonial-card p{font-size:12px;color:#82757d}.testimonial-side h2{font-size:clamp(39px,4vw,59px)}.testimonial-side p{color:#756b72;max-width:520px}
.about-section{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.about-copy>p{color:#6e646b;max-width:590px}.subtle{font-size:12px!important;color:#93888f!important;border-left:2px solid var(--rose);padding-left:14px;margin-top:25px}.about-art{min-height:520px}.about-frame{height:520px;border-radius:220px 220px 24px 24px;background:linear-gradient(145deg,#c28798,#e0ad9d);position:relative;overflow:hidden;display:grid;place-items:center}.about-frame>span{font:700 clamp(45px,6vw,80px)/.82 "Playfair Display",serif;color:#fff8ef;text-align:center;z-index:2}.about-bunch i{position:absolute;border-radius:50%;width:120px;height:145px;background:#f0c86f;top:3%;left:12%;box-shadow:inset -8px -8px 13px rgba(0,0,0,.07)}.about-bunch i:nth-child(2){background:#b05f7b;left:39%;top:-5%}.about-bunch i:nth-child(3){background:#eab090;left:66%;top:8%}.about-bunch i:nth-child(4){background:#9fae96;left:4%;top:32%}.about-bunch i:nth-child(5){background:#9b748e;left:71%;top:38%}.about-bunch i:nth-child(6){background:#f4d8a4;left:22%;top:65%}
.final-cta{min-height:480px;background:var(--berry);color:white;padding:95px 7vw;position:relative;overflow:hidden;display:grid;place-items:center;text-align:center}.final-cta>div:not(.cta-balloons){position:relative;z-index:3}.final-cta .eyebrow{color:#ffe4bd}.final-cta h2{font-size:clamp(48px,5.5vw,78px)}.final-cta p{color:#f8dde6;margin:20px auto 28px;max-width:540px}.cta-balloons{position:absolute;width:200px;height:260px;border-radius:50%;background:#f2c96e;opacity:.7}.cta-balloons:after{content:"";position:absolute;width:130px;height:165px;border-radius:50%;background:#8f6d89;top:130px}.cta-balloons.left{left:-90px;top:35px;transform:rotate(15deg)}.cta-balloons.right{right:-75px;bottom:-20px;background:#f0ad93;transform:rotate(-18deg)}.cta-balloons.left:after{left:90px}.cta-balloons.right:after{right:110px;background:#aab5a0}
footer{padding:58px 6vw 30px;background:#2a232b;color:#f7eef2;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:30px;align-items:start}.footer-brand .brand-mark{filter:saturate(.9) brightness(1.1)}.footer-links,.footer-meta{display:flex;flex-direction:column;gap:9px;font-size:12px;color:#d5cbd1}.copyright{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:20px;margin-top:18px;font-size:10px;color:#9f939b}.floating-quote{display:none;position:fixed;right:18px;bottom:18px;z-index:40;border:0;background:var(--ink);color:white;border-radius:999px;padding:13px 18px;font-weight:700;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.modal{position:fixed;inset:0;z-index:100;display:none}.modal.open{display:block}.modal-backdrop{position:absolute;inset:0;background:rgba(28,21,27,.68);backdrop-filter:blur(5px)}.modal-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(700px,92vw);max-height:90vh;overflow:auto;background:var(--cream);border-radius:25px;padding:42px;box-shadow:0 40px 100px rgba(0,0,0,.3)}.modal-x{position:absolute;right:20px;top:14px;border:0;background:none;font-size:32px;color:#786c74;cursor:pointer}.modal h2{font-size:43px;margin-bottom:25px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.modal label{display:flex;flex-direction:column;font-size:11px;font-weight:700;gap:6px;margin-bottom:13px}.modal input,.modal select,.modal textarea{border:1px solid var(--line);background:white;border-radius:10px;padding:12px 13px;outline:none}.modal input:focus,.modal select:focus,.modal textarea:focus{border-color:var(--rose)}.form-note{font-size:10px;color:#8e838a;margin-bottom:0}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:translateY(0)}
@media(max-width:980px){.main-nav{position:absolute;top:82px;left:0;right:0;background:var(--cream);padding:24px 6vw;display:none;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.main-nav.open{display:flex}.menu-toggle{display:block}.hero{grid-template-columns:1fr;padding-top:55px}.hero-art{height:520px}.hero-trust{flex-wrap:wrap}.event-grid{grid-template-columns:1fr 1fr}.service-grid{grid-template-columns:1fr 1fr}.feature-band{grid-template-columns:1fr}.corporate-art{min-height:500px}.gallery-grid{grid-template-columns:1fr 1fr}.testimonial-section,.about-section{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column}.floating-quote{display:block}}
@media(max-width:640px){.announcement{font-size:9px}.site-header{height:72px}.brand-copy strong{font-size:21px}.hero{padding:45px 5vw 60px}.hero h1{font-size:52px}.hero-copy>p{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-trust{gap:18px}.hero-art{height:430px;border-radius:42% 42% 4% 4% / 30% 30% 4% 4%}.hero-panel{width:62%;height:33%}.arch .b{transform:scale(.75)}.section{padding:75px 5vw}.section h2{font-size:42px}.event-grid,.service-grid,.gallery-grid,.process-grid{grid-template-columns:1fr}.gallery-card.tall{grid-row:auto}.gallery-grid{grid-auto-rows:360px}.process-step{border-right:0;border-bottom:1px solid var(--line);padding:30px 10px}.feature-band h2{font-size:43px}.corporate-copy{padding:70px 7vw}.corporate-art{min-height:430px}.corp-stage{width:58%}.testimonial-section{padding:75px 5vw}.testimonial-card{padding:34px 28px}.testimonial-card blockquote{font-size:25px}.about-art,.about-frame{min-height:420px;height:420px}.final-cta{padding:80px 6vw}.field-row{grid-template-columns:1fr}.modal-card{padding:35px 22px}.modal h2{font-size:35px}footer{grid-template-columns:1fr}.copyright{grid-column:1}}

/* ---- Motion upgrade ---- */
body::before{
  content:"";
  position:fixed;
  inset:-20%;
  pointer-events:none;
  z-index:-1;
  background:
    radial-gradient(circle at 18% 22%, rgba(232,138,155,.10), transparent 20%),
    radial-gradient(circle at 80% 36%, rgba(233,199,120,.09), transparent 18%),
    radial-gradient(circle at 58% 82%, rgba(139,92,124,.08), transparent 22%);
  animation:ambientDrift 18s ease-in-out infinite alternate;
}
@keyframes ambientDrift{to{transform:translate3d(2.5%, -2%, 0) scale(1.04)}}

.announcement{
  position:relative;
  overflow:hidden;
}
.announcement::after{
  content:"✦  CUSTOM INSTALLATIONS  ✦  EVENTS  ✦  CELEBRATIONS  ✦  CORPORATE  ✦  WEDDINGS  ✦  BIRTHDAYS  ✦";
  position:absolute;
  white-space:nowrap;
  left:100%;
  top:50%;
  transform:translateY(-50%);
  opacity:.18;
  animation:announcementRun 18s linear infinite;
}
@keyframes announcementRun{to{left:-120%}}

.site-header{
  transition:height .35s ease, box-shadow .35s ease, background .35s ease;
}
.site-header.scrolled{
  height:72px;
  box-shadow:0 12px 35px rgba(74,44,58,.08);
  background:rgba(255,250,245,.97);
}
.brand-mark{animation:brandBob 4.5s ease-in-out infinite}
@keyframes brandBob{50%{transform:translateY(-3px) rotate(-2deg)}}
.brand-mark i:nth-child(1){animation:logoPulse1 5s ease-in-out infinite}
.brand-mark i:nth-child(2){animation:logoPulse2 5.8s ease-in-out infinite}
.brand-mark i:nth-child(3){animation:logoPulse1 6.5s ease-in-out infinite reverse}
.brand-mark i:nth-child(4){animation:logoPulse2 4.9s ease-in-out infinite reverse}
@keyframes logoPulse1{50%{transform:translateY(-4px) rotate(-14deg) scale(1.04)}}
@keyframes logoPulse2{50%{transform:translateY(3px) rotate(18deg) scale(.98)}}

.main-nav{
  flex:1;
  justify-content:space-evenly;
  gap:clamp(48px,5.2vw,110px);
  margin-left:7vw;
}
.main-nav a{
  font-size:15px;
  letter-spacing:.02em;
  padding:11px 2px;
  transition:transform .25s ease, color .25s ease;
}
.main-nav a:hover{transform:translateY(-2px);color:var(--berry)}
.main-nav .btn-small{font-size:14px;padding:12px 23px}

.hero-copy > *{position:relative}
.hero h1 em{display:inline-block;animation:heroWordFloat 5s ease-in-out infinite}
@keyframes heroWordFloat{50%{transform:translateY(-5px) rotate(-1deg)}}
.hero-art{
  animation:heroPanelFloat 8s ease-in-out infinite;
  transform-style:preserve-3d;
  will-change:transform;
}
@keyframes heroPanelFloat{50%{transform:translateY(-8px)}}
.hero-panel{animation:panelBreath 5s ease-in-out infinite}
@keyframes panelBreath{50%{transform:translate(-50%,-50%) scale(1.025)}}
.arch .b{animation:balloonSway 6s ease-in-out infinite;transform-origin:50% 100%}
.arch .b:nth-child(2n){animation-duration:7.2s;animation-direction:alternate-reverse}
.arch .b:nth-child(3n){animation-duration:5.4s}
@keyframes balloonSway{50%{transform:translateY(-5px) rotate(2deg)}}
.sparkle{animation:sparklePulse 2.8s ease-in-out infinite}
.s2{animation-delay:1.1s}
@keyframes sparklePulse{50%{transform:scale(1.45) rotate(20deg);opacity:.35}}

.logo-strip{
  position:relative;
  overflow:hidden;
}
.logo-strip span{display:inline-block;animation:softSlide 9s ease-in-out infinite alternate}
.logo-strip span:nth-of-type(even){animation-delay:.7s}
@keyframes softSlide{50%{transform:translateY(-2px)}}

.section-head .eyebrow{position:relative}
.section-head .eyebrow::after{
  content:"";
  display:inline-block;
  width:28px;
  height:1px;
  background:currentColor;
  margin-left:10px;
  vertical-align:middle;
  transform-origin:left;
  animation:lineGrow 3s ease-in-out infinite;
}
@keyframes lineGrow{50%{transform:scaleX(1.7)}}

.event-card,.service-card,.gallery-card,.process-step,.testimonial-card{
  will-change:transform;
}
.event-card .mini-scene::before,
.event-card .mini-scene::after,
.gallery-visual::before,
.gallery-visual::after{
  transition:transform .7s cubic-bezier(.2,.8,.2,1);
}
.event-card:hover .mini-scene::before{transform:translate3d(8px,-8px,0) rotate(-19deg) scale(1.03)}
.event-card:hover .mini-scene::after{transform:translate3d(-5px,-6px,0) scale(1.04)}
.gallery-card:hover .gallery-visual::before{transform:translate3d(6px,-8px,0) scale(1.03)}
.gallery-card:hover .gallery-visual::after{transform:translate3d(-5px,6px,0) scale(1.03)}
.service-card:hover .service-icon{animation:iconBounce .7s ease}
@keyframes iconBounce{40%{transform:translateY(-7px) scale(1.04)}70%{transform:translateY(2px)}}

.feature-band{position:relative;overflow:hidden}
.feature-band::after{
  content:"";
  position:absolute;
  width:340px;height:340px;border-radius:50%;
  border:1px solid rgba(255,255,255,.12);
  right:-120px;top:-90px;
  animation:orbitRing 16s linear infinite;
}
@keyframes orbitRing{to{transform:rotate(360deg) scale(1.08)}}
.corp-balloons{animation:corpFloat 5.5s ease-in-out infinite;transform-origin:50% 100%}
.cb2{animation-delay:.5s}.cb3{animation-delay:1s}.cb4{animation-delay:1.5s}.cb5{animation-delay:2s}
@keyframes corpFloat{50%{transform:translateY(-10px) rotate(2deg)}}

.filter{transition:transform .2s ease, background .2s ease, color .2s ease}
.filter:hover{transform:translateY(-2px)}
.gallery-card .gallery-label span{transition:transform .25s ease}
.gallery-card:hover .gallery-label span{transform:translateX(5px)}

.process-step{transition:background .3s ease, transform .3s ease}
.process-step:hover{background:#fffaf6;transform:translateY(-4px)}
.process-step>span{display:inline-block;transition:transform .35s ease}
.process-step:hover>span{transform:translateY(-4px) rotate(-3deg) scale(1.05)}

.testimonial-card{animation:testimonialFloat 8s ease-in-out infinite}
@keyframes testimonialFloat{50%{transform:rotate(1deg) translateY(-6px)}}
.about-frame{animation:aboutGlow 8s ease-in-out infinite;box-shadow:0 28px 70px rgba(129,79,102,.14)}
@keyframes aboutGlow{50%{box-shadow:0 38px 90px rgba(129,79,102,.22)}}
.about-bunch i{animation:aboutBalloon 6s ease-in-out infinite}
.about-bunch i:nth-child(2){animation-delay:.5s}.about-bunch i:nth-child(3){animation-delay:1s}.about-bunch i:nth-child(4){animation-delay:1.5s}.about-bunch i:nth-child(5){animation-delay:2s}.about-bunch i:nth-child(6){animation-delay:2.5s}
@keyframes aboutBalloon{50%{transform:translateY(-9px) rotate(2deg)}}

.final-cta::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 40%, rgba(255,255,255,.12), transparent 40%);
  animation:ctaGlow 5s ease-in-out infinite;
}
@keyframes ctaGlow{50%{opacity:.45;transform:scale(1.05)}}
.cta-balloons.left{animation:ctaLeft 8s ease-in-out infinite}
.cta-balloons.right{animation:ctaRight 9s ease-in-out infinite}
@keyframes ctaLeft{50%{transform:translate(12px,-12px) rotate(19deg)}}
@keyframes ctaRight{50%{transform:translate(-12px,-16px) rotate(-22deg)}}

.reveal{transition:opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.motion-left{transform:translateX(-34px)}
.reveal.motion-right{transform:translateX(34px)}
.reveal.motion-scale{transform:scale(.96)}
.reveal.visible.motion-left,.reveal.visible.motion-right{transform:translateX(0)}
.reveal.visible.motion-scale{transform:scale(1)}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
}

@media(max-width:1180px) and (min-width:981px){
  .main-nav{gap:30px;margin-left:3vw}
  .main-nav a{font-size:13px}
}

/* Artistic Balloon Co — real-business content pass */
.site-header{padding-left:4vw;padding-right:4vw}
.main-nav{gap:clamp(34px,3.8vw,74px);margin-left:4vw}
.header-phone{font-size:14px!important;font-weight:800!important;color:var(--berry)!important;white-space:nowrap;letter-spacing:.01em!important}
.header-phone:after{display:none!important}
.header-phone:hover{color:var(--ink)!important;transform:translateY(-2px) scale(1.02)!important}

.announcement::after{
  content:"✦  TUSCALOOSA  ✦  BIRTHDAYS  ✦  BABY CELEBRATIONS  ✦  ARCHES  ✦  COLUMNS  ✦  CENTERPIECES  ✦  CUSTOM BALLOON ART  ✦";
}

.testimonial-card h3{
  font:600 clamp(31px,3vw,46px)/1.08 "Playfair Display",serif;
  margin:4px 0 18px;
}
.testimonial-card>p{font-size:15px;line-height:1.75;color:#72666f;margin:0}
.testimonial-card .quote-mark{font-size:48px;display:block;margin-bottom:8px}

.cta-phone{
  display:block;
  width:max-content;
  margin:20px auto 0;
  color:#fff;
  font-size:13px;
  font-weight:800;
  letter-spacing:.05em;
  border-bottom:1px solid rgba(255,255,255,.55);
  transition:transform .25s ease,border-color .25s ease;
}
.cta-phone:hover{transform:translateY(-2px);border-color:#fff}
.footer-meta a{transition:color .2s ease,transform .2s ease;width:max-content}
.footer-meta a:hover{color:white;transform:translateX(3px)}

@media(max-width:1260px) and (min-width:981px){
  .main-nav{gap:24px;margin-left:2.5vw}
  .main-nav a{font-size:12.5px}
  .header-phone{font-size:12.5px!important}
  .main-nav .btn-small{font-size:12px;padding:11px 16px}
  .brand-copy strong{font-size:21px}
}
@media(max-width:980px){
  .main-nav{margin-left:0;gap:16px}
  .main-nav a{font-size:15px}
  .header-phone{font-size:15px!important}
}

/* Real portfolio photography */
.hero-photo{
  border-radius:32px;
  background:#231f22;
  isolation:isolate;
}
.hero-photo::after{
  background:linear-gradient(180deg,transparent 50%,rgba(20,12,17,.42));
  z-index:1;
}
.hero-carousel{
  position:absolute;
  inset:0;
  z-index:0;
}
.hero-slide{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  opacity:0;
  transform:scale(1.025);
  transition:opacity 1.15s ease,transform 6s ease;
}
.hero-slide.active{
  opacity:1;
  transform:scale(1);
}
.hero-slide-new-year{object-position:center 38%}
.hero-carousel-controls{
  position:absolute;
  top:22px;
  right:22px;
  z-index:4;
  display:flex;
  gap:8px;
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.55);
  border-radius:999px;
  background:rgba(34,27,32,.48);
  backdrop-filter:blur(10px);
}
.hero-carousel-dot{
  width:9px;
  height:9px;
  padding:0;
  border:1px solid rgba(255,255,255,.9);
  border-radius:50%;
  background:transparent;
  cursor:pointer;
  transition:background .25s ease,transform .25s ease;
}
.hero-carousel-dot.active{
  background:white;
  transform:scale(1.22);
}
.hero-carousel-dot:focus-visible{
  outline:3px solid white;
  outline-offset:3px;
}
.photo-badge{
  position:absolute;
  left:24px;
  right:24px;
  bottom:24px;
  z-index:3;
  display:flex;
  flex-direction:column;
  padding:13px 17px;
  border:1px solid rgba(255,255,255,.55);
  border-radius:12px;
  color:white;
  background:rgba(34,27,32,.66);
  backdrop-filter:blur(10px);
}
.photo-badge span{font-size:10px;text-transform:uppercase;letter-spacing:.16em}
.photo-badge strong{font:600 clamp(14px,1.4vw,18px)/1.15 "Playfair Display",serif}
.hero-trust div{flex:1;min-width:120px}

.parent-brand-band{
  position:relative;
  z-index:5;
  display:grid;
  grid-template-columns:190px minmax(0,1fr) auto;
  gap:34px;
  align-items:center;
  margin:-30px 5vw 42px;
  padding:28px 34px;
  border:1px solid rgba(184,95,120,.15);
  border-radius:26px;
  background:#f2d7d6;
  box-shadow:0 18px 45px rgba(67,42,55,.09);
}
.parent-brand-logo{
  min-height:145px;
  display:grid;
  place-items:center;
  padding:13px;
  border-radius:18px;
  background:white;
  transition:transform .25s ease,box-shadow .25s ease;
}
.parent-brand-logo:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(67,42,55,.12)}
.parent-brand-logo img{display:block;width:auto;max-width:100%;height:118px;object-fit:contain}
.parent-brand-copy .eyebrow{margin-bottom:9px}
.parent-brand-copy h2{margin:0;font:600 clamp(25px,2.7vw,39px)/1.08 "Playfair Display",serif;letter-spacing:-.025em}
.parent-brand-copy p{margin:12px 0 0;color:#6f626b;font-size:14px}
.parent-brand-button{white-space:nowrap}

.event-photo{
  width:100%;
  height:260px;
  display:block;
  object-fit:cover;
  transition:transform .7s cubic-bezier(.2,.8,.2,1);
}
.event-card:hover .event-photo{transform:scale(1.035)}
.event-birthday .event-photo{object-position:center 35%}
.event-wedding .event-photo,.event-corporate .event-photo{object-position:center}

.corporate-photo{background:#171316}
.corporate-photo>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.9) contrast(1.04);
}
.corporate-photo::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,transparent 55%,rgba(24,17,22,.64));
}
.image-kicker{
  position:absolute;
  left:30px;
  bottom:26px;
  z-index:2;
  padding:9px 13px;
  border-radius:999px;
  background:white;
  color:var(--ink);
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.gallery-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-auto-rows:360px;
  grid-auto-flow:dense;
}
.gallery-card{display:flex;flex-direction:column;background:#fff;color:inherit;font:inherit;text-align:left;padding:0;cursor:zoom-in}
.gallery-card:focus-visible{outline:3px solid var(--berry);outline-offset:4px}
.gallery-card.feature{grid-column:span 2}
.gallery-card>img{
  width:100%;
  min-height:0;
  flex:1;
  display:block;
  object-fit:cover;
  transition:transform .65s cubic-bezier(.2,.75,.2,1),filter .3s ease;
}
.gallery-card:hover>img{transform:scale(1.025);filter:saturate(1.06)}
.gallery-label{height:64px;flex:0 0 64px;gap:12px}
.gallery-label>span{
  color:#877a82;
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
  text-align:right;
  text-transform:uppercase;
}
.gallery-card[data-cat="columns"]>img,
.gallery-card[data-cat="details"]>img{object-position:center 34%}
.gallery-card img[src*="tiger-school"]{object-position:center 42%}
.gallery-card img[src*="red-silver-entrance-columns"],
.gallery-card img[src*="50th-birthday"]{object-fit:contain;object-position:center;background:#f7f3f0}
.gallery-empty{text-align:center;color:#746a71;font-size:14px;margin:44px 0;padding:36px;border:1px solid var(--line);border-radius:16px;background:white}

.experience-stat{display:flex;align-items:end;gap:13px;margin:2px 0 24px;color:var(--berry)}.experience-stat strong{font:700 clamp(64px,7vw,98px)/.78 "Playfair Display",serif;letter-spacing:-.05em}.experience-stat span{max-width:110px;padding-bottom:3px;font-size:12px;font-weight:800;line-height:1.2;letter-spacing:.12em;text-transform:uppercase}

.review-section{background:#f7efe9}.review-head{align-items:end}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.review-card{position:relative;overflow:hidden;background:white;border:1px solid var(--line);border-radius:28px;padding:36px 32px 32px;box-shadow:var(--shadow)}.review-card::after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;right:-80px;bottom:-100px;background:rgba(232,138,155,.13)}.review-quote{display:block;height:47px;color:var(--rose);font:700 68px/1 "Playfair Display",serif}.review-card blockquote{position:relative;z-index:1;margin:0 0 28px;font:600 clamp(22px,2.2vw,31px)/1.2 "Playfair Display",serif}.reviewer{position:relative;z-index:1;display:flex;flex-direction:column;margin:0;color:var(--ink)}.reviewer strong{font-size:14px}.reviewer span{margin-top:3px;color:#887d84;font-size:11px;text-transform:uppercase;letter-spacing:.09em}.review-stars{position:relative;z-index:1;display:block;margin-bottom:13px;color:#c6932d;font-size:18px;letter-spacing:.10em}.review-stars-unrated{color:#8b8087;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.review-action{text-align:center;margin-top:34px}.review-action .btn{display:inline-block}.review-form-status{min-height:20px;margin:14px 0 0;color:var(--berry);font-size:13px;font-weight:700}

.contact-section{background:white}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:start}.contact-copy h2{font-size:clamp(42px,4.4vw,64px)}.contact-copy>p{max-width:560px;color:#6f666d;font-size:17px}.contact-details{display:grid;gap:13px;margin-top:34px}.contact-details>a,.contact-details>div{display:flex;flex-direction:column;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:var(--cream)}.contact-details span{color:var(--berry);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.contact-details strong{margin-top:3px;font-size:14px;line-height:1.35}.contact-form{padding:36px;background:#f7efe9;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}.contact-form label{display:flex;flex-direction:column;gap:7px;margin-bottom:15px;font-size:12px;font-weight:800}.contact-form input,.contact-form textarea{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:11px;background:white;outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--rose);box-shadow:0 0 0 3px rgba(232,138,155,.13)}.contact-form-status{min-height:20px;margin:14px 0 0;color:var(--berry);font-size:13px;font-weight:700}

.lightbox{position:fixed;inset:0;z-index:200;display:none;padding:30px}.lightbox.open{display:grid;place-items:center}.lightbox-backdrop{position:absolute;inset:0;background:rgba(24,18,23,.91);backdrop-filter:blur(9px)}.lightbox-dialog{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;max-width:min(1180px,94vw);max-height:92vh}.lightbox-dialog img{display:block;max-width:100%;max-height:calc(92vh - 70px);object-fit:contain;border-radius:14px;box-shadow:0 30px 90px rgba(0,0,0,.48);background:#201b20}.lightbox-dialog p{margin:13px 54px 0;color:white;text-align:center;font:600 19px "Playfair Display",serif}.lightbox-close{position:absolute;right:-13px;top:-13px;z-index:2;width:44px;height:44px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:white;color:var(--ink);font-size:30px;line-height:1;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.28)}.lightbox-close:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

.maker-photo{
  height:520px;
  margin:0;
  position:relative;
  overflow:hidden;
  border-radius:220px 220px 24px 24px;
  background:#201b20;
  box-shadow:var(--shadow);
}
.maker-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 38%}
.maker-photo::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(19,14,18,.72))}
.maker-photo figcaption{
  position:absolute;
  left:28px;
  right:28px;
  bottom:24px;
  z-index:2;
  color:white;
  font:600 19px/1.25 "Playfair Display",serif;
}

@media(max-width:1180px){
  .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:980px){
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .review-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .corporate-photo{min-height:560px}
  .parent-brand-band{grid-template-columns:150px 1fr;margin:24px 5vw 34px;padding:25px;gap:24px}
  .parent-brand-logo{min-height:125px}
  .parent-brand-logo img{height:100px}
  .parent-brand-button{grid-column:2;justify-self:start}
}
@media(max-width:640px){
  .hero-photo{height:500px;border-radius:24px}
  .parent-brand-band{grid-template-columns:1fr;margin:22px 5vw 30px;padding:24px 21px;text-align:center}
  .parent-brand-logo{width:170px;min-height:120px;justify-self:center}
  .parent-brand-copy h2{font-size:29px}
  .parent-brand-button{grid-column:1;justify-self:center}
  .event-photo{height:285px}
  .gallery-grid{grid-template-columns:1fr;grid-auto-rows:390px}
  .gallery-card.feature{grid-column:auto}
  .gallery-label{height:66px;flex-basis:66px}
  .review-card{padding:36px 28px 32px}.review-card blockquote{font-size:27px}
  .contact-form{padding:28px 22px}
  .lightbox{padding:14px}.lightbox-dialog{max-width:100%}.lightbox-dialog img{max-height:calc(92vh - 82px)}.lightbox-dialog p{font-size:16px;margin-top:11px}.lightbox-close{right:6px;top:6px}
  .corporate-photo{min-height:430px}
  .maker-photo{height:440px;border-radius:180px 180px 22px 22px}
  footer>*{min-width:0;max-width:100%}
  .footer-meta a{width:auto;max-width:100%;overflow-wrap:anywhere}
  .floating-quote{max-width:calc(100vw - 36px)}
  .reveal.motion-left,.reveal.motion-right{transform:translateY(18px)}
  .reveal.visible.motion-left,.reveal.visible.motion-right{transform:translateY(0)}
}
