/* Elegance Line / seasonal homepage teaser v3.1.14
   All styles are component scoped: no global header, service, price or footer overrides. */
.elwh,.elwh *{box-sizing:border-box}
.elwh{position:relative;z-index:0;padding:18px 0 31px;background:#faf9f7;color:#38291f;isolation:isolate}
.elwh .elwh-shell{position:relative;isolation:isolate;width:min(1376px,calc(100% - 64px));min-height:396px;margin:0 auto;border:1px solid #f1dfce;border-radius:27px;overflow:hidden;background:linear-gradient(103deg,#f5e2d4 0%,#fff9f3 35%,#f9e7d9 70%,#f1d5bb 100%);box-shadow:0 18px 52px rgba(124,88,56,.09)}
.elwh .elwh-shell:before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(circle at 37% 42%,rgba(255,255,255,.92),transparent 28%),radial-gradient(circle at 89% 11%,rgba(255,232,184,.72),transparent 35%),radial-gradient(circle at 59% 91%,rgba(255,255,255,.76),transparent 29%)}
.elwh .elwh-shell:after{content:"";position:absolute;z-index:1;inset:auto -3% -38px 44%;height:120px;pointer-events:none;border-radius:50%;background:radial-gradient(ellipse at center,rgba(255,255,255,.88),transparent 68%);filter:blur(11px)}
.elwh .elwh-particles{position:absolute;z-index:0;inset:0;pointer-events:none;opacity:.65;background-image:radial-gradient(circle,#f9d9a2 1px,transparent 2px),radial-gradient(circle,rgba(250,212,149,.75) 1.5px,transparent 3px);background-size:77px 82px,113px 121px;background-position:22px 9px,57px 44px;mask-image:linear-gradient(90deg,transparent 8%,#000 55%)}
.elwh .elwh-fir{position:absolute;z-index:2;right:-95px;top:-126px;width:530px;height:auto;max-width:none;pointer-events:none;filter:drop-shadow(0 13px 10px rgba(112,87,47,.12))}
.elwh .elwh-gifts{position:absolute;z-index:3;right:258px;bottom:-17px;width:260px;height:auto;max-width:none;pointer-events:none;filter:drop-shadow(0 13px 12px rgba(125,86,44,.14))}
.elwh .elwh-copy{position:relative;z-index:5;width:58%;max-width:690px;padding:43px 0 44px clamp(45px,5.2vw,82px)}
.elwh .elwh-eyebrow{display:flex;align-items:center;gap:14px;margin:0 0 14px;color:#8b613d;font:700 11px/1.4 Arial,sans-serif;letter-spacing:.19em;text-transform:uppercase}
.elwh .elwh-eyebrow>span{flex:none;width:37px;height:1px;background:#a98156}
.elwh h2#elwh-title{max-width:620px;margin:0;color:#37281e;font:400 clamp(40px,3.4vw,59px)/1.06 Georgia,'Times New Roman',serif;letter-spacing:-.04em;text-wrap:balance;overflow-wrap:normal}
.elwh .elwh-sign{margin:3px 0 17px 0;color:#b88649;font:italic 400 clamp(30px,2.7vw,42px)/1.1 'Brush Script MT','Segoe Script',Georgia,serif;letter-spacing:-.01em}
.elwh .elwh-lead{max-width:460px;margin:0 0 21px;color:#594b42;font:400 16px/1.56 Arial,sans-serif;letter-spacing:0}
.elwh .elwh-facts{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 22px}
.elwh .elwh-fact{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;padding:10px 13px;background:rgba(255,255,255,.80);border:1px solid #efe0d2;border-radius:99px;color:#49362a;font:700 13px/1.3 Arial,sans-serif;box-shadow:0 5px 16px rgba(143,111,74,.10)}
.elwh .elwh-fact svg{width:18px;height:18px;flex:none;fill:none;stroke:#b88649;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.elwh .elwh-actions{display:flex;align-items:center;flex-wrap:wrap;gap:21px}
.elwh .elwh-primary{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:48px;padding:12px 26px;border:1px solid #ae814b;border-radius:50px;background:linear-gradient(165deg,#d3a96f,#af7e3f 70%,#a47637);box-shadow:0 8px 20px rgba(142,90,45,.22);font:700 14px/1.2 Arial,sans-serif;color:#fff!important;text-decoration:none!important;transition:transform .2s ease,box-shadow .2s ease}
.elwh .elwh-primary:hover{transform:translateY(-2px);box-shadow:0 11px 25px rgba(142,90,45,.28)}
.elwh .elwh-primary>span{font-size:18px}
.elwh .elwh-textlink{font:600 13px/1.2 Arial,sans-serif;color:#7f5d42!important;border-bottom:1px solid #b79778;padding:7px 0;text-decoration:none!important;transition:color .15s}
.elwh .elwh-textlink:hover{color:#9d6b36!important}
.elwh .elwh-visual{position:absolute;z-index:4;right:6.5%;top:-14px;bottom:-10px;display:flex;align-items:center;justify-content:center;width:38%;pointer-events:none;filter:drop-shadow(0 16px 23px rgba(127,82,40,.19))}
.elwh .elwh-ticket{display:block;width:auto;height:440px;max-width:100%;object-fit:contain}
@media(max-width:1199px){
 .elwh .elwh-shell{min-height:375px}
 .elwh .elwh-copy{width:61%;padding-left:40px;padding-top:39px;padding-bottom:37px}
 .elwh h2#elwh-title{font-size:clamp(38px,4.25vw,51px)}
 .elwh .elwh-lead{max-width:380px;font-size:14px}
 .elwh .elwh-fact{font-size:12px;padding:9px 11px}
 .elwh .elwh-visual{right:5.5%;width:39%;}
 .elwh .elwh-ticket{height:407px}
 .elwh .elwh-fir{width:450px;right:-90px;top:-110px}
 .elwh .elwh-gifts{right:240px;width:230px}
}
@media(max-width:850px){
 .elwh .elwh-shell{width:calc(100% - 36px);min-height:360px}
 .elwh .elwh-copy{width:63%;padding:32px 0 34px 28px}
 .elwh h2#elwh-title{font-size:clamp(32px,4.8vw,42px)}
 .elwh .elwh-sign{font-size:29px}
 .elwh .elwh-lead{font-size:13px;max-width:335px;margin-bottom:15px}
 .elwh .elwh-eyebrow{font-size:9px;letter-spacing:.13em}
 .elwh .elwh-fact{font-size:10px;padding:8px 9px;gap:6px}
 .elwh .elwh-fact svg{width:16px;height:16px}
 .elwh .elwh-actions{gap:14px}
 .elwh .elwh-primary{font-size:12px;min-height:42px;padding:10px 17px;gap:10px}
 .elwh .elwh-textlink{font-size:11px}
 .elwh .elwh-visual{right:3%;width:39%}
 .elwh .elwh-ticket{height:344px}
 .elwh .elwh-fir{width:350px;top:-97px;right:-100px}
 .elwh .elwh-gifts{right:185px;bottom:-12px;width:164px}
}
@media(max-width:640px){
 .elwh{padding:17px 0 25px}
 .elwh .elwh-shell{width:calc(100% - 30px);min-height:0;border-radius:22px;}
 .elwh .elwh-copy{width:auto;max-width:none;padding:28px 22px 0}
 .elwh .elwh-eyebrow{gap:9px;font-size:9px;letter-spacing:.12em;max-width:250px;margin-bottom:11px}
 .elwh .elwh-eyebrow>span{width:20px}
 .elwh h2#elwh-title{font-size:clamp(35px,9.2vw,49px);line-height:1.05;max-width:340px}
 .elwh .elwh-sign{font-size:clamp(26px,7.5vw,36px);margin-top:6px;margin-bottom:14px}
 .elwh .elwh-lead{font-size:13px;line-height:1.6;max-width:340px;margin-bottom:15px}
 .elwh .elwh-facts{gap:7px;margin-bottom:19px}
 .elwh .elwh-fact{font-size:11px;padding:8px 10px}
 .elwh .elwh-actions{gap:12px}
 .elwh .elwh-primary{min-height:44px;padding:11px 17px;font-size:12px}
 .elwh .elwh-textlink{font-size:11px}
 .elwh .elwh-visual{position:relative;inset:auto;width:100%;min-width:0;display:flex;align-items:center;justify-content:center;height:auto;padding:12px 30px 20px;filter:drop-shadow(0 8px 11px rgba(127,82,40,.17))}
 .elwh .elwh-ticket{width:min(100%,278px);height:auto;max-height:none;object-fit:contain}
 .elwh .elwh-fir{width:315px;top:-70px;right:-127px;opacity:.72}
 .elwh .elwh-gifts{width:150px;right:auto;left:-25px;bottom:-13px;opacity:.86}
 .elwh .elwh-shell:after{inset:auto 5% -35px 5%;height:105px}
}
@media(max-width:370px){
 .elwh .elwh-shell{width:calc(100% - 24px)}
 .elwh .elwh-copy{padding:25px 17px 0}
 .elwh h2#elwh-title{font-size:34px}
 .elwh .elwh-facts{gap:6px}
 .elwh .elwh-fact{padding:7px 8px;font-size:10px}
 .elwh .elwh-fir{width:260px;top:-70px;right:-120px}
 .elwh .elwh-visual{padding:9px 25px 18px}
 .elwh .elwh-ticket{width:min(100%,245px)}
}
@media(prefers-reduced-motion:reduce){.elwh .elwh-primary,.elwh .elwh-textlink{transition:none}}

/* v3.1.15: new approved rectangular ticket artwork, no shape overlays. */
.elwh .elwh-ticket { border-radius: 2px; }
