/**
 * ACE Flyer Holidays / Edition 1.2
 * Restrained premium refinement: original editorial layout + refined vector iconography,
 * focused enquiry flow, corporate planning section, and touch-first improvements.
 */
:root{--ace-ease:cubic-bezier(.22,1,.36,1);--ace-ink:#28272a;--ace-amber:#ed941d;--ace-border:#e7e0d7;--ace-cloud:#f8f5f0}
body{color:var(--ace-ink)}
.ace-ui-icon{display:block;flex-shrink:0;vertical-align:middle}
.ace-service-card{position:relative;overflow:hidden;transition:transform .38s var(--ace-ease),box-shadow .38s var(--ace-ease),border-color .3s ease;background:linear-gradient(142deg,#fff 0%,#fffcf7 100%);border:1px solid var(--ace-border)}
.ace-service-card:hover{transform:translateY(-6px);box-shadow:0 22px 52px rgba(45,37,30,.10);border-color:#f0c990}
.ace-service-card .ace-service-icon{height:52px;width:52px;border:1px solid #f2e5d4;background:#fff8ee;color:#de8212;box-shadow:0 5px 18px rgba(220,133,38,.09);border-radius:15px}
.ace-service-card .ace-service-icon svg{width:26px;height:26px}
.ace-service-card h3{font-size:clamp(19px,2vw,25px);letter-spacing:-.035em}
.ace-service-card p{line-height:1.7}
.ace-service-card .ace-card-arrow{transition:transform .3s var(--ace-ease),color .3s}
.ace-service-card:hover .ace-card-arrow{transform:translate(2px,-2px);color:#dc7b0f}
.ace-section-heading h2,.ace-business-copy h2,.ace-corporate-page h2{letter-spacing:-.055em;text-wrap:balance}
.ace-booking-shell{box-shadow:0 22px 70px rgba(41,34,25,.065);border:1px solid #eee5d9;border-radius:12px}
.ace-booking-tabs{gap:9px}
.ace-booking-tabs .ace-tab{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:11px 17px;transition:background .2s ease,color .2s ease,border-color .2s}
.ace-booking-tabs .ace-tab .ace-ui-icon{height:17px;width:17px}
.ace-booking-form,.ace-enquiry-large{align-items:start}
.ace-booking-form input,.ace-booking-form select,.ace-enquiry-large input,.ace-enquiry-large select,.ace-enquiry-large textarea{border-radius:5px;min-width:0;background:#fff;max-width:100%;transition:border-color .2s,box-shadow .2s}
.ace-booking-form input:focus,.ace-booking-form select:focus,.ace-enquiry-large input:focus,.ace-enquiry-large select:focus,.ace-enquiry-large textarea:focus{outline:2px solid rgba(238,146,34,.24);outline-offset:0;border-color:#e89b44}
.ace-booking-contact-row{margin-top:12px}
.ace-booking-contact-row .ace-field label,.ace-enquiry-large .ace-field label{line-height:1.4}
.ace-booking-note,.ace-form-privacy,.ace-consent{line-height:1.6}
.ace-hero .ace-hero-art{filter:saturate(.95)}
/* Corporate travel: editorial dark card is deliberately understated, not a booking-app clone. */
.ace-business-section{background:#f5f0e9;position:relative;border-top:1px solid #eee3d6;border-bottom:1px solid #ebe0d3}
.ace-business-layout{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:clamp(45px,7vw,125px);align-items:center}
.ace-business-copy{max-width:630px}.ace-business-copy h2{font-size:clamp(40px,4.6vw,76px);line-height:1.13;margin:20px 0 22px}
.ace-business-copy>p{font-size:clamp(15px,1.3vw,17px);line-height:1.8;color:#70665f;max-width:550px;margin-bottom:30px}
.ace-business-points{display:grid;gap:19px;padding:6px 0 30px}.ace-business-points>div{display:flex;align-items:flex-start;gap:14px}
.ace-business-points svg{color:#da830f;background:#fff;border:1px solid #eadfce;box-sizing:content-box;padding:13px;border-radius:10px}
.ace-business-points strong{display:block;font-family:var(--font-heading);font-size:15px;color:#272327;font-weight:700;letter-spacing:-.02em;margin-bottom:3px}
.ace-business-points small{display:block;color:#766e67;font-size:13px;line-height:1.55}
.ace-business-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.ace-business-actions .ace-text-link{font-size:12px}
.ace-business-art{min-width:0;aspect-ratio:4 / 4.25;max-height:560px;background:#302d2e;padding:12px;border-radius:12px;box-shadow:0 24px 48px rgba(30,24,19,.17);position:relative;overflow:hidden}
.ace-business-art-inner{position:relative;width:100%;height:100%;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:radial-gradient(circle at 57% 48%,rgba(236,153,54,.19),transparent 42%),linear-gradient(155deg,#373334,#252427);overflow:hidden;color:#fff}
.ace-business-art-overline{position:absolute;top:27px;left:28px;letter-spacing:.18em;font-size:9px;font-weight:700;color:#c9beb1;z-index:2}
.ace-business-art-inner>svg{display:block;position:absolute;top:14%;left:3%;width:94%;height:74%;z-index:1;opacity:.91}
.ace-business-art-circle{height:180px;width:180px;border:1px solid rgba(255,255,255,.36);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;backdrop-filter:blur(4px)}
.ace-business-art-circle span{font-size:57px;line-height:1;font-family:var(--font-heading);letter-spacing:-.09em;font-weight:800}
.ace-business-art-circle small{font-size:9px;letter-spacing:.23em;margin-top:13px;color:#f3c389}
.ace-business-art-footer{position:absolute;bottom:27px;left:28px;right:28px;display:flex;justify-content:space-between;gap:12px;z-index:2;font-size:9px;letter-spacing:.12em;color:#e5dbd0}
/* Business and MICE pages: substantial information before an enquiry. */
.ace-corporate-page .ace-section-heading{margin-bottom:35px}.ace-corporate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:40px}
.ace-corporate-feature{padding:32px 28px;border:1px solid var(--ace-border);background:#fff;border-radius:9px;min-width:0}
.ace-corporate-feature svg{color:#d9861e;margin-bottom:22px}.ace-corporate-feature h3{font-size:20px;margin-bottom:13px}.ace-corporate-feature p{color:#706963;font-size:14px;line-height:1.75;margin:0}
.ace-corporate-steps{background:#f5f1ea;padding:34px 38px;border-radius:9px;margin-bottom:54px}.ace-corporate-steps h3{font-size:23px;margin:0 0 25px}
.ace-corporate-steps ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;counter-reset:stage}
.ace-corporate-steps li{counter-increment:stage;display:flex;flex-direction:column;gap:7px;color:#716a64;font-size:13px;line-height:1.6;position:relative;padding-left:30px}
.ace-corporate-steps li:before{content:counter(stage,decimal-leading-zero);position:absolute;top:0;left:0;color:#c9801f;font-size:11px;font-weight:800}
.ace-corporate-steps b{font-size:14px;color:#242326}.ace-corporate-steps span{display:block}
.ace-corporate-enquire{display:grid;grid-template-columns:1fr 1.2fr;gap:55px;align-items:start;border-top:1px solid #e9e1d6;padding-top:45px;scroll-margin-top:24px}
.ace-corporate-enquire h2{font-size:clamp(35px,4vw,56px);margin:15px 0 19px}.ace-corporate-enquire p{line-height:1.8;color:#766b61}.ace-corporate-enquire .ace-enquiry-wrap{background:#fff;border:1px solid var(--ace-border);border-radius:10px;padding:26px;box-shadow:0 14px 42px #27231d0a}
.ace-corporate-enquire .ace-enquiry-large{grid-template-columns:repeat(2,minmax(0,1fr))}
/* Bottom mobile actions: real actions only, never fake account or trip management buttons. */
.ace-mobile-actions{display:none}
@media (max-width:1100px){.ace-business-layout{gap:50px}.ace-business-art{aspect-ratio:4/4.5}.ace-service-grid{gap:13px}}
@media (max-width:980px){.ace-business-layout{grid-template-columns:1fr 1fr;gap:35px}.ace-corporate-enquire{grid-template-columns:1fr;gap:25px}.ace-corporate-enquire>div:first-child{max-width:700px}}
@media (max-width:760px){
 .ace-section-services .ace-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ace-business-layout{grid-template-columns:1fr;gap:30px}.ace-business-copy{max-width:760px}.ace-business-copy h2{max-width:630px}.ace-business-art{width:100%;max-height:440px;aspect-ratio:1.65}.ace-business-art-circle{width:140px;height:140px}.ace-business-art-circle span{font-size:43px}
 .ace-corporate-grid{grid-template-columns:1fr;gap:10px}.ace-corporate-feature{padding:24px}
 .ace-corporate-steps ol{grid-template-columns:1fr;gap:19px}.ace-corporate-steps{padding:28px 24px}
 .ace-corporate-enquire .ace-enquiry-wrap{padding:20px}
 .ace-booking-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;padding-bottom:15px}
 .ace-booking-tabs::-webkit-scrollbar{display:none}.ace-booking-tabs .ace-tab{flex:0 0 auto;scroll-snap-align:start}
 .ace-mobile-actions{position:fixed;z-index:180;bottom:0;left:0;right:0;background:rgba(255,253,249,.97);border-top:1px solid #e8dfd6;display:grid;grid-template-columns:1fr 1.65fr;gap:10px;padding:11px max(16px,env(safe-area-inset-right)) calc(11px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));box-shadow:0 -10px 30px rgba(24,20,18,.07);backdrop-filter:blur(16px)}
 .ace-mobile-actions a{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;border-radius:6px;text-align:center;font-size:13px;font-weight:800}
 .ace-mobile-actions .ace-mobile-call{border:1px solid #d9cfc4;color:#322e2a}.ace-mobile-actions .ace-mobile-plan{background:#ef9622;color:#292223}
 .ace-mobile-actions svg{height:20px;width:20px}
 .ace-footer{padding-bottom:calc(78px + env(safe-area-inset-bottom))}
 .ace-booking-form .ace-field label,.ace-enquiry-large .ace-field label{font-size:12px}
 .ace-booking-form input,.ace-enquiry-large input,.ace-enquiry-large select,.ace-enquiry-large textarea{font-size:16px;min-height:46px}
}
@media (max-width:560px){
 .ace-service-grid,.ace-section-services .ace-service-grid{grid-template-columns:1fr;gap:12px}
 .ace-service-card{padding:24px}.ace-service-card .ace-service-icon{width:48px;height:48px}
 .ace-business-copy h2{font-size:clamp(40px,10.5vw,58px)}.ace-business-art{aspect-ratio:1.18;max-height:390px}
 .ace-business-actions{align-items:stretch;gap:17px}.ace-business-actions .ace-btn{width:100%;min-height:50px}.ace-business-actions .ace-text-link{margin:0 auto}
 .ace-corporate-enquire .ace-enquiry-large{grid-template-columns:1fr}.ace-corporate-enquire .ace-enquiry-large .ace-full{grid-column:auto}
 .ace-hero h1{font-size:clamp(44px,10.8vw,58px);line-height:1.13;letter-spacing:-.05em}
 .ace-hero-inner{min-width:0}.ace-booking-shell{padding:21px 16px}.ace-booking-form{grid-template-columns:1fr 1fr;gap:12px}
 .ace-booking-form>.ace-field:nth-of-type(1),.ace-booking-form>.ace-field:nth-of-type(2){grid-column:1/-1}
 .ace-booking-contact-row{grid-template-columns:1fr;gap:11px}
 .ace-booking-form .ace-btn{min-height:49px}
 .ace-section-heading,.ace-heading-side{max-width:100%}.ace-business-art-overline{font-size:8px}
 .ace-business-art-footer{font-size:8px}
}
@media (prefers-reduced-motion:reduce){.ace-service-card,.ace-ui-icon{transition:none!important}}
