html{font-family:'Bitter',serif;font-size:15px}
*{font-family:inherit;font-size:inherit}
body{margin:0;padding:0;background:#FDFDFD;color:#1a1a1a;line-height:1.5;-webkit-font-smoothing:subpixel-antialiased}
.page-header{position:relative;background:linear-gradient(135deg,#59002c0a 0%,#0578cc08 100%);border-bottom:3px solid #59002C;padding:24px 0}
.header-container{max-width:1000px;margin:0 auto;padding:0 24px;display:flex;flex-direction:column;gap:24px}
.logo-zone{display:flex;justify-content:center;align-items:center}
.logo-frame{border:2px dashed #59002C;padding:12px;background:#fdfdfde6;box-shadow:0 2px 8px #00000014 inset 0 2px 4px #59002c0d}
.logo-frame img{display:block;width:68px;height:68px;object-fit:contain}
.navigation-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px}
.main-nav{display:flex;gap:24px;flex-wrap:wrap;align-items:center}
.nav-link{color:#59002C;text-decoration:none;font-weight:700;padding:12px 18px;background:#fdfdfdb3;border:0;box-shadow:inset 0 3px 6px #59002c1a;transition:background-color .3s ease,box-shadow .3s ease;min-height:44px;display:flex;align-items:center}
.nav-link:hover{background:#59002c14;box-shadow:inset 0 4px 8px #59002c26}
.contact-info-header{display:flex;align-items:center;gap:12px;color:#0578CC;font-weight:700;padding:12px 18px;background:#0578cc0f;box-shadow:inset 0 3px 6px #0578cc1a}
.contact-info-header i{font-size:20px}
.page-footer{background:#59002C;color:#FDFDFD;padding:48px 0 24px;margin-top:48px}
.footer-container{max-width:1000px;margin:0 auto;padding:0 24px}
.footer-main{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-bottom:48px}
.footer-about-box h3{font-size:24px;margin:0 0 24px;line-height:1.1;-webkit-font-smoothing:antialiased}
.footer-about-box p{margin:0;line-height:1.5;color:#fdfdfde6}
.footer-nav-box h3{font-size:24px;margin:0 0 24px;line-height:1.1;-webkit-font-smoothing:antialiased}
.footer-menu{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.footer-menu a{color:#fdfdfde6;text-decoration:none;transition:color .3s ease;display:inline-block;padding:6px 0}
.footer-menu a:hover{color:#0578CC}
.footer-bottom{border-top:2px solid #fdfdfd33;padding-top:24px;display:flex;flex-direction:column;align-items:center;gap:24px}
.footer-logo-frame{border:2px dashed #fdfdfd80;padding:12px;background:#0578cc26;box-shadow:0 2px 8px #0003 inset 0 2px 4px #fdfdfd1a}
.footer-logo-frame img{display:block;width:60px;height:60px;object-fit:contain}
.copyright-text{text-align:center;font-size:14px;color:#fdfdfdb3;margin:0}
.cookie-popup{position:fixed;bottom:24px;right:24px;background:#FDFDFD;border:3px solid #59002C;box-shadow:0 8px 24px #0003 inset 0 3px 6px #59002c14;padding:24px;max-width:400px;z-index:9999;display:none;animation:slideInUp .4s ease-out}
.cookie-popup.active{display:block}
.cookie-popup.hiding{animation:slideOutDown .4s ease-in forwards}
@keyframes slideInUp {
from{transform:translateY(100%);opacity:0}
to{transform:translateY(0);opacity:1}
}
@keyframes slideOutDown {
from{transform:translateY(0);opacity:1}
to{transform:translateY(100%);opacity:0}
}
.cookie-tabs{display:flex;gap:24px;margin-bottom:24px;border-bottom:2px solid #59002C}
.cookie-tab{background:none;border:0;padding:12px 0;color:#59002C;font-weight:700;cursor:pointer;transition:color .3s ease;position:relative}
.cookie-tab:hover{color:#0578CC}
.cookie-tab.active-tab{color:#0578CC}
.cookie-tab.active-tab::after{content:'';position:absolute;bottom:-2px;left:0;right:0;height:2px;background:#0578CC}
.cookie-content{display:none}
.cookie-content.active-content{display:block}
.cookie-content p{margin:0 0 24px;line-height:1.5;color:#1a1a1a}
.cookie-actions{display:flex;gap:24px;flex-wrap:wrap}
.cookie-button{background:none;border:0;padding:0;color:#0578CC;font-weight:700;cursor:pointer;text-decoration:none;transition:text-decoration .3s ease}
.cookie-button:hover{text-decoration:underline}
.policy-access{display:inline-flex;align-items:center;gap:6px;color:#59002C;position:relative;cursor:help}
.policy-access i{font-size:18px}
.policy-tooltip{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:#1a1a1a;color:#FDFDFD;padding:6px 12px;font-size:13px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .3s ease;margin-bottom:6px}
.policy-access:hover .policy-tooltip{opacity:1}
.policy-tooltip a{color:#0578CC;text-decoration:none}
.policy-tooltip a:hover{text-decoration:underline}
::selection{background:#0578CC;color:#FDFDFD}
@media (max-width: 768px) {
.footer-main{grid-template-columns:1fr;gap:24px}
.navigation-row{flex-direction:column;align-items:stretch}
.main-nav{flex-direction:column;gap:12px}
.nav-link{text-align:center}
.cookie-popup{right:12px;left:12px;bottom:12px;max-width:none}
}
.content-policy{max-width:1000px;margin:0 auto;padding:48px 24px;background:linear-gradient(135deg,#59002c05 0%,#0578cc05 100%)}
.content-policy h1{font-size:42px;line-height:1.1;color:#59002C;margin:0 0 48px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.content-policy h2{font-size:32px;line-height:1.1;color:#59002C;margin:72px 0 24px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.content-policy h3{font-size:24px;line-height:1.1;color:#0578CC;margin:48px 0 24px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.content-policy h4{font-size:18px;line-height:1.5;color:#0578CC;margin:24px 0}
.content-policy h5{font-size:15px;line-height:1.5;color:#333;margin:24px 0;font-weight:600}
.content-policy h6{font-size:15px;line-height:1.5;color:#666;margin:24px 0;font-weight:600}
.content-policy p{font-size:15px;line-height:1.5;color:#222;margin:0 0 24px}
.content-policy ul,.content-policy ol{font-size:15px;line-height:1.5;color:#222;margin:0 0 24px;padding-left:48px}
.content-policy li{margin:0 0 12px}
.content-policy li:last-child{margin-bottom:0}
.content-policy ul ul,.content-policy ul ol,.content-policy ol ul,.content-policy ol ol{margin-top:12px;margin-bottom:12px}
.content-policy em,.content-policy i{font-style:italic}
.content-policy a{color:#0578CC;text-decoration:none;border-bottom:1px solid transparent;transition:border-bottom-color .2s ease}
.content-policy a:hover{border-bottom-color:#0578CC}
.content-policy hr{border:none;height:1px;background:linear-gradient(90deg,#59002c1a 0%,#0578cc1a 50%,#59002c1a 100%);margin:48px 0}
.content-policy div{margin:0 0 24px}
.content-policy h1 + p,.content-policy h2 + p,.content-policy h3 + p,.content-policy h4 + p,.content-policy h5 + p,.content-policy h6 + p{margin-top:0}
.content-policy ::selection{background:#0578CC;color:#FDFDFD}
.program-page{background:#FDFDFD;color:#1a1a1a;min-height:100vh}
.program-page *{box-sizing:border-box}
.program-page .title-wrapper{position:relative;height:70vh;min-height:500px;max-height:700px;overflow:hidden;margin-bottom:48px}
.program-page .title-image{position:absolute;top:0;left:0;width:100%;height:50%;overflow:hidden}
.program-page .title-image img{width:100%;height:100%;object-fit:cover;filter:hue-rotate(-10deg) saturate(0.9);animation:channelShift 8s ease-in-out infinite}
@keyframes channelShift {
0%,100%{filter:hue-rotate(-10deg) saturate(0.9)}
50%{filter:hue-rotate(-5deg) saturate(1.1) contrast(1.05)}
}
.program-page .title-solid{position:absolute;bottom:0;left:0;width:100%;height:50%;background:linear-gradient(135deg,#59002cf2 0%,#59002cd9 100%);display:flex;align-items:center;justify-content:center;padding:24px}
.program-page .title-atmo{position:absolute;width:300px;height:300px;border-radius:50%;filter:blur(80px);opacity:.15;pointer-events:none}
.program-page .atmo-1{top:10%;left:5%;background:#0578CC}
.program-page .atmo-2{bottom:15%;right:10%;background:#59002C}
.program-page .main-heading{font-size:58px;line-height:1.1;color:#FDFDFD;margin:0;max-width:1000px;text-align:center}
.program-page .word-reveal{display:inline-block;opacity:0;animation:wordAppear .8s ease-out forwards}
.program-page .word-reveal:nth-child(1){animation-delay:.2s}
.program-page .word-reveal:nth-child(2){animation-delay:.4s}
.program-page .word-reveal:nth-child(3){animation-delay:.6s}
.program-page .word-reveal:nth-child(4){animation-delay:.8s}
.program-page .word-reveal:nth-child(5){animation-delay:1s}
.program-page .word-reveal:nth-child(6){animation-delay:1.2s}
@keyframes wordAppear {
from{opacity:0;transform:translateY(20px)}
to{opacity:1;transform:translateY(0)}
}
.program-page .overview-section{max-width:1000px;margin:0 auto 96px;padding:0 24px;background:linear-gradient(180deg,#0578cc08 0%,#fdfdfd00 100%);padding-top:48px;padding-bottom:48px;box-shadow:inset 0 4px 6px #0578cc0d 0 2px 4px #00000008}
.program-page .intro-text{background:#59002c0a;padding:24px;margin-bottom:48px;border-left:3px solid #59002C}
.program-page .intro-text p{font-size:17px;line-height:1.5;margin:0 0 12px}
.program-page .intro-text p:last-child{margin-bottom:0}
.program-page .detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:48px}
.program-page .detail-card{background:#FDFDFD;padding:24px;box-shadow:inset 0 2px 4px #00000014 0 1px 3px #0000000d;transition:background .3s ease}
.program-page .detail-card:hover{background:#0578cc05}
.program-page .detail-card h4{font-size:18px;margin:0 0 12px;color:#59002C}
.program-page .detail-card p{font-size:15px;line-height:1.5;margin:0}
.program-page .metrics-row{display:flex;gap:24px;justify-content:center;flex-wrap:wrap}
.program-page .metric-box{background:linear-gradient(135deg,#59002c14 0%,#0578cc14 100%);padding:24px;min-width:180px;text-align:center;box-shadow:inset 0 3px 6px #0000000f}
.program-page .metric-number{font-size:42px;line-height:1.1;color:#59002C;font-weight:700;display:block;margin-bottom:8px}
.program-page .metric-label{font-size:14px;color:#333;line-height:1.5}
.program-page .timeline-wrapper{background:#FDFDFD;padding:72px 24px;position:relative;overflow:hidden}
.program-page .timeline-wrapper::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,#59002c05 0%,#0578cc05 50%,#59002c05 100%);pointer-events:none}
.program-page .timeline-container{max-width:1000px;margin:0 auto;position:relative}
.program-page .timeline-heading{font-size:38px;line-height:1.1;text-align:center;margin:0 0 72px;color:#59002C}
.program-page .timeline-line{position:relative;padding-left:60px}
.program-page .timeline-line::before{content:'';position:absolute;left:20px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,#59002c4d 0%,#0578cc4d 100%)}
.program-page .stage-trigger{position:absolute;opacity:0;pointer-events:none}
.program-page .stage-item{position:relative;margin-bottom:48px}
.program-page .stage-label{display:flex;align-items:center;cursor:pointer;padding:18px 24px;background:#0578cc0d;transition:background .3s ease;box-shadow:inset 0 2px 4px #0000000a}
.program-page .stage-label:hover{background:#0578cc1a}
.program-page .stage-dot{position:absolute;left:-40px;width:16px;height:16px;background:#FDFDFD;border:3px solid #59002C;border-radius:50%;transition:all .3s ease}
.program-page .stage-trigger:checked ~ .stage-label .stage-dot{background:#59002C;transform:scale(1.3)}
.program-page .stage-name{font-size:20px;font-weight:700;color:#59002C;margin:0}
.program-page .stage-content{max-height:0;overflow:hidden;transition:max-height .4s ease;padding:0 24px;background:#fdfdfdcc}
.program-page .stage-trigger:checked ~ .stage-content{max-height:500px;padding-top:24px;padding-bottom:24px}
.program-page .stage-content h5{font-size:16px;margin:0 0 12px;color:#0578CC;font-style:italic}
.program-page .stage-content p{font-size:15px;line-height:1.5;margin:0 0 12px}
.program-page .stage-content ul{margin:0;padding-left:20px}
.program-page .stage-content li{font-size:15px;line-height:1.5;margin-bottom:6px}
.program-page .enrollment-block{background:linear-gradient(135deg,#0578cc0f 0%,#59002c0f 100%);padding:72px 24px;position:relative}
.program-page .enrollment-inner{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.program-page .info-column h3{font-size:32px;line-height:1.1;margin:0 0 24px;color:#59002C}
.program-page .info-column p{font-size:15px;line-height:1.5;margin:0 0 24px}
.program-page .highlight-box{background:#fdfdfd99;padding:24px;box-shadow:inset 0 3px 6px #0000000d;margin-bottom:24px}
.program-page .highlight-box h4{font-size:18px;margin:0 0 12px;color:#0578CC;font-style:italic}
.program-page .highlight-box p{margin:0}
.program-page .image-embed{width:100%;height:320px;overflow:hidden;box-shadow:inset 0 0 0 1px #0000001a 0 4px 8px #00000014}
.program-page .image-embed img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.program-page .form-column{background:#FDFDFD;padding:36px;box-shadow:inset 0 4px 8px #00000014 0 2px 6px #0000000d}
.program-page .form-column h4{font-size:22px;margin:0 0 24px;color:#59002C}
.program-page .form-field{margin-bottom:24px}
.program-page .form-field label{display:block;font-size:14px;margin-bottom:8px;color:#333}
.program-page .form-field input[type="text"],.program-page .form-field input[type="email"],.program-page .form-field input[type="tel"]{width:100%;padding:12px;font-size:15px;border:1px solid #59002c33;background:#FDFDFD;box-shadow:inset 0 2px 4px #0000000a;transition:border-color .3s ease}
.program-page .form-field input:focus{outline:none;border-color:#0578CC}
.program-page .form-field input::placeholder{color:#0006;transition:opacity .3s ease}
.program-page .form-field input:focus::placeholder{opacity:0}
.program-page .radio-group{margin-bottom:24px}
.program-page .radio-group label{display:block;font-size:14px;margin-bottom:12px;color:#333}
.program-page .radio-option{display:flex;align-items:center;margin-bottom:8px}
.program-page .radio-option input{margin-right:8px}
.program-page .radio-option span{font-size:15px}
.program-page #experience-yes:checked ~ .conditional-box{max-height:200px;padding:18px;margin-top:12px;opacity:1}
.program-page .conditional-box{max-height:0;overflow:hidden;opacity:0;transition:all .4s ease;background:#0578cc0d;padding:0 18px}
.program-page .conditional-box label{display:block;font-size:14px;margin-bottom:8px;color:#333}
.program-page .conditional-box input{width:100%;padding:12px;font-size:15px;border:1px solid #59002c33;background:#FDFDFD;box-shadow:inset 0 2px 4px #0000000a}
.program-page .privacy-line{display:flex;align-items:start;margin-bottom:24px;font-size:13px;line-height:1.5}
.program-page .privacy-line input{margin-right:8px;margin-top:2px}
.program-page .privacy-line a{color:#0578CC;text-decoration:underline;transition:color .3s ease}
.program-page .privacy-line a:hover{color:#59002C}
.program-page .submit-btn{width:100%;padding:16px 32px;font-size:16px;background:#59002C;color:#FDFDFD;border:none;cursor:pointer;transition:background .3s ease;box-shadow:inset 0 -2px 4px #0003 0 2px 6px #59002c4d;display:flex;align-items:center;justify-content:center;gap:12px}
.program-page .submit-btn:hover{background:#0578CC}
.program-page .submit-btn::after{content:'\f178';font-family:'foundation-icons';transition:transform .3s ease;display:inline-block}
.program-page .submit-btn:hover::after{transform:translateX(6px)}
.program-page ::selection{background:#0578cc4d;color:#1a1a1a}
@media (max-width: 768px) {
.program-page .main-heading{font-size:36px}
.program-page .detail-grid{grid-template-columns:1fr}
.program-page .enrollment-inner{grid-template-columns:1fr}
.program-page .timeline-line{padding-left:40px}
.program-page .stage-dot{left:-30px}
}
.floristry-contact{background:linear-gradient(135deg,#fdfdfdf2 0%,#59002c08 100%);min-height:100vh;position:relative;overflow-x:clip}
.floristry-contact::before{content:'';position:absolute;width:400px;height:400px;border-radius:50%;background:#0578cc0a;top:10%;right:-100px;pointer-events:none;z-index:0}
.floristry-contact::after{content:'';position:absolute;width:300px;height:300px;border-radius:50%;background:#59002c0d;bottom:15%;left:-80px;pointer-events:none;z-index:0}
.floristry-contact > *{position:relative;z-index:1}
.title-header-box{max-width:1000px;margin:0 auto;padding:80px 24px 60px;display:flex;align-items:center;gap:48px}
.title-text-zone{flex:1}
.title-header-box h1{font-size:58px;line-height:1.1;color:#59002C;margin:0 0 24px;font-style:normal;font-feature-settings:ss01 on}
.animated-word-container{display:inline-block;position:relative;min-width:180px}
.cycle-word{display:inline-block;animation:wordCycle 8s infinite;color:#0578CC}
@keyframes wordCycle {
0%,30%{opacity:1;transform:translateY(0)}
35%,65%{opacity:0;transform:translateY(-10px)}
70%,100%{opacity:1;transform:translateY(0)}
}
.title-description{font-size:17px;line-height:1.5;color:#000000bf;margin:0;max-width:520px}
.vertical-image-strip{width:220px;height:360px;position:relative;overflow:hidden;flex-shrink:0}
.vertical-image-strip img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .4s ease}
.vertical-image-strip::after{content:'';position:absolute;inset:0;background:#59002c26;pointer-events:none}
.vertical-image-strip:hover img{transform:scale(1.05)}
.rotating-shape-bg{position:absolute;width:120px;height:120px;border:2px solid #0578cc33;top:50%;left:20%;transform:translate(-50%,-50%) rotate(0deg);animation:slowRotate 40s linear infinite;pointer-events:none;z-index:0}
@keyframes slowRotate {
from{transform:translate(-50%,-50%) rotate(0deg)}
to{transform:translate(-50%,-50%) rotate(360deg)}
}
.contact-content-wrapper{max-width:1000px;margin:0 auto;padding:0 24px 80px}
.main-contact-layout{display:grid;grid-template-columns:1fr 380px;gap:72px;align-items:start}
.form-section-box{background:#fdfdfdcc;padding:48px;box-shadow:0 4px 16px #59002c14 inset 0 2px 4px #0000000d}
.form-section-box h2{font-size:32px;line-height:1.1;color:#59002C;margin:0 0 12px;font-style:italic}
.form-intro-text{font-size:15px;line-height:1.5;color:#000000b3;margin:0 0 36px}
.form-intro-text:first-of-type{background:linear-gradient(to right,#0578cc0f,transparent);padding:12px 18px;margin-left:-18px;margin-right:-18px;border-left:3px solid #0578cc4d}
.contact-form-element{display:flex;flex-direction:column;gap:24px}
.field-group{display:flex;flex-direction:column;gap:8px}
.field-group label{font-size:14px;font-weight:600;color:#000c;text-transform:uppercase;letter-spacing:.5px}
.field-group input[type="text"],.field-group input[type="email"]{padding:14px 18px;font-size:15px;border:1px solid #59002c33;background:#FDFDFD;transition:border-color .3s ease,box-shadow .3s ease;box-shadow:inset 0 2px 4px #0000000a}
.field-group input[type="text"]:focus,.field-group input[type="email"]:focus{outline:none;border-color:#0578CC;box-shadow:inset 0 2px 4px #0000000a 0 0 0 3px #0578cc1a}
.field-group input::placeholder{color:#0006;transition:opacity .3s ease}
.field-group input:focus::placeholder{opacity:0}
.rating-fieldset{border:none;padding:0;margin:0}
.rating-fieldset legend{font-size:14px;font-weight:600;color:#000c;text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px}
.rating-options{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.rating-choice{position:relative}
.rating-choice input[type="radio"]{position:absolute;opacity:0;width:0;height:0}
.rating-choice label{display:flex;align-items:center;justify-content:center;height:52px;background:#fdfdfdff;border:2px solid #59002c26;cursor:pointer;transition:all .3s ease;font-size:16px;font-weight:600;color:#0009;box-shadow:inset 0 2px 3px #0000000a}
.rating-choice input[type="radio"]:checked + label{background:#59002C;border-color:#59002C;color:#FDFDFD;box-shadow:inset 0 2px 3px #0000004d 0 4px 12px #59002c40}
.rating-choice label:hover{border-color:#0578CC;background:#0578cc14}
.rating-choice input[type="radio"]:checked + label:hover{background:#59002C;border-color:#59002C}
.privacy-consent-box{display:flex;align-items:start;gap:12px;padding:16px;background:#0578cc0a;border-left:3px solid #0578cc4d}
.privacy-consent-box input[type="checkbox"]{margin-top:3px;width:20px;height:20px;cursor:pointer;flex-shrink:0}
.privacy-consent-box label{font-size:14px;line-height:1.5;color:#000000bf;cursor:pointer}
.privacy-consent-box a{color:#0578CC;text-decoration:underline;transition:color .3s ease}
.privacy-consent-box a:hover{color:#59002C}
.submit-btn{padding:16px 40px;font-size:16px;font-weight:600;color:#FDFDFD;background:#59002C;border:none;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #59002c40 inset 0 2px 4px #0003;display:inline-flex;align-items:center;gap:12px;align-self:start}
.submit-btn i{transition:transform .3s ease;font-size:18px}
.submit-btn:hover{background:#0578CC;box-shadow:0 6px 20px #0578cc59 inset 0 2px 4px #0003}
.submit-btn:hover i{transform:translateX(6px)}
.submit-btn:active{transform:translateY(1px);box-shadow:0 2px 8px #0578cc4d inset 0 2px 4px #0003}
.info-sidebar-box{display:flex;flex-direction:column;gap:36px}
.contact-info-block{background:linear-gradient(135deg,#59002c05 0%,#0578cc05 100%);padding:32px;box-shadow:0 2px 8px #0000000f inset 0 3px 6px #0000000a;border-left:4px solid #59002C}
.contact-info-block h3{font-size:21px;line-height:1.1;color:#59002C;margin:0 0 20px}
.detail-item{display:flex;align-items:start;gap:14px;margin-bottom:18px}
.detail-item:last-child{margin-bottom:0}
.detail-item i{font-size:20px;color:#0578CC;margin-top:2px;flex-shrink:0}
.detail-content{display:flex;flex-direction:column;gap:4px}
.detail-label{font-size:13px;font-weight:600;text-transform:uppercase;color:#00000080;letter-spacing:.5px}
.detail-value{font-size:15px;line-height:1.5;color:#000000d9}
.detail-value a{color:inherit;text-decoration:none;transition:color .3s ease}
.detail-value a:hover{color:#0578CC}
.hours-grid{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.hours-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #00000014}
.hours-row:last-child{border-bottom:none}
.hours-day{font-size:14px;color:#000000b3;font-weight:500}
.hours-time{font-size:14px;color:#000000d9;font-weight:600}
.image-accent-box{width:100%;height:280px;position:relative;overflow:hidden;box-shadow:0 6px 20px #0000001f inset 0 3px 6px #0000000f;transition:box-shadow .4s ease}
.image-accent-box:hover{box-shadow:0 12px 32px #0000002e inset 0 3px 6px #0000000f}
.image-accent-box img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.image-accent-box:hover img{transform:scale(1.08)}
@media (max-width: 768px) {
.title-header-box{flex-direction:column;padding:60px 24px 40px;gap:32px}
.title-header-box h1{font-size:42px}
.vertical-image-strip{width:100%;height:240px}
.main-contact-layout{grid-template-columns:1fr;gap:48px}
.form-section-box{padding:32px 24px}
.rating-options{grid-template-columns:repeat(3,1fr)}
.floristry-contact::before,.floristry-contact::after{display:none}
}
@media (max-width: 480px) {
.title-header-box h1{font-size:36px}
.form-section-box{padding:24px 18px}
.contact-info-block{padding:24px 18px}
.rating-options{grid-template-columns:repeat(2,1fr)}
}
::selection{background:#0578CC;color:#FDFDFD}
.about-nexul{max-width:1000px;margin:0 auto;padding:0 24px 24px;color:#1a1a1a;background:linear-gradient(to bottom,#fdfdfd99,#59002c08)}
.about-nexul ::selection{background:#0578CC;color:#fff}
.about-nexul input::placeholder,.about-nexul textarea::placeholder{opacity:1;transition:opacity .3s}
.about-nexul input:focus::placeholder,.about-nexul textarea:focus::placeholder{opacity:0}
.about-nexul h1{font-size:62px;line-height:1.1;margin:48px 0 24px;-webkit-font-smoothing:antialiased}
.about-nexul h2{font-size:38px;line-height:1.5;margin:0 0 24px}
.about-nexul h3{font-size:32px;line-height:1.5;margin:0 0 24px}
.about-nexul h4{font-size:17px;line-height:1.5;margin:0 0 12px}
.about-nexul p{font-size:15px;line-height:1.5;margin:0 0 24px}
.hero-area{position:relative;overflow:hidden;padding:72px 0;margin:0 -24px 48px}
.hero-area::before{content:'';position:absolute;top:-100px;right:-150px;width:400px;height:400px;background:radial-gradient(circle,#0578cc26,transparent 70%);filter:blur(60px);z-index:0;pointer-events:none}
.hero-area::after{content:'';position:absolute;bottom:-80px;left:-120px;width:350px;height:350px;background:radial-gradient(circle,#59002c1f,transparent 70%);filter:blur(50px);z-index:0;pointer-events:none}
.hero-content-box{position:relative;z-index:1;max-width:620px;padding:0 24px}
.hero-image-frame{position:absolute;top:50%;right:0;transform:translateY(-50%);width:380px;height:420px;z-index:0;overflow:visible}
.hero-image-frame img{width:450px;height:420px;object-fit:cover;object-position:center;box-shadow:inset 0 3px 8px #00000026 0 4px 16px #0000001a;filter:brightness(1.08)}
.hero-content-box h1{margin-top:0}
.hero-content-box p:first-of-type{background:linear-gradient(to right,#59002c0a,transparent);padding:12px 12px 12px 18px;box-shadow:inset 3px 0 0 #59002C;margin-bottom:24px}
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:72px;padding:48px 24px;background:linear-gradient(135deg,#fdfdfde6,#0578cc0a);box-shadow:inset 0 2px 6px #00000014 0 2px 8px #0000000d}
.story-text-column h2{font-style:italic}
.story-text-column p{margin-bottom:24px}
.story-image-stack{display:flex;flex-direction:column;gap:24px}
.story-image-stack img{width:100%;height:200px;object-fit:cover;box-shadow:inset 0 2px 5px #0000001a 0 3px 10px #00000014;border:1px solid #59002c1a}
.divider-brush{width:100%;height:2px;background:linear-gradient(to right,transparent,#59002C 20%,#59002C 80%,transparent);margin:72px 0;opacity:.3}
.team-presentation{margin-bottom:72px}
.team-presentation h2{text-align:left;margin-bottom:48px}
.team-cards-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:24px}
.person-card{background:#fdfdfdb3;padding:24px;box-shadow:inset 0 3px 6px #0000000f 0 2px 8px #00000014}
.person-card img{width:100%;height:240px;object-fit:cover;object-position:top center;margin-bottom:18px;border:1px solid #0578cc26;box-shadow:inset 0 2px 4px #00000014}
.person-card h4{margin-bottom:6px}
.person-role{font-size:13px;color:#666;margin-bottom:12px}
.person-card p{font-size:14px;margin-bottom:0}
.values-sidebar-layout{display:grid;grid-template-columns:2fr 1fr;gap:48px;margin-bottom:72px;padding-top:48px;border-top:1px solid #59002c26}
.values-main-content h2{margin-bottom:36px}
.value-item{margin-bottom:36px}
.value-item h4{color:#59002C;margin-bottom:12px}
.value-item p{margin-bottom:0}
.sidebar-info-box{background:linear-gradient(to bottom,#59002c0d,#0578cc0a);padding:24px;box-shadow:inset 0 4px 8px #00000014 0 2px 6px #0000000d;position:sticky;top:24px;height:fit-content}
.sidebar-info-box h4{font-style:italic;margin-bottom:18px}
.info-detail{margin-bottom:18px}
.info-label{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:#666;margin-bottom:4px}
.info-value{font-size:15px;color:#1a1a1a}
.info-value a{color:#0578CC;text-decoration:none;transition:color .3s}
.info-value a:hover{color:#59002C}
@media (max-width: 768px) {
.about-nexul h1{font-size:42px}
.about-nexul h2{font-size:28px}
.about-nexul h3{font-size:24px}
.hero-area{padding:48px 0;margin-bottom:48px}
.hero-image-frame{position:relative;width:100%;height:300px;transform:none;margin-top:24px}
.hero-image-frame img{width:100%;height:300px}
.hero-content-box{max-width:100%}
.story-grid{grid-template-columns:1fr;padding:24px}
.team-cards-row{grid-template-columns:1fr}
.values-sidebar-layout{grid-template-columns:1fr;gap:24px}
.sidebar-info-box{position:relative;top:0}
}
.courses-index{background:linear-gradient(135deg,#59002c08 0%,#fdfdfdff 100%);min-height:100vh}
.courses-index *{box-sizing:border-box}
.courses-index .title-block{position:relative;height:420px;overflow:hidden;display:flex;align-items:center;justify-content:center;margin-bottom:48px}
.courses-index .title-block::before{content:'';position:absolute;inset:0;background-image:url(./event_images/main_duplicate012.jpg);background-size:cover;background-position:center;filter:blur(8px);transform:scale(1.1)}
.courses-index .title-block::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,#59002cb3 0%,#0578cc99 100%);animation:grain-animation .8s steps(10) infinite}
@keyframes grain-animation {
0%,100%{opacity:.6}
50%{opacity:.65}
}
.courses-index .title-text{position:relative;z-index:2;text-align:center;padding:24px}
.courses-index .title-text h1{font-size:64px;color:#FDFDFD;margin:0;line-height:1.1;text-shadow:2px 2px 12px #00000080;font-weight:700}
.courses-index .wrapper{max-width:1000px;margin:0 auto;padding:0 24px}
.courses-index .intro-section{background:#0578cc0a;padding:48px 0;box-shadow:inset 0 3px 6px #59002c14;margin-bottom:48px}
.courses-index .intro-layout{max-width:1000px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:2fr 1fr;gap:48px;align-items:start}
.courses-index .intro-content p:first-of-type{background:#59002c0f;padding:18px;box-shadow:inset 2px 2px 4px #59002c1f;margin-bottom:24px;line-height:1.5}
.courses-index .intro-content p{color:#1a1a1a;font-size:15px;line-height:1.5;margin-bottom:24px}
.courses-index .intro-content h2{font-size:36px;color:#59002C;margin-bottom:24px;line-height:1.1}
.courses-index .intro-sidebar{background:linear-gradient(180deg,#fdfdfdff 0%,#59002c0d 100%);padding:24px;box-shadow:inset 3px 3px 6px #59002c1a 2px 2px 8px #0000000d}
.courses-index .intro-sidebar h3{font-size:20px;color:#59002C;margin-bottom:18px;font-style:italic;line-height:1.5}
.courses-index .intro-sidebar ul{list-style:none;padding:0;margin:0}
.courses-index .intro-sidebar li{padding:12px 0;border-bottom:1px solid #59002c26;color:#333;font-size:15px;line-height:1.5;position:relative;padding-left:24px}
.courses-index .intro-sidebar li::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:12px;height:2px;background:#0578CC}
.courses-index .intro-sidebar li:last-child{border-bottom:none}
.courses-index .courses-section{padding:48px 0;position:relative}
.courses-section::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:100%;height:100%;background-image:repeating-linear-gradient(0deg,transparent,transparent 80px,#59002c08 80px,#59002c08 82px),repeating-linear-gradient(90deg,transparent,transparent 80px,#59002c08 80px,#59002c08 82px);pointer-events:none;z-index:0}
.courses-index .courses-section > *{position:relative;z-index:1}
.courses-index .courses-section h2{font-size:42px;color:#59002C;text-align:center;margin-bottom:48px;line-height:1.1}
.courses-index .courses-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:48px;margin-bottom:48px}
.courses-index .course-card{background:#FDFDFD;padding:0;box-shadow:inset 4px 4px 8px #59002c14 3px 3px 12px #00000014;overflow:hidden;position:relative}
.courses-index .course-image-wrap{position:relative;width:100%;height:220px;overflow:hidden}
.courses-index .course-image-wrap img{width:100%;height:100%;object-fit:cover;display:block;border:1px solid #59002c1a;transition:transform .4s ease}
.courses-index .course-image-wrap::after{content:attr(data-caption);position:absolute;inset:0;background:#59002ceb;color:#FDFDFD;display:flex;align-items:center;justify-content:center;padding:24px;font-size:15px;line-height:1.5;text-align:center;opacity:0;transition:opacity .4s ease}
.courses-index .course-image-wrap:hover::after{opacity:1}
.courses-index .course-image-wrap:hover img{transform:scale(1.05)}
.courses-index .course-details{padding:24px}
.courses-index .course-details h3{font-size:24px;color:#59002C;margin-bottom:18px;line-height:1.5}
.courses-index .course-details p{font-size:15px;color:#333;line-height:1.5;margin-bottom:24px}
.courses-index .course-meta{display:flex;gap:24px;margin-bottom:24px;font-size:14px;color:#666}
.courses-index .course-meta span{display:flex;align-items:center;gap:8px}
.courses-index .course-meta i{color:#0578CC}
.courses-index .course-btn{background:#0578CC;color:#FDFDFD;padding:14px 28px;border:none;cursor:pointer;font-size:15px;display:inline-flex;align-items:center;gap:8px;transition:background .3s ease;border-radius:4px;text-decoration:none}
.courses-index .course-btn i{transition:transform .3s ease}
.courses-index .course-btn:hover{background:#59002C}
.courses-index .course-btn:hover i{transform:translateX(4px)}
.courses-index .divider-accent{text-align:center;margin:48px 0;position:relative}
.courses-index .divider-accent::before{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:120px;height:2px;background:#59002C}
.courses-index .divider-accent::after{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:8px;height:8px;background:#0578CC;border-radius:50%}
.courses-index .divider-accent span{position:relative;background:#fdfdfdf2;padding:0 24px;color:#59002C;font-size:15px}
.courses-index .process-section{background:linear-gradient(180deg,#59002c0d 0%,#0578cc0a 100%);padding:48px 0;box-shadow:inset 0 4px 8px #59002c0f}
.courses-index .process-section h2{font-size:38px;color:#0578CC;margin-bottom:18px;line-height:1.1;text-align:left}
.courses-index .process-intro{font-size:15px;color:#333;line-height:1.5;margin-bottom:48px;max-width:680px}
.courses-index .steps-container{column-count:2;column-gap:48px;max-width:1000px;margin:0 auto;padding:0 24px}
.courses-index .step-item{break-inside:avoid;margin-bottom:36px;display:flex;gap:18px;align-items:start;position:relative}
.courses-index .step-icon{width:56px;height:56px;background:#FDFDFD;border:2px solid #0578CC;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:inset 2px 2px 4px #59002c14}
.courses-index .step-icon i{font-size:24px;color:#59002C}
.courses-index .step-content h4{font-size:18px;color:#59002C;margin-bottom:12px;line-height:1.5}
.courses-index .step-content p{font-size:15px;color:#333;line-height:1.5;margin:0}
.courses-index .step-item:not(:last-child)::after{content:'';position:absolute;left:27px;top:56px;width:2px;height:calc(100% + 12px);background:linear-gradient(180deg,#0578CC 0%,#0578cc33 100%)}
.courses-index .color-selector-section{padding:48px 0;background:#fdfdfdfa}
.courses-index .color-selector-section h2{font-size:40px;color:#59002C;margin-bottom:24px;line-height:1.1;font-style:italic;text-align:center}
.courses-index .selector-description{text-align:center;font-size:15px;color:#333;line-height:1.5;margin-bottom:48px;max-width:720px;margin-left:auto;margin-right:auto}
.courses-index .color-options{display:flex;justify-content:center;gap:24px;margin-bottom:48px}
.courses-index .color-radio{position:absolute;opacity:0;pointer-events:none}
.courses-index .color-label{display:block;width:72px;height:72px;cursor:pointer;border:3px solid transparent;transition:all .3s ease;box-shadow:inset 2px 2px 4px #0000001a 2px 2px 6px #0000001f}
.courses-index .color-label:hover{transform:scale(1.1);box-shadow:inset 2px 2px 4px #00000026 3px 3px 10px #0003}
.courses-index .color-radio:checked + .color-label{border-color:#59002C;box-shadow:inset 3px 3px 6px #0003 0 0 0 2px #FDFDFD,0 0 0 5px #59002C}
.courses-index .color-1-label{background:#59002C}
.courses-index .color-2-label{background:#0578CC}
.courses-index .color-3-label{background:#8B1538}
.courses-index .color-4-label{background:#2A9BD8}
.courses-index .color-5-label{background:#A4003E}
.courses-index .color-result{max-width:800px;margin:0 auto;padding:36px;background:#FDFDFD;box-shadow:inset 4px 4px 8px #59002c1a;display:none}
.courses-index .color-radio:checked ~ .color-result{display:block}
.courses-index .result-content h3{font-size:26px;color:#59002C;margin-bottom:18px;line-height:1.5}
.courses-index .result-content p{font-size:15px;color:#333;line-height:1.5;margin:0}
.courses-index ::selection{background:#0578CC;color:#FDFDFD}
@media (max-width: 768px) {
.courses-index .title-text h1{font-size:42px}
.courses-index .intro-layout{grid-template-columns:1fr;gap:24px}
.courses-index .courses-grid{grid-template-columns:1fr;gap:24px}
.courses-index .steps-container{column-count:1}
.courses-index .color-options{flex-wrap:wrap}
.courses-index .intro-section h2{font-size:28px}
.courses-index .courses-section h2{font-size:32px}
.courses-index .process-section h2{font-size:30px}
}
.success-page{background:linear-gradient(135deg,#fdfdfdff 0%,#59002c08 50%,#0578cc0a 100%);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.success-page .confirm-box{max-width:1000px;width:100%;background:#fdfdfdf2;box-shadow:0 4px 12px #59002c14 inset 0 2px 4px #59002c08;padding:72px 48px;text-align:center;position:relative;overflow:hidden}
.success-page .confirm-box::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:400px;height:400px;border:3px solid #0578cc1a;border-radius:50%;pointer-events:none}
.success-page .confirm-box::after{content:'';position:absolute;bottom:-200px;right:-200px;width:500px;height:500px;border:2px solid #59002c14;pointer-events:none}
.success-page .icon-wrap{width:120px;height:120px;margin:0 auto 24px;background:linear-gradient(135deg,#0578cc14 0%,#59002c0f 100%);box-shadow:0 6px 16px #0578cc1f inset 0 3px 6px #0578cc0d;display:flex;align-items:center;justify-content:center;position:relative;animation:iconPulse 2s ease-in-out infinite}
@keyframes iconPulse {
0%,100%{transform:scale(1)}
50%{transform:scale(1.05)}
}
.success-page .icon-wrap i{font-size:64px;color:#0578CC}
.success-page .main-title{font-size:42px;line-height:1.1;color:#59002C;margin:0 0 24px;font-weight:700;-webkit-font-smoothing:antialiased}
.success-page .desc-text{font-size:15px;line-height:1.5;color:#333;margin:0 auto 48px;max-width:600px}
.success-page .desc-text strong{color:#59002C;font-weight:600}
.success-page .info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:0 0 48px}
.success-page .info-item{background:#fdfdfdff;padding:24px;box-shadow:0 2px 8px #59002c0f inset 0 2px 4px #0578cc0a;transition:all .3s ease}
.success-page .info-item:hover{background:#0578cc05;box-shadow:0 4px 12px #59002c1a inset 0 3px 6px #0578cc0f}
.success-page .info-item .number{font-size:32px;color:#0578CC;font-weight:700;line-height:1.1;margin:0 0 12px;display:block}
.success-page .info-item .label{font-size:13px;color:#666;line-height:1.5;margin:0}
.success-page .action-area{display:flex;gap:24px;justify-content:center;align-items:center;flex-wrap:wrap}
.success-page .btn-primary{background:#0578CC;color:#FDFDFD;padding:16px 48px;font-size:15px;font-weight:600;border:none;cursor:pointer;box-shadow:0 4px 12px #0578cc33 inset 0 2px 4px #0578cc1a;transition:all .3s ease;display:inline-flex;align-items:center;gap:12px;text-decoration:none}
.success-page .btn-primary:hover{background:#046ba8;box-shadow:0 6px 16px #0578cc4d inset 0 3px 6px #0578cc26}
.success-page .btn-primary:hover i{transform:translateX(4px)}
.success-page .btn-primary i{transition:transform .3s ease}
.success-page .btn-secondary{background:transparent;color:#59002C;padding:16px 48px;font-size:15px;font-weight:600;border:2px solid #59002C;cursor:pointer;box-shadow:inset 0 2px 4px #59002c0d;transition:all .3s ease;display:inline-flex;align-items:center;gap:12px;text-decoration:none}
.success-page .btn-secondary:hover{background:#59002c0d;box-shadow:0 4px 12px #59002c1a inset 0 3px 6px #59002c14}
.success-page .btn-secondary:hover i{transform:translateX(4px)}
.success-page .btn-secondary i{transition:transform .3s ease}
.success-page .contact-note{margin:48px 0 0;padding:24px;background:linear-gradient(90deg,#59002c05 0%,#0578cc05 100%);box-shadow:inset 0 3px 6px #59002c0a;font-size:13px;line-height:1.5;color:#666}
.success-page .contact-note a{color:#0578CC;text-decoration:none;font-weight:600;border-bottom:1px solid transparent;transition:border-color .3s ease}
.success-page .contact-note a:hover{border-bottom-color:#0578CC}
.success-page ::selection{background:#0578CC;color:#FDFDFD}
@media (max-width: 768px) {
.success-page .confirm-box{padding:48px 24px}
.success-page .main-title{font-size:32px}
.success-page .info-grid{grid-template-columns:1fr}
.success-page .action-area{flex-direction:column}
.success-page .btn-primary,.success-page .btn-secondary{width:100%;justify-content:center}
}