:root{
  --petrol:#083B4C;--petrol-2:#2E5966;--gold:#C79A47;--cream:#F3EFE8;--white:#F7F5F2;--ink:#2B2B2B;--muted:#657276;
  --serif: Georgia, "Times New Roman", serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--white);line-height:1.7;padding-bottom:0}
a{text-decoration:none;color:inherit}.topbar{background:var(--petrol);color:#dce8e8;font-size:.78rem;letter-spacing:.02em;padding:.55rem 0}.topbar a:hover{color:#fff}
.navbar{background:rgba(247,245,242,.95);backdrop-filter:blur(12px);padding:.8rem 0;border-bottom:1px solid rgba(8,59,76,.08)}.navbar-brand{display:flex;align-items:center;gap:.7rem}.brand-monogram{width:42px;height:42px;border:1px solid var(--gold);color:var(--gold);display:grid;place-items:center;font-family:var(--serif);font-size:1.15rem;letter-spacing:.02em}.brand-copy{display:grid;line-height:1.05}.brand-copy strong{font-family:var(--serif);font-weight:500;font-size:1.1rem;letter-spacing:.03em}.brand-copy small{font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;margin-top:.3rem;color:var(--petrol-2)}.nav-link{font-size:.83rem;letter-spacing:.02em;color:var(--ink)!important;padding:.7rem .8rem!important}.nav-link:hover{color:var(--gold)!important}
.btn{border-radius:0;font-size:.84rem;font-weight:600;letter-spacing:.02em;padding:.85rem 1.25rem;transition:.25s ease}.btn i{margin-left:.45rem}.btn-gold{background:var(--gold);color:#fff;border-color:var(--gold)}.btn-gold:hover{background:#aa7d31;border-color:#aa7d31;color:white}.btn-primary-custom{background:var(--petrol);color:#fff;border:1px solid var(--petrol)}.btn-primary-custom:hover{background:#0f5265;color:#fff}.btn-outline-custom{border:1px solid var(--petrol);color:var(--petrol)}.btn-outline-custom:hover{background:var(--petrol);color:#fff}
.hero-section{position:relative;overflow:hidden;background:var(--cream);padding:6.5rem 0 5.5rem}.hero-copy{position:relative;z-index:2}.eyebrow{font-size:.69rem;text-transform:uppercase;letter-spacing:.17em;color:var(--gold);font-weight:700;margin:0 0 1.2rem}.hero-section h1,.section-heading h2,.booking-section h2,.contact-section h2{font-family:var(--serif);font-weight:400;color:var(--petrol);line-height:1.1;letter-spacing:-.03em}.hero-section h1{font-size:clamp(3rem,5vw,5.4rem);max-width:650px}.hero-section h1 em,.section-heading em,.booking-section h2 em,.contact-section h2 em{color:var(--gold);font-style:italic}.hero-section .lead{max-width:590px;color:#526064;font-size:1.08rem;line-height:1.75;margin-top:1.5rem}.hero-proof{display:flex;flex-wrap:wrap;gap:1.4rem;font-size:.75rem;color:#526064;margin-top:2.2rem}.hero-proof i{color:var(--gold);margin-right:.3rem}.hero-photo{height:590px;position:relative;max-width:550px;margin-left:auto}.hero-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.75);position:relative;z-index:1}.hero-photo:after{content:"";position:absolute;width:100%;height:100%;border:1px solid var(--gold);top:18px;right:-18px;z-index:0}.hero-photo-card{position:absolute;bottom:25px;left:-35px;z-index:2;background:var(--petrol);color:#fff;padding:1.35rem 1.6rem;max-width:240px}.hero-photo-card .small-label{display:block;color:#e5c78e;font-size:.63rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:.35rem}.hero-photo-card strong{font-family:var(--serif);font-weight:400;font-size:1.2rem;line-height:1.25;display:block}.hero-orbit{position:absolute;border:1px solid rgba(199,154,71,.23);border-radius:50%;pointer-events:none}.orbit-one{width:460px;height:460px;right:-200px;top:-200px}.orbit-two{width:280px;height:280px;left:-100px;bottom:-150px}
.trust-strip{background:var(--petrol);color:white;padding:1.7rem 0}.trust-strip strong{display:block;font-family:var(--serif);font-size:1.1rem;font-weight:400;color:#f4dfb5}.trust-strip span{display:block;font-size:.71rem;color:#c8d4d6;margin-top:.15rem}
.section-space{padding:7rem 0}.section-tint{background:#eeeae1}.section-heading{max-width:740px}.section-heading h2,.booking-section h2,.contact-section h2{font-size:clamp(2.45rem,4vw,4.25rem);margin-bottom:1.4rem}.text-soft{color:#586569;font-size:.98rem}.about-image-wrap{position:relative;padding-right:2rem;padding-bottom:2rem}.about-image-wrap img{width:100%;height:520px;object-fit:cover;filter:saturate(.7)}.experience-card{position:absolute;bottom:0;right:0;background:var(--gold);color:white;padding:1.25rem 1.45rem;display:flex;align-items:center;gap:.75rem}.experience-card strong{font-family:var(--serif);font-size:2.7rem;line-height:1}.experience-card span{font-size:.68rem;line-height:1.45;text-transform:uppercase;letter-spacing:.08em}.expertise-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.6rem 0}.expertise-tags span{border:1px solid rgba(8,59,76,.25);padding:.35rem .68rem;color:var(--petrol);font-size:.74rem}.text-link{display:inline-flex;align-items:center;gap:.4rem;color:var(--petrol);font-size:.83rem;font-weight:700;margin-top:1rem}.text-link:hover{color:var(--gold)}.value-card{height:100%;background:var(--white);padding:2.2rem 2rem;border-bottom:2px solid transparent;transition:.25s}.value-card:hover{transform:translateY(-5px);border-bottom-color:var(--gold)}.icon-wrap{width:47px;height:47px;display:grid;place-items:center;border:1px solid var(--gold);color:var(--gold);font-size:1.25rem;margin-bottom:1.8rem}.value-card h3,.service-card span,.article-card h3,.calendar-placeholder h3{font-family:var(--serif);color:var(--petrol);font-weight:400}.value-card h3{font-size:1.55rem}.value-card p{font-size:.9rem;color:#647174}
.service-card{height:100%;border:1px solid #d9dedc;padding:1.4rem 1.3rem;display:flex;align-items:center;gap:1rem;background:var(--white);transition:.25s}.service-card:hover{background:var(--petrol);border-color:var(--petrol);transform:translateY(-3px)}.service-card i{color:var(--gold);font-size:1.25rem}.service-card span{font-size:1.12rem;flex:1}.service-card b{font-weight:400;color:var(--gold);font-size:1.2rem}.service-card:hover span{color:white}
.process-section{background:var(--petrol);color:#dbe5e6}.process-section .section-heading h2{color:#fff}.process-section p{color:#c5d1d3}.text-gold-light{color:#e5c78e}.process-grid{display:grid;grid-template-columns:repeat(11,1fr);align-items:center;gap:0}.process-item{min-height:195px;border-top:1px solid rgba(255,255,255,.24);padding:1.2rem .85rem 0}.process-item span{color:#e5c78e;font-size:.7rem;letter-spacing:.12em}.process-item h3{color:#fff;font-family:var(--serif);font-weight:400;font-size:1.22rem;margin:1.1rem 0 .6rem}.process-item p{font-size:.78rem;line-height:1.55}.process-arrow{color:var(--gold);font-size:1.2rem;text-align:center}
.reviews-carousel{max-width:880px;margin:auto}.review-card{text-align:center;padding:1rem 2rem 2.3rem}.stars{color:var(--gold);letter-spacing:.2em;font-size:1rem;margin-bottom:1.5rem}.review-card blockquote{font-family:var(--serif);font-size:clamp(1.55rem,2.6vw,2.25rem);line-height:1.35;color:var(--petrol);font-style:italic;margin:0 auto 1.7rem}.review-card p{margin:0;font-size:.82rem}.review-card p span{color:#788588;display:block;font-size:.72rem;margin-top:.15rem}.carousel-controls{display:flex;justify-content:center;align-items:center;gap:1.2rem}.carousel-controls button{border:1px solid #c6cfce;background:transparent;width:38px;height:38px;color:var(--petrol);transition:.2s}.carousel-controls button:hover{background:var(--petrol);color:white}.carousel-controls span{font-size:.68rem;color:#718083}
.article-card{background:var(--white);height:100%;transition:.25s}.article-card:hover{transform:translateY(-5px);box-shadow:0 14px 35px rgba(8,59,76,.09)}.article-card img{height:225px;width:100%;object-fit:cover;filter:saturate(.7)}.article-card-body{padding:1.45rem}.article-card-body>span{font-size:.63rem;letter-spacing:.14em;color:var(--gold);font-weight:700}.article-card h3{font-size:1.42rem;line-height:1.25;margin:1rem 0 1.35rem}.article-card a{color:var(--petrol);font-size:.78rem;font-weight:700}.accordion-item{border-color:#dbe1df}.accordion-button{font-family:var(--serif);font-size:1.2rem;color:var(--petrol);padding:1.35rem 0;background:transparent!important;box-shadow:none!important}.accordion-button:not(.collapsed){color:var(--petrol)}.accordion-body{padding:0 0 1.35rem;color:#647174;font-size:.91rem}.accordion-button:after{background-size:1rem}
.booking-section{background:#e8e0d3;padding:5rem 0}.booking-shell{background:var(--petrol);padding:4rem 4.5rem;position:relative;overflow:hidden}.booking-shell:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(199,154,71,.22);border-radius:50%;right:-280px;bottom:-290px}.booking-shell h2{color:white}.booking-shell p{color:#cad6d8}.booking-options{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.8rem}.booking-options span{font-size:.74rem;border:1px solid rgba(255,255,255,.25);padding:.45rem .7rem;color:#e5eaea}.booking-options i{color:#e5c78e;margin-right:.25rem}.calendar-placeholder{position:relative;z-index:1;background:#f7f5f2;color:var(--ink);padding:2rem;text-align:center}.calendar-placeholder>i{font-size:2.1rem;color:var(--gold)}.calendar-placeholder h3{font-size:1.65rem;margin:1rem 0 .7rem}.calendar-placeholder p{color:#627174;font-size:.86rem}.calendar-placeholder small{display:block;color:#7a8587;font-size:.65rem;margin-top:.8rem}.contact-links{display:grid;gap:1rem;margin-top:2rem}.contact-links a{display:flex;align-items:center;gap:1rem;color:var(--petrol)}.contact-links i{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--gold);color:var(--gold)}.contact-links span{font-size:.92rem}.contact-links small{display:block;color:#899396;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em}.social-links{display:flex;gap:.6rem;margin-top:2rem}.social-links a{width:37px;height:37px;display:grid;place-items:center;border:1px solid #cdd6d3;color:var(--petrol)}.social-links a:hover{background:var(--petrol);color:white}.contact-form{background:var(--cream);padding:2rem}.contact-form label{font-size:.73rem;color:var(--petrol);font-weight:700;margin-bottom:.35rem}.form-control{border-radius:0;border-color:#ced5d2;padding:.8rem .9rem;background:rgba(255,255,255,.6);font-size:.87rem}.form-control:focus{border-color:var(--gold);box-shadow:0 0 0 .18rem rgba(199,154,71,.13)}.form-check-label{font-size:.7rem;color:#657174}
footer{background:#062e3b;color:#d5dfe0;padding:4.5rem 0 1.5rem}footer .footer-brand{margin-bottom:1.4rem;display:inline-flex}.footer-brand .brand-copy strong{color:white}.footer-brand .brand-copy small{color:#b9c9cb}footer p{font-size:.84rem;max-width:320px;color:#b9c9cb}footer h3{color:#e4c382;font-size:.67rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700;margin-bottom:1rem}footer a{font-size:.78rem;display:block;margin:.46rem 0;color:#d5dfe0}footer a:hover{color:#e4c382}.newsletter{display:flex;margin-top:1.1rem}.newsletter input{min-width:0;width:100%;background:transparent;border:1px solid #56727a;color:white;padding:.55rem .7rem;font-size:.75rem}.newsletter button{background:var(--gold);color:white;border:0;width:38px}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);padding-top:1.3rem;margin-top:3rem;display:flex;justify-content:space-between;gap:1rem;font-size:.61rem;color:#9ab0b4}
.mobile-cta{position:fixed;bottom:0;left:0;right:0;background:var(--petrol);z-index:50;display:grid;grid-template-columns:1fr 1fr;box-shadow:0 -5px 18px rgba(0,0,0,.16)}.mobile-cta a{color:white;text-align:center;padding:.8rem;font-size:.74rem}.mobile-cta a:first-child{border-right:1px solid rgba(255,255,255,.2)}.mobile-cta i{color:#e5c78e;margin-right:.3rem}
[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}[data-reveal].is-visible{opacity:1;transform:none}
@media(max-width:991.98px){.hero-section{padding:4rem 0}.hero-photo{height:480px;max-width:none;margin-top:1rem}.hero-photo-card{left:15px}.section-space{padding:5rem 0}.process-grid{grid-template-columns:1fr}.process-arrow{height:22px;text-align:left;padding-left:1rem;transform:rotate(90deg)}.process-item{min-height:auto;padding:1.2rem 0}.booking-shell{padding:2.4rem 1.5rem}.footer-bottom{flex-direction:column}.mobile-cta~footer{padding-bottom:5rem}}
@media(max-width:575.98px){.brand-copy strong{font-size:.98rem}.brand-copy small{font-size:.5rem}.hero-section h1{font-size:3rem}.hero-photo{height:390px}.hero-photo:after{right:-10px;top:10px}.hero-photo-card{bottom:15px}.about-image-wrap img{height:400px}.section-heading h2,.booking-section h2,.contact-section h2{font-size:2.5rem}.review-card{padding:0 .2rem 1.7rem}.booking-section{padding:3rem 0}.article-card img{height:195px}}

@media(max-width: 991.98px){
  .logo-navbar{
    width: 100px !important;
  }
}

.btn{
  border-radius: 20px !important;
}

.value-card{
  border-radius: 20px !important;
}
.article-card{
  border-radius: 20px !important;
}
.article-card > img{
  border-radius: 20px 20px 0px 0px !important;
}
.service-card{
  border-radius: 20px !important;
}

.accordion-header{
  padding-left: 10px;
  padding-right: 10px;
}
.accordion-body{
  padding-left: 10px;
  padding-right: 10px;
}
.booking-shell{
  border-radius: 20px !important;
}
.calendar-placeholder{
  border-radius: 20px !important;
}
.hero-photo::after{
  border-radius: 20px !important;
}

.expertise-tags > span {
  border-radius: 20px !important;
}
.process-item{
  background-color: var(--cream);
  border-radius: 20px;
  transform: scale(1);
  transition: all 0.5s ease-in-out;
}
.process-item > span {
  font-size: 18px;
}
.process-item > h3 {
  color: var(--petrol);
}
.process-item > p {
  color: var(--petrol-2);
}

.process-item:hover{
  transition: all 0.5s ease-in-out;
  cursor: pointer;
  transform: scale(1.2);
}
.process-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(3, 1fr);
  align-items: stretch; /* important */
}

.process-item {
  min-height: 195px;
  width: 90%;
  display: flex;
  flex-direction: column;
  border-top: 1px solid rgba(255, 255, 255, 0.24);
  padding: 1.2rem 0.85rem 0;
}

.process-item p {
  margin-bottom: 0;
}

.process-arrow {
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gold);
  font-size: 1.2rem;
}

.nav-link {
  font-size: 1.1rem !important;
}

.simulator-section {
  background: var(--cream);
}

.simulator-card {
  background: var(--white);
  border-radius: 28px;
  padding: 3rem;
  box-shadow: 0 25px 70px rgba(8, 59, 76, 0.12);
  max-width: 900px;
  margin: auto;
}

.simulator-progress {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.7rem;
  margin-bottom: 2.5rem;
}

.simulator-progress span {
  height: 4px;
  background: rgba(8, 59, 76, 0.15);
  border-radius: 50px;
}

.simulator-progress span.active {
  background: var(--gold);
}

.sim-step {
  display: none;
}

.sim-step.active {
  display: block;
}

.sim-step h3 {
  font-family: var(--serif);
  color: var(--petrol);
  font-size: 2rem;
  margin-bottom: 2rem;
}

.sim-step label {
  display: block;
  color: var(--petrol);
  font-weight: 600;
  margin: 1.3rem 0 0.5rem;
}

.objective-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}

.objective-grid label {
  border: 1px solid rgba(8, 59, 76, 0.18);
  padding: 1rem;
  border-radius: 16px;
  cursor: pointer;
  background: #fff;
  transition: 0.25s;
}

.objective-grid label:hover {
  border-color: var(--gold);
  transform: translateY(-3px);
}

.objective-grid input {
  margin-right: 0.5rem;
}

.simulator-actions {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 2rem;
}

.sim-result {
  background: var(--cream);
  border-left: 4px solid var(--gold);
  padding: 1.5rem;
  border-radius: 16px;
  margin-bottom: 2rem;
}

.sim-result h4 {
  font-family: var(--serif);
  color: var(--petrol);
  margin-bottom: 1rem;
}

.sim-result ul {
  padding-left: 1.2rem;
  margin-bottom: 0;
}

.sim-result li {
  margin-bottom: 0.6rem;
  color: var(--petrol-2);
}

.lead-form {
  display: grid;
  gap: 1rem;
}

.lead-form h4 {
  font-family: var(--serif);
  color: var(--petrol);
}

.lead-form small {
  color: var(--muted);
  font-size: 0.75rem;
}

@media (max-width: 768px) {
  .simulator-card {
    padding: 2rem 1.2rem;
  }

  .objective-grid {
    grid-template-columns: 1fr;
  }

  .simulator-actions {
    flex-direction: column-reverse;
  }
}