@import "https://cdn.jsdelivr.net/npm/@fontsource/cabin@latest/400.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/cabin@latest/700.css";
*,::before,::after{box-sizing:border-box}
html{font-size:100%}
body{margin:0;overscroll-behavior:contain;overflow-x:hidden;font-family:'Cabin',sans-serif}
:focus-visible{outline:2px solid #C56E4A;outline-offset:3px;box-shadow:0 0 0 5px #c56e4a2e}
.sitehead{position:relative;background:linear-gradient(160deg,#fff 0%,#E9EEE8 60%,#dde5f0 100%);border-bottom:2px solid #C56E4A;padding:0;z-index:100}
.sitehead-top{display:flex;align-items:flex-start;justify-content:space-between;padding:32px 32px 16px;max-width:1200px;margin:0 auto;gap:32px}
.brand{display:flex;align-items:center;gap:16px;text-decoration:none;flex-shrink:0}
.brandmark{width:60px;height:60px;background-color:#1b2340;border-radius:8px;display:flex;align-items:center;justify-content:center;border:2px solid #355096;box-shadow:1px 7px 25px 0 #3550961a;padding:4px;flex-shrink:0}
.brandmark img{width:100%;height:100%;object-fit:contain;display:block}
.brandlabel{display:flex;flex-direction:column;gap:4px}
.brandname{font-size:22px;font-weight:700;color:#1b2340;line-height:1.2;letter-spacing:0}
.brandtag{font-size:14px;color:#355096;line-height:1.6;font-weight:400}
.headcontact{display:flex;flex-direction:column;align-items:flex-end;gap:8px;padding-top:4px}
.phonelink{display:flex;align-items:center;gap:8px;text-decoration:none;color:#1b2340;font-size:22px;font-weight:700;line-height:1.2;transition:color .22s cubic-bezier(0.4,0,0.2,1)}
.phonelink:hover{color:#C56E4A}
.phonelink .la{font-size:22px;color:#C56E4A}
.emaillink{display:flex;align-items:center;gap:8px;text-decoration:none;color:#355096;font-size:14px;line-height:1.6;transition:color .25s cubic-bezier(0.0,0,0.2,1)}
.emaillink:hover{color:#C56E4A}
.emaillink .la{font-size:14px}
.sitehead-bottom{border-top:1px solid #35509626;background:#fff9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.primarynav{max-width:1200px;margin:0 auto;padding:0 32px;display:flex;align-items:center;flex-wrap:wrap;gap:0}
.primarynav a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:#1b2340;font-size:14px;font-weight:700;line-height:1.6;padding:16px;letter-spacing:.04em;text-transform:uppercase;position:relative;transition:color .22s cubic-bezier(0.4,0,0.2,1);white-space:nowrap;min-height:44px}
.primarynav a::after{content:'';position:absolute;bottom:0;left:16px;right:16px;height:2px;background:#C56E4A;transform:scaleX(0);transform-origin:left center;transition:transform .22s cubic-bezier(0.4,0,0.2,1)}
.primarynav a:hover{color:#C56E4A}
.primarynav a:hover::after{transform:scaleX(1)}
.primarynav a[aria-current="page"]{color:#C56E4A}
.primarynav a[aria-current="page"]::after{transform:scaleX(1)}
.primarynav a .la{font-size:16px}
.sitefooter{position:relative;background:linear-gradient(135deg,#355096eb 0%,#1b2340f7 100%);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:2px solid #C56E4A}
.footerinner{max-width:1200px;margin:0 auto;padding:32px 32px 0}
.footergrid{display:flex;flex-wrap:wrap;gap:32px;align-items:flex-start}
.footerbrand{display:flex;flex-direction:column;align-items:flex-start;gap:16px;flex:0 0 auto}
.footerlogobox{width:60px;height:60px;background-color:#1b2340;border-radius:8px;border:2px solid #c56e4a99;box-shadow:1px 8px 48px 0 #c56e4a24;display:flex;align-items:center;justify-content:center;padding:4px}
.footerlogobox img{width:100%;height:100%;object-fit:contain;display:block}
.footerbrandname{font-size:22px;font-weight:700;color:#fff;line-height:1.2}
.footeraddress{flex:1 1 200px}
.footeraddress address{font-style:normal;display:flex;flex-direction:column;gap:8px}
.footerlabel{font-size:14px;font-weight:700;color:#C56E4A;text-transform:uppercase;letter-spacing:.08em;line-height:1.2;margin-bottom:8px}
.footeraddresstext{font-size:14px;color:#e9eee8d9;line-height:1.9}
.footercontactlinks{display:flex;flex-direction:column;gap:8px}
.footerphone{display:flex;align-items:center;gap:8px;text-decoration:none;color:#fff;font-size:14px;font-weight:700;line-height:1.6;transition:color .24s cubic-bezier(0.4,0,0.2,1)}
.footerphone:hover{color:#C56E4A}
.footerphone .la{color:#C56E4A;font-size:16px}
.footeremail{display:flex;align-items:center;gap:8px;text-decoration:none;color:#e9eee8d9;font-size:14px;line-height:1.6;transition:color .26s cubic-bezier(0.0,0,0.2,1)}
.footeremail:hover{color:#C56E4A}
.footeremail .la{color:#C56E4A;font-size:16px}
.footernav{flex:0 0 auto}
.footernav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.footernav a{font-size:14px;color:#e9eee8bf;text-decoration:none;line-height:1.6;display:inline-flex;align-items:center;gap:8px;transition:color .22s cubic-bezier(0.4,0,0.2,1);min-height:44px}
.footernav a:hover{color:#C56E4A}
.footernav a .la{font-size:14px}
.footerbar{border-top:1px solid #c56e4a40;margin-top:32px;padding:16px 0;display:flex;align-items:center;justify-content:center}
.copyright{font-size:14px;color:#e9eee880;line-height:1.6;text-align:center}
.consentcard{position:fixed;top:32px;left:0;right:0;margin:0 auto;width:480px;max-width:calc(100vw - 32px);background:#fffffff7;border-radius:8px;border:1px solid #c56e4a4d;box-shadow:1px 8px 48px 0 #c56e4a24;z-index:4000;padding:32px;display:none}
.consenttext{font-size:14px;color:#1b2340;line-height:1.9;margin-bottom:16px;font-family:'Cabin',sans-serif}
.consentactions{display:flex;gap:16px}
.consentaccept,.consentdecline{flex:1;font-family:'Cabin',sans-serif;font-size:14px;font-weight:700;line-height:1.2;letter-spacing:.06em;text-transform:uppercase;border:none;border-radius:8px;padding:16px;cursor:pointer;min-height:44px;position:relative;overflow:hidden;transition:color .22s cubic-bezier(0.4,0,0.2,1)}
.consentaccept{background:#C56E4A;color:#fff}
.consentaccept::before{content:'';position:absolute;bottom:-100%;left:0;right:0;height:100%;background:#355096;transition:bottom .25s cubic-bezier(0.4,0,0.2,1);z-index:0}
.consentaccept:hover::before{bottom:0}
.consentaccept span{position:relative;z-index:1}
.consentdecline{background:transparent;color:#1b2340;border:2px solid #355096}
.consentdecline::before{content:'';position:absolute;bottom:-100%;left:0;right:0;height:100%;background:#E9EEE8;transition:bottom .28s cubic-bezier(0.0,0,0.2,1);z-index:0}
.consentdecline:hover::before{bottom:0}
.consentdecline span{position:relative;z-index:1}
.consentaccept:focus-visible,.consentdecline:focus-visible{outline:2px solid #C56E4A;outline-offset:3px;box-shadow:0 0 0 5px #c56e4a2e}
@media (max-width: 768px) {
.sitehead-top{flex-wrap:wrap;padding:16px 16px 8px;gap:16px}
.headcontact{align-items:flex-start}
.primarynav{padding:0 16px}
.primarynav a{padding:12px 8px;font-size:14px}
.footerinner{padding:32px 16px 0}
.footergrid{flex-direction:column;gap:32px}
}
@media (max-width: 375px) {
.brandname{font-size:22px}
.phonelink{font-size:22px}
.primarynav a{padding:12px 8px}
.consentactions{flex-direction:column}
}
.info-doc{max-width:1200px;margin:0 auto;padding:32px;color:#2a2a35;line-height:1.9;font-size:14px}
.info-doc h1{font-size:55px;line-height:1.2;color:#355096;padding-bottom:16px;border-bottom:2px solid #C56E4A;margin-bottom:32px;margin-top:0;letter-spacing:0}
.info-doc h2{font-size:22px;line-height:1.2;color:#355096;margin-top:32px;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid #E9EEE8}
.info-doc h3{font-size:22px;line-height:1.6;color:#2a2a35;margin-top:32px;margin-bottom:8px}
.info-doc h4{font-size:14px;line-height:1.6;color:#C56E4A;text-transform:uppercase;letter-spacing:.08em;margin-top:32px;margin-bottom:8px}
.info-doc h5{font-size:14px;line-height:1.6;color:#355096;margin-top:16px;margin-bottom:8px}
.info-doc h6{font-size:14px;line-height:1.6;color:#2a2a35;margin-top:16px;margin-bottom:8px}
.info-doc strong,.info-doc b{color:#2a2a35;font-weight:700}
.info-doc em,.info-doc i{color:#4a4a5a;font-style:italic}
.info-doc a{color:#355096;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#35509666;transition:color .22s cubic-bezier(0.4,0,0.2,1),text-decoration-color .22s cubic-bezier(0.4,0,0.2,1)}
.info-doc a:hover{color:#C56E4A;text-decoration-color:#c56e4a99}
.info-doc table{width:100%;border-collapse:collapse;margin-top:32px;margin-bottom:32px;font-size:14px;line-height:1.6;box-shadow:1px 7px 25px 0 #3550961a;border-radius:8px;overflow:hidden}
.info-doc thead{background-color:#355096;color:#fff}
.info-doc thead th{padding:16px;text-align:left;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;border:none}
.info-doc tbody tr{border-bottom:1px solid #E9EEE8;transition:background-color .2s cubic-bezier(0.4,0,0.2,1)}
.info-doc tbody tr:last-child{border-bottom:none}
.info-doc tbody tr:nth-child(even){background-color:#f4f6f4}
.info-doc tbody tr:hover{background-color:#e9eee8b3}
.info-doc td{padding:16px;color:#2a2a35;vertical-align:top;border:none}
.info-doc th{padding:16px;vertical-align:middle}
@media (max-width: 768px) {
.info-doc{padding:16px}
.info-doc h1{font-size:22px}
.info-doc h2{font-size:22px}
.info-doc table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
@media (max-width: 375px) {
.info-doc{padding:16px 8px}
.info-doc h1{font-size:22px;line-height:1.2}
.info-doc thead th,.info-doc td{padding:8px}
}
.services{max-width:100%;overflow-x:hidden}
.services .pagewrap{max-width:1200px;margin:0 auto;padding:0 16px}
.services .servicelist{background:#fff;padding:32px 0;position:relative}
.services .servicelist::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 100%,#3550960f 0%,transparent 70%);pointer-events:none}
.services .listgrid{display:grid;grid-template-columns:1fr 2fr 1fr;gap:32px;align-items:start}
.services .listleft{display:flex;flex-direction:column;gap:16px;padding-top:8px}
.services .listleft .badge{display:inline-block;font-size:14px;font-variant:small-caps;text-transform:uppercase;letter-spacing:.12em;color:#C56E4A;border-top:2px solid #C56E4A;border-bottom:1px solid #c56e4a4d;padding:4px 0}
.services .listheading{font-size:55px;line-height:1.2;color:#1b2340;margin:0;font-weight:700}
.services .listheading .accent{color:#C56E4A;display:block}
.services .listdesc{font-size:14px;line-height:1.9;color:#3a3a3a;margin:0}
.services .listimage{position:relative;border-radius:8px;overflow:hidden}
.services .listimage::before{content:"";position:absolute;inset:0;border:2px solid #c56e4a40;border-radius:8px;z-index:2;pointer-events:none}
.services .listimage::after{content:"";position:absolute;inset:4px;border:1px solid #35509626;border-radius:4px;z-index:2;pointer-events:none}
.services .listimage img{width:100%;height:340px;object-fit:cover;display:block;filter:sepia(0.18) contrast(1.08) brightness(0.96) saturate(0.9);transition:transform .25s cubic-bezier(0.4,0,0.2,1)}
.services .listimage:hover img{transform:scale(1.03)}
.services .listright{display:flex;flex-direction:column;gap:16px}
.services .servicecard{border:1px solid #E9EEE8;border-radius:8px;padding:16px;display:grid;grid-template-columns:40px 1fr auto;gap:16px;align-items:start;background:#fff;box-shadow:1px 3px 2px 0 #c56e4a12;transition:box-shadow .22s cubic-bezier(0.4,0,0.2,1),border-color .22s cubic-bezier(0.4,0,0.2,1);animation:slidein .26s cubic-bezier(0.0,0,0.2,1) both}
.services .servicecard:nth-child(even){animation-name:slideright}
@keyframes slidein {
from{opacity:0;transform:translateX(-18px)}
to{opacity:1;transform:translateX(0)}
}
@keyframes slideright {
from{opacity:0;transform:translateX(18px)}
to{opacity:1;transform:translateX(0)}
}
.services .servicecard:nth-child(1){animation-delay:.04s}
.services .servicecard:nth-child(2){animation-delay:.09s}
.services .servicecard:nth-child(3){animation-delay:.14s}
.services .servicecard:nth-child(4){animation-delay:.19s}
.services .servicecard:nth-child(5){animation-delay:.24s}
.services .servicecard:hover{box-shadow:1px 7px 25px 0 #c56e4a1a;border-color:#C56E4A}
.services .servicecard .icon{width:40px;height:40px;background:#E9EEE8;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#355096;font-size:22px;flex-shrink:0;transition:background .24s cubic-bezier(0.4,0,0.2,1)}
.services .servicecard:hover .icon{background:#c56e4a1f;color:#C56E4A}
.services .servicecard .cardtext{display:flex;flex-direction:column;gap:4px}
.services .servicecard .cardname{font-size:14px;font-weight:700;color:#1b2340;line-height:1.2;margin:0;text-transform:uppercase;letter-spacing:.06em}
.services .servicecard .cardname::after{content:"";display:inline-block;width:5px;height:5px;background:#C56E4A;border-radius:28px;margin-left:6px;vertical-align:middle;margin-bottom:2px}
.services .servicecard .carddesc{font-size:14px;line-height:1.6;color:#4a4a4a;margin:0}
.services .servicecard .price{font-size:14px;font-weight:700;color:#355096;white-space:nowrap;line-height:1.2}
.services .geodivider{display:flex;align-items:center;gap:0;overflow:hidden;height:16px;background:#E9EEE8}
.services .geodivider span{display:block;width:16px;height:16px;background:#fff;clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);flex-shrink:0}
.services .geodivider span:nth-child(even){background:#c56e4a2e}
.services .faqsection{background:#E9EEE8;padding:32px 0;position:relative}
.services .faqsection::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 90% 50% at 10% 50%,#3550960d 0%,transparent 60%);pointer-events:none}
.services .faqinner{display:grid;grid-template-columns:2fr 1fr;gap:32px;align-items:start}
.services .faqtop{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}
.services .faqlabel{font-size:14px;font-variant:small-caps;text-transform:uppercase;letter-spacing:.1em;color:#355096}
.services .faqheading{font-size:22px;line-height:1.2;color:#1b2340;margin:0;font-weight:700}
.services .faqheading::after{content:"";display:inline-block;width:6px;height:6px;background:#C56E4A;border-radius:28px;margin-left:8px;vertical-align:middle}
.services .faqlist{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}
.services .faqitem{background:#fff;border-radius:8px;border:1px solid #3550961f;box-shadow:1px 3px 2px 0 #35509612;overflow:hidden}
.services .faqitem summary{padding:16px;font-size:14px;font-weight:700;color:#1b2340;cursor:pointer;display:flex;align-items:center;gap:8px;list-style:none;transition:color .22s cubic-bezier(0.4,0,0.2,1)}
.services .faqitem summary::-webkit-details-marker{display:none}
.services .faqitem summary::before{content:"";display:block;width:8px;height:8px;border-right:2px solid #C56E4A;border-bottom:2px solid #C56E4A;transform:rotate(-45deg);flex-shrink:0;transition:transform .22s cubic-bezier(0.4,0,0.2,1)}
.services .faqitem[open] summary::before{transform:rotate(45deg)}
.services .faqitem summary:hover{color:#C56E4A}
.services .faqanswer{padding:0 16px 16px 40px;font-size:14px;line-height:1.9;color:#3a3a3a;margin:0}
.services .statsside{display:flex;flex-direction:column;gap:16px}
.services .statcard{background:#fff;border-radius:8px;padding:16px;border-top:3px solid #355096;box-shadow:1px 7px 25px 0 #3550961a;display:flex;flex-direction:column;gap:4px;animation:slidein .28s cubic-bezier(0.0,0,0.2,1) both}
.services .statcard:nth-child(even){border-top-color:#C56E4A;animation-name:slideright}
.services .statcard:nth-child(1){animation-delay:.05s}
.services .statcard:nth-child(2){animation-delay:.12s}
.services .statcard:nth-child(3){animation-delay:.18s}
.services .statnum{font-size:55px;line-height:1.2;font-weight:700;color:#355096}
.services .statcard:nth-child(even) .statnum{color:#C56E4A}
.services .statlabel{font-size:14px;line-height:1.6;color:#4a4a4a;text-transform:uppercase;letter-spacing:.08em;font-variant:small-caps}
.services .processtable{background:#fff;border-radius:8px;padding:16px;border:1px solid #c56e4a2e;box-shadow:1px 3px 2px 0 #c56e4a12}
.services .processtable .ptitle{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#1b2340;margin:0 0 16px}
.services .processtable .ptitle::after{content:"";display:inline-block;width:5px;height:5px;background:#C56E4A;border-radius:28px;margin-left:6px;vertical-align:middle}
.services .steprow{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid #E9EEE8}
.services .steprow:last-child{border-bottom:none}
.services .stepnum{width:24px;height:24px;background:#355096;color:#fff;border-radius:28px;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.services .steptext{font-size:14px;line-height:1.6;color:#3a3a3a;margin:0}
.services .ctarow{display:flex;gap:16px;flex-wrap:wrap;margin-top:16px}
.services .btnprimary{display:inline-block;padding:16px 32px;background:#C56E4A;color:#fff;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;border-radius:8px;text-decoration:none;border:none;cursor:pointer;position:relative;overflow:hidden;transition:color .24s cubic-bezier(0.4,0,0.2,1);box-shadow:1px 7px 25px 0 #c56e4a1a}
.services .btnprimary::after{content:"";position:absolute;left:0;right:0;bottom:0;height:0;background:#1b2340;transition:height .24s cubic-bezier(0.4,0,0.2,1);z-index:0}
.services .btnprimary:hover::after{height:100%}
.services .btnprimary span{position:relative;z-index:1}
.services .btnsecondary{display:inline-block;padding:16px 32px;background:transparent;color:#355096;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;border-radius:8px;text-decoration:none;border:2px solid #355096;cursor:pointer;position:relative;overflow:hidden;transition:color .24s cubic-bezier(0.4,0,0.2,1),border-color .24s cubic-bezier(0.4,0,0.2,1)}
.services .btnsecondary::after{content:"";position:absolute;left:0;right:0;bottom:0;height:0;background:#355096;transition:height .24s cubic-bezier(0.4,0,0.2,1);z-index:0}
.services .btnsecondary:hover::after{height:100%}
.services .btnsecondary:hover{color:#fff}
.services .btnsecondary span{position:relative;z-index:1}
@media (max-width: 1366px) {
.services .listgrid{grid-template-columns:1fr 1.6fr 1fr}
}
@media (max-width: 768px) {
.services .listgrid{grid-template-columns:1fr}
.services .listimage{order:-1}
.services .listimage img{height:220px}
.services .listheading{font-size:22px}
.services .faqinner{grid-template-columns:1fr}
.services .statsside{flex-direction:row;flex-wrap:wrap}
.services .statcard{flex:1 1 140px}
.services .statnum{font-size:22px}
}
@media (max-width: 375px) {
.services .servicecard{grid-template-columns:32px 1fr}
.services .price{grid-column:2}
.services .ctarow{flex-direction:column}
.services .btnprimary,.services .btnsecondary{text-align:center}
}
.opening{max-width:100%;overflow-x:hidden}
.opening ::selection{background:#355096;color:#fff}
.opening *{box-sizing:border-box}
.opening .pagewrap{max-width:1200px;margin:0 auto;padding:0 32px}
.opening .titleblock{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:540px;padding-top:80px;padding-bottom:32px;background:linear-gradient(to top,#fff 0%,#E9EEE8 100%);overflow:hidden}
.opening .titleblock .atmosphere{position:absolute;top:-60px;left:-80px;width:340px;height:340px;background:#c56e4a17;border-radius:50%;filter:blur(60px);pointer-events:none}
.opening .titleblock .atmosphere.second{top:40px;left:200px;width:220px;height:220px;background:#35509612;filter:blur(48px)}
.opening .titleblock .imageside{position:relative;display:flex;align-items:flex-end;padding:32px 16px 32px 0}
.opening .titleblock .imageside img{width:100%;height:420px;object-fit:cover;opacity:.72;border:1px solid #c56e4a2e;border-radius:8px;display:block}
.opening .titleblock .textside{display:flex;flex-direction:column;justify-content:flex-end;padding:80px 0 32px 32px}
.opening .titleblock .eyebrow{font-size:14px;line-height:1.6;letter-spacing:.12em;text-transform:uppercase;font-variant:small-caps;color:#C56E4A;margin-bottom:16px}
.opening .titleblock .mainheading{font-size:55px;line-height:1.2;color:#1b2340;margin:0 0 16px}
.opening .titleblock .mainheading .dotaccent{display:inline-block;width:8px;height:8px;background:#C56E4A;border-radius:50%;margin-left:6px;vertical-align:middle;position:relative;top:-4px}
.opening .titleblock .subdesc{font-size:22px;line-height:1.6;color:#2d3a5c;margin:0;max-width:420px;border-top:2px solid #355096;padding-top:16px}
.opening .readarrow{display:flex;justify-content:center;padding:8px 0;background:#fff}
.opening .readarrow svg{opacity:.32;color:#355096}
.opening .divider-curve{display:block;width:100%;line-height:0;overflow:hidden}
.opening .commitment{background:#fff;padding:64px 0 48px;position:relative}
.opening .commitment .pagewrap{display:grid;grid-template-columns:1fr 2fr;gap:32px;align-items:start}
.opening .commitment .labelcol{padding-top:8px}
.opening .commitment .seclabel{font-size:14px;line-height:1.6;letter-spacing:.1em;text-transform:uppercase;font-variant:small-caps;color:#355096;display:block;margin-bottom:8px}
.opening .commitment .secnum{font-size:70px;line-height:1.2;color:#E9EEE8;font-weight:700;display:block}
.opening .commitment .bodycol h2{font-size:22px;line-height:1.6;color:#1b2340;margin:0 0 16px}
.opening .commitment .bodycol h2 .dotaccent{display:inline-block;width:6px;height:6px;background:#C56E4A;border-radius:50%;margin-left:4px;vertical-align:middle;position:relative;top:-3px}
.opening .commitment .bodytext{font-size:14px;line-height:1.9;color:#2d3a5c;margin:0 0 16px}
.opening .commitment .stripelist{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-direction:column;gap:8px}
.opening .commitment .stripelist li{font-size:14px;line-height:1.6;color:#1b2340;padding:8px 16px;background:#E9EEE8;border-radius:0;display:flex;align-items:center;gap:8px;position:relative;overflow:hidden;transition:background .22s cubic-bezier(0.4,0,0.2,1)}
.opening .commitment .stripelist li::before{content:'';position:absolute;left:0;bottom:0;width:0;height:100%;background:#35509614;transition:width .26s cubic-bezier(0.0,0,0.2,1);z-index:0}
.opening .commitment .stripelist li:hover::before{width:100%}
.opening .commitment .stripelist li span{position:relative;z-index:1}
.opening .commitment .stripelist li i{color:#C56E4A;font-size:14px;position:relative;z-index:1}
.opening .outcomes{background:linear-gradient(to top,#fff 0%,#3550960d 100%);padding:56px 0 64px}
.opening .outcomes .pagewrap{display:grid;grid-template-columns:2fr 1fr;gap:32px;align-items:center}
.opening .outcomes .imagecol{position:relative}
.opening .outcomes .imagecol img{width:100%;height:360px;object-fit:cover;border-radius:8px;border:1px solid #35509624;display:block}
.opening .outcomes .imagecol .overlay{position:absolute;bottom:16px;left:16px;background:#1b2340d1;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:8px;padding:16px;max-width:240px}
.opening .outcomes .imagecol .overlay p{font-size:14px;line-height:1.6;color:#E9EEE8;margin:0}
.opening .outcomes .textcol h2{font-size:22px;line-height:1.6;color:#1b2340;margin:0 0 16px}
.opening .outcomes .textcol h2 .dotaccent{display:inline-block;width:6px;height:6px;background:#C56E4A;border-radius:50%;margin-left:4px;vertical-align:middle;position:relative;top:-3px}
.opening .outcomes .seclabel{font-size:14px;line-height:1.6;letter-spacing:.1em;text-transform:uppercase;font-variant:small-caps;color:#C56E4A;display:block;margin-bottom:8px}
.opening .outcomes .textcol .bodytext{font-size:14px;line-height:1.9;color:#2d3a5c;margin:0 0 16px}
.opening .outcomes .resultstack{display:flex;flex-direction:column;gap:8px;margin-top:16px}
.opening .outcomes .resultitem{display:flex;flex-direction:column;gap:4px;padding:8px 16px;border-radius:8px;background:#fff;box-shadow:1px 3px 2px 0 #c56e4a12}
.opening .outcomes .resultitem .rtitle{font-size:14px;line-height:1.6;color:#1b2340;font-weight:600}
.opening .outcomes .resultitem .rdesc{font-size:14px;line-height:1.6;color:#2d3a5c}
.opening .audience{background:#1b2340;padding:64px 0;position:relative;overflow:hidden}
.opening .audience::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#C56E4A,#355096)}
.opening .audience .pagewrap{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.opening .audience .audhead{grid-column:1 / -1;margin-bottom:16px}
.opening .audience .audhead .seclabel{font-size:14px;line-height:1.6;letter-spacing:.1em;text-transform:uppercase;font-variant:small-caps;color:#C56E4A;display:block;margin-bottom:8px}
.opening .audience .audhead h2{font-size:22px;line-height:1.6;color:#E9EEE8;margin:0}
.opening .audience .audhead h2 .dotaccent{display:inline-block;width:6px;height:6px;background:#C56E4A;border-radius:50%;margin-left:4px;vertical-align:middle;position:relative;top:-3px}
.opening .audience .personcard{background:#ffffff0d;border-radius:8px;padding:16px;border:1px solid #e9eee81a;transition:background .24s cubic-bezier(0.4,0,0.2,1),border-color .24s cubic-bezier(0.4,0,0.2,1);position:relative;overflow:hidden}
.opening .audience .personcard::after{content:'';position:absolute;left:0;bottom:0;width:0;height:2px;background:#C56E4A;transition:width .26s cubic-bezier(0.0,0,0.2,1)}
.opening .audience .personcard:hover::after{width:100%}
.opening .audience .personcard:hover{background:#ffffff17;border-color:#c56e4a4d}
.opening .audience .personcard .pname{font-size:14px;line-height:1.6;color:#C56E4A;font-weight:600;margin-bottom:8px;display:block}
.opening .audience .personcard .psituation{font-size:14px;line-height:1.9;color:#b8c4d8;margin:0}
.opening .readiness{background:#fff;padding:64px 0}
.opening .readiness .pagewrap{display:grid;grid-template-columns:1fr 2fr;gap:32px;align-items:start}
.opening .readiness .imageside img{width:100%;height:320px;object-fit:cover;border-radius:8px;border:1px solid #c56e4a26;display:block}
.opening .readiness .textside .seclabel{font-size:14px;line-height:1.6;letter-spacing:.1em;text-transform:uppercase;font-variant:small-caps;color:#355096;display:block;margin-bottom:8px}
.opening .readiness .textside h2{font-size:22px;line-height:1.6;color:#1b2340;margin:0 0 16px}
.opening .readiness .textside h2 .dotaccent{display:inline-block;width:6px;height:6px;background:#C56E4A;border-radius:50%;margin-left:4px;vertical-align:middle;position:relative;top:-3px}
.opening .readiness .textside .bodytext{font-size:14px;line-height:1.9;color:#2d3a5c;margin:0 0 16px}
.opening .readiness .checklist{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-direction:column;gap:8px}
.opening .readiness .checklist li{display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height:1.9;color:#2d3a5c}
.opening .readiness .checklist li i{color:#355096;font-size:14px;margin-top:4px;flex-shrink:0}
.opening .situations{background:linear-gradient(to top,#fff 0%,#E9EEE8 100%);padding:64px 0}
.opening .situations .pagewrap{max-width:1200px;margin:0 auto;padding:0 32px}
.opening .situations .sithead{display:grid;grid-template-columns:1fr 2fr;gap:32px;margin-bottom:32px;align-items:end}
.opening .situations .sithead .seclabel{font-size:14px;line-height:1.6;letter-spacing:.1em;text-transform:uppercase;font-variant:small-caps;color:#C56E4A;display:block;margin-bottom:8px}
.opening .situations .sithead h2{font-size:22px;line-height:1.6;color:#1b2340;margin:0}
.opening .situations .sithead h2 .dotaccent{display:inline-block;width:6px;height:6px;background:#C56E4A;border-radius:50%;margin-left:4px;vertical-align:middle;position:relative;top:-3px}
.opening .situations .sithead .sitdesc{font-size:14px;line-height:1.9;color:#2d3a5c;margin:0}
.opening .situations .sitatlas{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.opening .situations .sititem{background:#fff;border-radius:8px;padding:16px;box-shadow:1px 7px 25px 0 #3550961a;position:relative;overflow:hidden;transition:box-shadow .22s cubic-bezier(0.4,0,0.2,1)}
.opening .situations .sititem:hover{box-shadow:1px 8px 48px 0 #35509624}
.opening .situations .sititem .siticon{width:32px;height:32px;border-radius:8px;background:#c56e4a1a;display:flex;align-items:center;justify-content:center;margin-bottom:8px}
.opening .situations .sititem .siticon i{color:#C56E4A;font-size:14px}
.opening .situations .sititem h4{font-size:14px;line-height:1.6;color:#1b2340;margin:0 0 8px;font-weight:600}
.opening .situations .sititem p{font-size:14px;line-height:1.9;color:#2d3a5c;margin:0}
.opening .situations .sititem .fillbar{position:absolute;bottom:0;left:0;height:2px;width:0;background:#C56E4A;transition:width .28s cubic-bezier(0.0,0,0.2,1)}
.opening .situations .sititem:hover .fillbar{width:100%}
.opening .difference{background:#fff;padding:64px 0 80px}
.opening .difference .pagewrap{display:grid;grid-template-columns:2fr 1fr;gap:32px;align-items:center}
.opening .difference .textpart .seclabel{font-size:14px;line-height:1.6;letter-spacing:.1em;text-transform:uppercase;font-variant:small-caps;color:#355096;display:block;margin-bottom:8px}
.opening .difference .textpart h2{font-size:22px;line-height:1.6;color:#1b2340;margin:0 0 16px}
.opening .difference .textpart h2 .dotaccent{display:inline-block;width:6px;height:6px;background:#C56E4A;border-radius:50%;margin-left:4px;vertical-align:middle;position:relative;top:-3px}
.opening .difference .textpart .bodytext{font-size:14px;line-height:1.9;color:#2d3a5c;margin:0 0 16px}
.opening .difference .diffpoints{display:flex;flex-direction:column;gap:16px;margin-top:16px}
.opening .difference .diffpoint{display:grid;grid-template-columns:40px 1fr;gap:16px;align-items:start}
.opening .difference .diffpoint .pointnum{width:40px;height:40px;border-radius:8px;background:#355096;color:#fff;font-size:22px;line-height:1.2;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}
.opening .difference .diffpoint .pointtext h4{font-size:14px;line-height:1.6;color:#1b2340;margin:0 0 4px;font-weight:600}
.opening .difference .diffpoint .pointtext p{font-size:14px;line-height:1.9;color:#2d3a5c;margin:0}
.opening .difference .imageside img{width:100%;height:380px;object-fit:cover;border-radius:8px;border:1px solid #35509621;display:block}
.opening .btn-primary{display:inline-block;padding:16px 32px;font-size:14px;line-height:1.6;letter-spacing:.08em;text-transform:uppercase;font-variant:small-caps;color:#fff;background:#C56E4A;border:none;border-radius:28px;cursor:pointer;text-decoration:none;position:relative;overflow:hidden;transition:color .22s cubic-bezier(0.4,0,0.2,1);margin-top:16px}
.opening .btn-primary::after{content:'';position:absolute;left:0;bottom:0;width:100%;height:0;background:#355096;transition:height .24s cubic-bezier(0.0,0,0.2,1);z-index:0}
.opening .btn-primary:hover::after{height:100%}
.opening .btn-primary span{position:relative;z-index:1}
.opening .btn-primary:focus{outline:2px solid #355096;outline-offset:2px}
@media (max-width: 1366px) {
.opening .titleblock .mainheading{font-size:55px}
}
@media (max-width: 768px) {
.opening .titleblock{grid-template-columns:1fr;padding-top:32px}
.opening .titleblock .imageside{display:none}
.opening .titleblock .textside{padding:32px 0}
.opening .titleblock .mainheading{font-size:55px}
.opening .commitment .pagewrap,.opening .readiness .pagewrap{grid-template-columns:1fr}
.opening .commitment .secnum{display:none}
.opening .outcomes .pagewrap{grid-template-columns:1fr}
.opening .audience .pagewrap{grid-template-columns:1fr}
.opening .situations .sithead{grid-template-columns:1fr}
.opening .situations .sitatlas{grid-template-columns:1fr 1fr}
.opening .difference .pagewrap{grid-template-columns:1fr}
.opening .difference .imageside{display:none}
}
@media (max-width: 375px) {
.opening .pagewrap{padding:0 16px}
.opening .titleblock .mainheading{font-size:22px}
.opening .situations .sitatlas{grid-template-columns:1fr}
}
.contactus{max-width:100%;overflow-x:hidden}
.contactus .rotating-shape{position:fixed;top:10%;right:-120px;width:340px;height:340px;border:2px solid #35509612;border-radius:28px;animation:shapeRotate 28s linear infinite;pointer-events:none;z-index:0}
.contactus .rotating-shape-two{position:fixed;bottom:15%;left:-80px;width:220px;height:220px;border:1px solid #c56e4a14;border-radius:8px;animation:shapeRotate 40s linear infinite reverse;pointer-events:none;z-index:0}
@keyframes shapeRotate {
from{transform:rotate(0deg)}
to{transform:rotate(360deg)}
}
.contactus .page-container{max-width:1200px;margin:0 auto;padding:0 32px;position:relative;z-index:1}
.contactus .divider-gradient{height:2px;background:linear-gradient(to right,#355096,#C56E4A);border:none;margin:0}
.contactus .fade-in{opacity:0;animation:fadeReveal .26s cubic-bezier(0.4,0,0.2,1) forwards}
.contactus .fade-in-delay-one{animation-delay:.08s}
.contactus .fade-in-delay-two{animation-delay:.16s}
.contactus .fade-in-delay-three{animation-delay:.22s}
@keyframes fadeReveal {
from{opacity:0;transform:translateY(8px)}
to{opacity:1;transform:translateY(0)}
}
.contactus .reach-block{background:#fff;padding:64px 0 48px;position:relative}
.contactus .reach-block::before{content:"";position:absolute;inset:0;background:#fff;z-index:-1}
.contactus .reach-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px;align-items:start}
.contactus .reach-primary{border-left:4px solid #C56E4A;padding-left:32px}
.contactus .reach-label{font-size:14px;line-height:1.6;text-transform:uppercase;letter-spacing:.12em;color:#C56E4A;font-variant:small-caps;margin-bottom:16px;display:block}
.contactus .reach-heading{font-size:55px;line-height:1.2;color:#1b2340;margin:0 0 16px;font-weight:700}
.contactus .reach-heading .dot{display:inline-block;width:8px;height:8px;background:#C56E4A;border-radius:0;margin-left:4px;vertical-align:middle;position:relative;top:-6px}
.contactus .reach-subtext{font-size:14px;line-height:1.9;color:#2c3a5e;margin:0;max-width:380px}
.contactus .reach-card{background:#E9EEE8;border-radius:8px;padding:32px 16px;display:flex;flex-direction:column;gap:8px;box-shadow:1px 3px 2px 0 #35509612;transition:box-shadow .22s cubic-bezier(0.4,0,0.2,1),transform .22s cubic-bezier(0.4,0,0.2,1)}
.contactus .reach-card:hover{box-shadow:1px 7px 25px 0 #3550961a;transform:translateY(-4px)}
.contactus .reach-card-icon{width:36px;height:36px;background:#355096;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}
.contactus .reach-card-icon i{color:#fff;font-size:18px}
.contactus .reach-card-label{font-size:14px;line-height:1.6;text-transform:uppercase;letter-spacing:.1em;color:#355096;font-variant:small-caps}
.contactus .reach-card-value{font-size:14px;line-height:1.6;color:#1b2340;font-weight:600;word-break:break-all}
.contactus .reach-card-value a{color:#1b2340;text-decoration:none;transition:opacity .24s cubic-bezier(0.0,0,0.2,1)}
.contactus .reach-card-value a:hover{opacity:.65}
.contactus .reach-card-note{font-size:14px;line-height:1.6;color:#4a5470}
.contactus .form-block{background:#E9EEE8;padding:56px 0 64px;position:relative}
.contactus .form-block::before{content:"";position:absolute;inset:0;left:calc(-50vw + 50%);right:calc(-50vw + 50%);background:#E9EEE8;z-index:0}
.contactus .form-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
.contactus .form-context{padding-top:16px}
.contactus .form-context-label{font-size:14px;line-height:1.6;text-transform:uppercase;letter-spacing:.12em;color:#355096;font-variant:small-caps;display:block;margin-bottom:16px}
.contactus .form-context-heading{font-size:22px;line-height:1.6;color:#1b2340;font-weight:700;margin:0 0 16px}
.contactus .form-context-heading .dot{display:inline-block;width:6px;height:6px;background:#355096;border-radius:0;margin-left:4px;vertical-align:middle;position:relative;top:-4px}
.contactus .form-context-body{font-size:14px;line-height:1.9;color:#2c3a5e;margin:0 0 32px}
.contactus .image-frame{border-radius:8px;overflow:hidden;box-shadow:1px 8px 48px 0 #c56e4a24;border:1px solid #3550961f;position:relative}
.contactus .image-frame img{width:100%;height:220px;object-fit:cover;display:block;filter:grayscale(1)}
.contactus .form-panel{background:#fff;border-radius:8px;padding:32px;box-shadow:1px 7px 25px 0 #3550961a}
.contactus .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.contactus .form-field{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}
.contactus .form-field label{font-size:14px;line-height:1.6;color:#1b2340;font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.contactus .form-field input,.contactus .form-field select{font-size:14px;line-height:1.6;color:#1b2340;background:#fff;border:1px solid #35509638;border-radius:8px;padding:8px 16px;outline:none;transition:border-color .22s cubic-bezier(0.4,0,0.2,1),box-shadow .22s cubic-bezier(0.4,0,0.2,1);box-shadow:inset 0 1px 3px #c56e4a0f;width:100%;box-sizing:border-box;appearance:none;-webkit-appearance:none}
.contactus .form-field input::placeholder{text-transform:uppercase;font-size:14px;color:#8a95b0;letter-spacing:.06em}
.contactus .form-field input:focus,.contactus .form-field select:focus{border-color:#355096;box-shadow:inset 0 1px 3px #3550961a 0 0 0 2px #3550961a}
.contactus .select-wrapper{position:relative}
.contactus .select-wrapper::after{content:"";position:absolute;right:16px;top:50%;transform:translateY(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid #355096;pointer-events:none}
.contactus .select-wrapper select{padding-right:40px;cursor:pointer;color:#1b2340}
.contactus .select-wrapper select option[value=""]{color:#8a95b0}
.contactus .privacy-row{display:flex;flex-direction:row;align-items:flex-start;gap:8px;margin-bottom:16px}
.contactus .privacy-row input[type="checkbox"]{width:18px;height:18px;min-width:18px;border:1px solid #3550964d!important;border-radius:0;cursor:pointer;accent-color:#355096;margin-top:2px}
.contactus .privacy-row label{font-size:14px;line-height:1.6;color:#4a5470;cursor:pointer}
.contactus .privacy-row label a{color:#355096;text-decoration:underline;transition:opacity .24s cubic-bezier(0.0,0,0.2,1)}
.contactus .privacy-row label a:hover{opacity:.65}
.contactus .submit-button{position:relative;overflow:hidden;background:#C56E4A;color:#fff;border:none;border-radius:28px;padding:16px 32px;font-size:14px;line-height:1.6;font-weight:700;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;width:100%;transition:color .22s cubic-bezier(0.4,0,0.2,1);z-index:0}
.contactus .submit-button::before{content:"";position:absolute;left:0;right:0;bottom:0;height:0;background:#355096;transition:height .26s cubic-bezier(0.4,0,0.2,1);z-index:-1}
.contactus .submit-button:hover::before{height:100%}
.contactus .submit-button:focus{outline:2px solid #355096;outline-offset:2px}
.contactus .submit-button:active{transform:scale(0.98)}
@media (max-width: 1366px) {
.contactus .reach-heading{font-size:55px}
}
@media (max-width: 768px) {
.contactus .page-container{padding:0 16px}
.contactus .reach-grid{grid-template-columns:1fr 1fr;gap:16px}
.contactus .reach-primary{grid-column:1 / -1;padding-left:16px}
.contactus .reach-heading{font-size:22px}
.contactus .form-inner{grid-template-columns:1fr;gap:16px}
.contactus .form-row{grid-template-columns:1fr;gap:0}
.contactus .reach-block{padding:32px 0}
.contactus .form-block{padding:32px 0}
.contactus .form-panel{padding:16px}
}
@media (max-width: 375px) {
.contactus .reach-grid{grid-template-columns:1fr}
.contactus .reach-heading{font-size:22px}
.contactus .form-panel{padding:16px}
}
.aboutus{max-width:100%;overflow-x:hidden}
.aboutus .pagewrap{max-width:1200px;margin:0 auto;padding:0 32px}
.aboutus .vignetteframe{position:relative}
.aboutus .vignetteframe::before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse 120% 120% at 50% 50%,transparent 55%,#35509614 100%);animation:vigbreathe 5s cubic-bezier(0.4,0,0.2,1) infinite alternate;z-index:0}
@keyframes vigbreathe {
from{opacity:.5}
to{opacity:1}
}
.aboutus ::selection{background:#355096;color:#fff}
.aboutus .titleblock{padding:64px 0;position:relative}
.aboutus .titleblock .pagewrap{display:flex;flex-direction:row;align-items:stretch;gap:32px}
.aboutus .imagecol{flex:0 0 38%;position:relative;overflow:hidden;border-radius:8px;border:1px solid #3550962e;box-shadow:1px 7px 25px 0 #c56e4a1a}
.aboutus .imagecol img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .26s cubic-bezier(0.4,0,0.2,1)}
.aboutus .imagecol:hover img{transform:scale(1.04)}
.aboutus .imagecol::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,#1e1e3c73 0%,transparent 48%);pointer-events:none;border-radius:8px}
.aboutus .imagecol .dashedpath{position:absolute;top:0;right:-24px;width:32px;height:80%;border-right:2px dashed #c56e4a61;border-top:2px dashed #c56e4a61;border-radius:0 8px 0 0;pointer-events:none}
.aboutus .textcol{flex:1 1 0;display:flex;flex-direction:column;justify-content:center;padding:32px 0 32px 16px}
.aboutus .textcol .label{font-size:14px;line-height:1.2;text-transform:uppercase;letter-spacing:.12em;color:#C56E4A;font-variant:small-caps;margin-bottom:16px}
.aboutus .textcol h1{font-size:55px;line-height:1.2;color:#1b2340;margin:0 0 16px}
.aboutus .textcol h1 .dot{display:inline-block;width:8px;height:8px;background:#C56E4A;border-radius:0;margin-left:8px;vertical-align:middle;margin-bottom:6px}
.aboutus .textcol .desc{font-size:22px;line-height:1.6;color:#2b3660;max-width:520px;margin:0 0 32px}
.aboutus .textcol .actionlink{display:inline-block;font-size:14px;line-height:1.2;text-transform:uppercase;letter-spacing:.1em;color:#fff;background:#C56E4A;padding:16px 32px;border-radius:28px;text-decoration:none;position:relative;overflow:hidden;transition:color .22s cubic-bezier(0.4,0,0.2,1);align-self:flex-start;box-shadow:1px 3px 2px 0 #c56e4a12}
.aboutus .textcol .actionlink::before{content:"";position:absolute;left:0;bottom:-100%;width:100%;height:100%;background:#355096;border-radius:28px;transition:bottom .24s cubic-bezier(0.0,0,0.2,1);z-index:0}
.aboutus .textcol .actionlink:hover::before{bottom:0}
.aboutus .textcol .actionlink span{position:relative;z-index:1}
.aboutus .textcol .actionlink:focus{outline:2px solid #355096;outline-offset:4px}
.aboutus .arrowdeco{position:absolute;bottom:32px;left:42%;width:48px;height:32px;pointer-events:none}
.aboutus .arrowdeco svg{width:100%;height:100%}
.aboutus .storyblock{background:#E9EEE8;padding:64px 0;position:relative}
.aboutus .storyblock .pagewrap{display:grid;grid-template-columns:1fr 2fr;gap:32px;align-items:start}
.aboutus .storyblock .storyintro{padding-top:8px}
.aboutus .storyblock .storyintro h2{font-size:22px;line-height:1.2;color:#1b2340;margin:0 0 16px;text-transform:uppercase;letter-spacing:.08em;font-variant:small-caps}
.aboutus .storyblock .storyintro h2 .dot{display:inline-block;width:6px;height:6px;background:#355096;border-radius:0;margin-left:8px;vertical-align:middle;margin-bottom:3px}
.aboutus .storyblock .storyintro .yearmark{font-size:70px;line-height:1.2;color:#35509617;font-weight:700;margin:0;user-select:none}
.aboutus .storyblock .storymain{display:flex;flex-direction:column;gap:16px}
.aboutus .storyblock .storymain p{font-size:14px;line-height:1.9;color:#2b3660;margin:0}
.aboutus .storyblock .storymain .imagepair{display:flex;flex-direction:row;gap:16px;margin-top:8px}
.aboutus .storyblock .imagepair figure{flex:1 1 0;margin:0;overflow:hidden;border-radius:8px;border:1px solid #35509624;box-shadow:1px 3px 2px 0 #35509612;position:relative}
.aboutus .storyblock .imagepair figure img{width:100%;height:180px;object-fit:cover;display:block;transition:transform .28s cubic-bezier(0.4,0,0.2,1)}
.aboutus .storyblock .imagepair figure:hover img{transform:scale(1.05)}
.aboutus .storyblock .imagepair figure figcaption{font-size:14px;line-height:1.6;color:#355096;padding:8px;text-transform:uppercase;letter-spacing:.07em;font-variant:small-caps}
.aboutus .storyblock .dashedaccent{position:absolute;top:32px;right:32px;width:120px;height:120px;border:2px dashed #c56e4a38;border-radius:8px;pointer-events:none}
.aboutus .teamblock{padding:64px 0;background:#fff;position:relative}
.aboutus .teamblock::before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,transparent,transparent 39px,#3550960a 39px,#3550960a 40px);pointer-events:none;z-index:0}
.aboutus .teamblock .pagewrap{position:relative;z-index:1}
.aboutus .teamblock .teamheader{display:flex;flex-direction:row;align-items:flex-end;justify-content:space-between;margin-bottom:32px;gap:32px}
.aboutus .teamblock .teamheader h2{font-size:55px;line-height:1.2;color:#1b2340;margin:0}
.aboutus .teamblock .teamheader h2 .dot{display:inline-block;width:8px;height:8px;background:#C56E4A;border-radius:0;margin-left:8px;vertical-align:middle;margin-bottom:5px}
.aboutus .teamblock .teamheader .tagline{font-size:14px;line-height:1.9;color:#355096;max-width:320px;text-align:right}
.aboutus .teamgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.aboutus .teamgrid .card{border-radius:8px;border:1px solid #E9EEE8;background:#fff;box-shadow:1px 7px 25px 0 #3550961a;overflow:hidden;transition:border-color .22s cubic-bezier(0.4,0,0.2,1),box-shadow .26s cubic-bezier(0.4,0,0.2,1);display:flex;flex-direction:column}
.aboutus .teamgrid .card:hover{border-color:#C56E4A;box-shadow:1px 8px 48px 0 #c56e4a24}
.aboutus .teamgrid .card .cardphoto{width:100%;height:200px;overflow:hidden;border-bottom:1px solid #E9EEE8;position:relative}
.aboutus .teamgrid .card .cardphoto img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .26s cubic-bezier(0.4,0,0.2,1)}
.aboutus .teamgrid .card:hover .cardphoto img{transform:scale(1.05)}
.aboutus .teamgrid .card .cardbody{padding:16px;flex:1 1 auto;display:flex;flex-direction:column;gap:8px}
.aboutus .teamgrid .card .cardname{font-size:22px;line-height:1.2;color:#1b2340;margin:0}
.aboutus .teamgrid .card .cardrole{font-size:14px;line-height:1.6;color:#C56E4A;text-transform:uppercase;letter-spacing:.09em;font-variant:small-caps;margin:0}
.aboutus .teamgrid .card .cardbio{font-size:14px;line-height:1.9;color:#2b3660;margin:0}
.aboutus .teamgrid .card .cardlink{font-size:14px;line-height:1.6;color:#355096;text-decoration:none;display:inline-flex;align-items:center;gap:4px;margin-top:auto;transition:opacity .22s cubic-bezier(0.4,0,0.2,1)}
.aboutus .teamgrid .card .cardlink:hover{opacity:.65}
.aboutus .teamgrid .card .cardlink:focus{outline:2px solid #C56E4A;outline-offset:2px}
.aboutus .metrics{display:flex;flex-direction:row;gap:0;margin-top:32px;border-top:1px solid #E9EEE8;padding-top:32px}
.aboutus .metrics .metricitem{flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 8px;border-right:1px solid #E9EEE8;position:relative}
.aboutus .metrics .metricitem:last-child{border-right:none}
.aboutus .metrics .metricitem .metricval{font-size:55px;line-height:1.2;color:#355096;font-weight:700}
.aboutus .metrics .metricitem .metriclabel{font-size:14px;line-height:1.6;color:#2b3660;text-transform:uppercase;letter-spacing:.09em;font-variant:small-caps;text-align:center}
@media (max-width: 1366px) {
.aboutus .teamgrid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width: 768px) {
.aboutus .titleblock .pagewrap{flex-direction:column;gap:16px}
.aboutus .imagecol{flex:0 0 auto;height:260px}
.aboutus .textcol{padding:16px 0 0}
.aboutus .textcol h1{font-size:55px}
.aboutus .textcol .desc{font-size:14px}
.aboutus .storyblock .pagewrap{grid-template-columns:1fr}
.aboutus .storyblock .yearmark{font-size:55px}
.aboutus .storyblock .imagepair{flex-direction:column}
.aboutus .teamgrid{grid-template-columns:1fr}
.aboutus .teamblock .teamheader{flex-direction:column;align-items:flex-start}
.aboutus .teamblock .teamheader .tagline{text-align:left}
.aboutus .metrics{flex-direction:column}
.aboutus .metrics .metricitem{border-right:none;border-bottom:1px solid #E9EEE8}
.aboutus .metrics .metricitem:last-child{border-bottom:none}
}
@media (max-width: 375px) {
.aboutus .pagewrap{padding:0 16px}
.aboutus .textcol h1{font-size:22px}
.aboutus .teamblock .teamheader h2{font-size:22px}
.aboutus .metrics .metricval{font-size:22px}
}
.masterclass{max-width:1200px;margin:0 auto;overflow:hidden}
.masterclass .eyebrow{font-size:14px;line-height:1.2;text-transform:uppercase;letter-spacing:.12em;color:#C56E4A;font-variant:small-caps;display:block;margin-bottom:8px}
.masterclass .dot{display:inline-block;width:6px;height:6px;border-radius:28px;background:#C56E4A;margin-left:6px;vertical-align:middle;position:relative;top:-2px}
.masterclass .accent-line{width:40px;height:2px;background:#C56E4A;margin:8px 0 16px}
.masterclass a{color:#355096;text-decoration:underline;transition:opacity .22s cubic-bezier(0.4,0,0.2,1)}
.masterclass a:hover{opacity:.65}
@keyframes textsweep {
0%{background-position:-200% center}
60%{background-position:200% center}
100%{background-position:200% center}
}
.masterclass .sweep{font-size:55px;line-height:1.2;font-weight:700;background:linear-gradient(90deg,#222 30%,#C56E4A 50%,#355096 65%,#222 80%);background-size:250% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:textsweep 2.4s cubic-bezier(0.0,0,0.2,1) .3s both}
.masterclass .titleblock{padding:32px;display:flex;flex-direction:row;align-items:flex-start;gap:32px;position:relative;background:#E9EEE8}
.masterclass .titleblock .atmosphere{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:0}
.masterclass .titleblock .atmosphere span{position:absolute;border-radius:28px}
.masterclass .titleblock .atmosphere span:nth-child(1){width:220px;height:220px;background:#c56e4a21;filter:blur(48px);top:-40px;left:-60px}
.masterclass .titleblock .atmosphere span:nth-child(2){width:160px;height:160px;background:#3550961a;filter:blur(36px);bottom:-30px;right:80px}
.masterclass .titleblock .textside{flex:1 1 0;min-width:0;position:relative;z-index:1}
.masterclass .titleblock .cardside{flex:0 0 260px;position:relative;z-index:1}
.masterclass .titleblock .cardside figure{margin:0;border-radius:8px;overflow:hidden;border:1px solid #3550962e;box-shadow:1px 7px 25px 0 #c56e4a1a}
.masterclass .titleblock .cardside figure img{width:260px;height:200px;object-fit:cover;display:block;filter:grayscale(100%)}
.masterclass .materials{padding:32px;background:#fff;position:relative}
.masterclass .materials .curl{position:absolute;top:16px;right:16px;width:48px;height:48px;opacity:.08;pointer-events:none}
.masterclass .materials .twocol{display:flex;flex-direction:row;gap:32px;align-items:flex-start}
.masterclass .materials .narrow{flex:0 0 200px}
.masterclass .materials .wide{flex:1 1 0;min-width:0}
.masterclass .materials .narrow p,.masterclass .materials .wide p{font-size:14px;line-height:1.6;color:#333;margin:0 0 16px}
.masterclass .materials .narrow h4{font-size:22px;line-height:1.2;color:#222;margin:0 0 8px}
.masterclass .materials .indicators{display:flex;flex-direction:row;gap:16px;margin-bottom:16px;flex-wrap:wrap}
.masterclass .materials .indicator{display:flex;flex-direction:column;align-items:center;gap:8px}
.masterclass .materials .ring{width:64px;height:64px;border-radius:28px;border:3px solid #C56E4A;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#C56E4A;background:#fff;box-shadow:1px 3px 2px 0 #c56e4a12;transition:background .25s cubic-bezier(0.4,0,0.2,1),color .25s cubic-bezier(0.4,0,0.2,1)}
.masterclass .materials .ring:hover{background:#C56E4A;color:#fff}
.masterclass .materials .indicator span{font-size:14px;line-height:1.2;color:#555;text-align:center;text-transform:uppercase;letter-spacing:.08em}
.masterclass .materials .featurelist{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-direction:column;gap:8px}
.masterclass .materials .featurelist li{font-size:14px;line-height:1.6;color:#333;display:flex;flex-direction:row;align-items:flex-start;gap:8px}
.masterclass .materials .featurelist li .icon{flex:0 0 18px;margin-top:2px}
.masterclass .materials .preview{border-radius:8px;background:#E9EEE8;padding:16px;box-shadow:inset 1px 3px 2px 0 #35509612;border:1px solid #3550961f}
.masterclass .materials .preview h5{font-size:14px;line-height:1.2;color:#355096;text-transform:uppercase;letter-spacing:.1em;margin:0 0 8px}
.masterclass .materials .preview p{font-size:14px;line-height:1.6;color:#444;margin:0}
.masterclass .announcements{padding:32px;background:linear-gradient(180deg,#355096 0%,transparent 100%),#E9EEE8;position:relative}
.masterclass .announcements .spiral{position:absolute;bottom:16px;left:16px;opacity:.07;pointer-events:none;width:56px;height:56px}
.masterclass .announcements h2{font-size:55px;line-height:1.2;color:#fff;margin:0 0 8px}
.masterclass .announcements .subtext{font-size:14px;line-height:1.6;color:#e9eee8e0;margin:0 0 32px;max-width:480px}
.masterclass .announcements .cards{display:flex;flex-direction:row;gap:16px;flex-wrap:wrap}
.masterclass .announcements .card{flex:1 1 260px;background:#fff;border-radius:8px;padding:16px;box-shadow:1px 8px 48px 0 #35509624;display:flex;flex-direction:column;gap:8px;position:relative;overflow:hidden}
.masterclass .announcements .card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#C56E4A,#355096)}
.masterclass .announcements .card h5{font-size:14px;line-height:1.2;color:#355096;text-transform:uppercase;letter-spacing:.09em;margin:0}
.masterclass .announcements .card p{font-size:14px;line-height:1.6;color:#333;margin:0}
.masterclass .announcements .card .tag{font-size:14px;color:#C56E4A;font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.masterclass .button-primary{display:inline-block;padding:16px 32px;background:#C56E4A;color:#fff;font-size:14px;text-transform:uppercase;letter-spacing:.1em;border-radius:8px;text-decoration:none;border:none;cursor:pointer;position:relative;overflow:hidden;transition:color .24s cubic-bezier(0.4,0,0.2,1);box-shadow:1px 7px 25px 0 #c56e4a1a}
.masterclass .button-primary::after{content:'';position:absolute;left:0;right:0;bottom:-100%;height:100%;background:#355096;transition:bottom .22s cubic-bezier(0.0,0,0.2,1);z-index:0;border-radius:8px}
.masterclass .button-primary:hover::after{bottom:0}
.masterclass .button-primary span{position:relative;z-index:1}
@media (max-width: 768px) {
.masterclass .titleblock{flex-direction:column;padding:16px;gap:16px}
.masterclass .titleblock .cardside{flex:0 0 auto;width:100%}
.masterclass .titleblock .cardside figure img{width:100%;height:160px}
.masterclass .sweep{font-size:22px}
.masterclass .materials{padding:16px}
.masterclass .materials .twocol{flex-direction:column;gap:16px}
.masterclass .materials .narrow{flex:0 0 auto}
.masterclass .announcements{padding:16px}
.masterclass .announcements h2{font-size:22px}
.masterclass .announcements .cards{flex-direction:column}
}
@media (max-width: 375px) {
.masterclass .sweep{font-size:22px}
.masterclass .materials .indicators{gap:8px}
.masterclass .materials .ring{width:52px;height:52px}
}
.successPage{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;background:#E9EEE8}
.successPage .card{background:#fff;border-radius:8px;padding:32px;max-width:560px;width:100%;box-shadow:1px 7px 25px 0 #3550961a;border-top:3px solid #C56E4A;text-align:center}
.successPage .card .icon{width:56px;height:56px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center}
.successPage .card .icon svg{width:56px;height:56px}
.successPage .card .heading{font-size:22px;line-height:1.2;color:#1b2a4a;margin:0 0 16px;font-weight:700}
.successPage .card .message{font-size:14px;line-height:1.6;color:#2e3a52;margin:0 0 32px}
.successPage .card .divider{height:1px;background:#E9EEE8;margin:0 0 32px}
.successPage .card .backLink{display:inline-block;font-size:14px;line-height:1.2;color:#fff;background:#C56E4A;padding:8px 32px;border-radius:8px;text-decoration:none;letter-spacing:.04em;text-transform:uppercase;position:relative;overflow:hidden;transition:color .22s cubic-bezier(0.4,0,0.2,1)}
.successPage .card .backLink::before{content:"";position:absolute;left:0;bottom:0;width:100%;height:0;background:#355096;border-radius:8px;transition:height .25s cubic-bezier(0.0,0,0.2,1);z-index:0}
.successPage .card .backLink:hover::before{height:100%}
.successPage .card .backLink span{position:relative;z-index:1}
.successPage .card .backLink:focus{outline:2px solid #355096;outline-offset:4px}
.successPage .card .meta{font-size:14px;line-height:1.6;color:#5a6a8a;margin:16px 0 0}
.successPage .card .meta a{color:#355096;text-decoration:none;transition:opacity .2s cubic-bezier(0.4,0,0.2,1)}
.successPage .card .meta a:hover{opacity:.7}
@media (max-width: 375px) {
.successPage .card{padding:16px}
}