:root{
  --dark:#153944;
  --teal:#4A9B8E;
  --teal-soft:#6FB3A7;
  --white:#FFFFFF;
  --tint:#EEF4F3;
  --ink:#153944;
  --muted:#5C7570;
  --line:#D6E2DF;
  --maxw:1180px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Archivo',-apple-system,sans-serif;color:var(--ink);background:var(--white);line-height:1.6;font-size:17px;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
h1,h2,h3,.display{font-family:'Fraunces',Georgia,serif;font-weight:500;line-height:1.08;letter-spacing:-0.015em;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}

/* placeholders */
.ph{position:relative;background:var(--tint);border:1px solid var(--line);overflow:hidden;display:flex;align-items:center;justify-content:center;
  background-image:linear-gradient(135deg,rgba(74,155,142,0.07),rgba(21,57,68,0.05)),repeating-linear-gradient(45deg,transparent,transparent 11px,rgba(21,57,68,0.04) 11px,rgba(21,57,68,0.04) 12px);}
.ph img{width:100%;height:100%;object-fit:cover;display:block;}
.ph span{font-family:'Archivo',sans-serif;font-size:11px;letter-spacing:0.13em;text-transform:uppercase;color:var(--dark);background:var(--white);padding:7px 13px;border-radius:2px;text-align:center;max-width:82%;line-height:1.55;}

/* nav */
header{position:sticky;top:0;z-index:50;background:var(--dark);border-bottom:1px solid rgba(255,255,255,0.08);} 
.nav{display:flex;align-items:center;justify-content:space-between;height:80px;}
.logo-img{height:120px;width:auto;display:block;}
.navlinks{display:flex;gap:32px;align-items:center;}
.navlinks a{font-size:14px;font-weight:500;color:rgba(255,255,255,0.82);transition:color .2s;}
.navlinks a:hover{color:var(--teal-soft);}
.navlink-inquiry a:hover{color:var(--dark);}
.btn{display:inline-block;background:var(--teal);color:var(--dark);padding:12px 22px;border-radius:2px;font-size:14px;font-weight:700;letter-spacing:0.01em;transition:background .25s,transform .25s,color .25s;border:1px solid var(--teal);cursor:pointer;}
.btn:hover{background:var(--teal-soft);transform:translateY(-1px);}
.navlinks .btn.nav-btn:hover{background:var(--teal);color:var(--dark);border-color:var(--teal);}
.btn.ghost{background:transparent;color:var(--teal);}
.btn.ghost:hover{background:var(--teal);color:var(--dark);}
.btn.light{background:transparent;color:var(--dark);border-color:var(--dark);}
.btn.light:hover{background:var(--dark);color:var(--white);}
.navtoggle{display:none;background:none;border:none;font-size:24px;color:var(--white);cursor:pointer;}

/* hero */
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;min-height:80vh;align-items:center;gap:30px;}
.hero-copy{padding:80px 50px 80px 0;}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:0.17em;text-transform:uppercase;color:var(--teal);margin-bottom:24px;}
.hero h1{font-size:clamp(44px,5.6vw,76px);color:var(--dark);margin-bottom:24px;}
.hero h1 em{font-style:italic;color:var(--teal);} 
.hero .lede{font-size:20px;color:var(--muted);max-width:32em;margin-bottom:36px;}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;}
.hero-img{position:relative;}
.hero-img .ph{min-height:460px;border-radius:3px;}
.hero-img .tag{position:absolute;bottom:18px;left:18px;background:var(--dark);color:var(--white);padding:8px 14px;font-size:12px;letter-spacing:0.05em;font-weight:600;z-index:2;border-radius:2px;}
.hero{position:relative;overflow:hidden;}
.hero > .wrap{position:relative;z-index:1;}


.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease;}
.reveal.in{opacity:1;transform:none;}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}

section{position:relative;z-index:2;}
.sec{padding:104px 0;}
.sec-num{font-family:'Archivo',sans-serif;font-size:15px;font-weight:700;letter-spacing:0.2em;color:var(--teal);text-transform:uppercase;margin-bottom:18px;display:block;}
.sec h2{font-size:clamp(30px,3.6vw,46px);color:var(--dark);margin-bottom:22px;max-width:16em;}
.sec .intro{font-size:19px;color:var(--muted);max-width:35em;}
.lead-strong{color:var(--ink);font-weight:500;}

.tinted{background:var(--tint);} 
.band{background:var(--dark);color:var(--white);}
.band .sec-num{color:var(--teal-soft);}
.band h2{color:var(--white);}  
.band .intro{color:rgba(255,255,255,0.8);}  
.band-deep{background:var(--dark);color:var(--white);} 

.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:54px;}
.card{background:var(--white);border:1px solid var(--line);border-radius:3px;padding:32px;}
.band .card{background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.14);} 
.card h3{font-size:21px;margin-bottom:11px;color:var(--dark);} 
.band .card h3{color:var(--white);} 
.card p{font-size:15px;color:var(--muted);} 
.band .card p{color:rgba(255,255,255,0.78);} 
.card .ic{width:36px;height:36px;border:1.5px solid var(--teal);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--teal);font-family:'Fraunces',serif;font-size:17px;margin-bottom:18px;}

/* involvement two-option */
.involve{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:50px;}
.opt{border:1px solid rgba(255,255,255,0.18);border-radius:4px;padding:34px;background:rgba(255,255,255,0.04);} 
.opt .lab{font-family:'Fraunces',serif;font-size:18px;font-style:italic;color:var(--teal-soft);margin-bottom:10px;} 
.opt h3{font-size:24px;color:var(--white);margin-bottom:12px;} 
.opt p{color:rgba(255,255,255,0.8);font-size:18px;}

.settings{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:54px;}
.setting .ph{aspect-ratio:4/3;border-radius:3px;margin-bottom:22px;} 
.setting .kicker{font-size:12px;letter-spacing:0.15em;text-transform:uppercase;font-weight:700;color:var(--teal);margin-bottom:8px;} 
.setting h3{font-size:27px;color:var(--dark);margin-bottom:12px;} 
.setting{position:relative;overflow:hidden;}
.setting .ph{position:relative;}
.setting .hero-pill{position:absolute;bottom:18px;left:18px;display:inline-flex;align-items:center;font-size:12px;letter-spacing:0.05em;text-transform:none;font-weight:600;background:var(--dark);color:var(--white);padding:8px 14px;border-radius:2px;z-index:2;}
.setting p{color:var(--muted);font-size:16px;}

.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;} 
.split .ph{aspect-ratio:3/4;border-radius:3px;}

.inc{display:grid;grid-template-columns:repeat(2,1fr);gap:0 50px;margin-top:46px;} 
.inc li{list-style:none;padding:20px 0;border-bottom:1px solid rgba(255,255,255,0.16);display:flex;gap:16px;align-items:flex-start;} 
.inc li .n{font-family:'Fraunces',serif;font-size:15px;color:var(--teal-soft);min-width:24px;} 
.inc li strong{display:block;font-weight:600;font-size:17px;margin-bottom:2px;} 
.inc li span{font-size:14px;color:rgba(255,255,255,0.72);} 
.inc-note{margin-top:34px;font-size:16px;color:rgba(255,255,255,0.82);max-width:44em;border-left:2px solid var(--teal);padding-left:18px;}

.arc{margin-top:54px;border-top:1px solid var(--line);} 
.day{display:grid;grid-template-columns:140px 1fr;gap:30px;padding:28px 0;border-bottom:1px solid var(--line);align-items:baseline;} 
.day .dlabel{font-family:'Fraunces',serif;font-size:22px;color:var(--teal);} 
.day .dlabel small{display:block;font-family:'Archivo',sans-serif;font-size:12px;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);margin-top:4px;} 
.day h4{font-family:'Fraunces',serif;font-weight:500;font-size:21px;color:var(--dark);margin-bottom:6px;} 
.day p{color:var(--muted);font-size:16px;max-width:40em;}

.host{display:grid;grid-template-columns:0.85fr 1.15fr;gap:56px;align-items:center;} 
.host .ph{aspect-ratio:4/5;border-radius:3px;} 
.host h2{margin-bottom:22px;} 
.host p{color:rgba(255,255,255,0.85);font-size:18px;margin-bottom:18px;} 
.host .sig{font-family:'Fraunces',serif;font-style:italic;font-size:22px;color:var(--white);margin-top:8px;} 
.host .sig small{display:block;font-family:'Archivo',sans-serif;font-style:normal;font-size:13px;letter-spacing:0.08em;color:var(--teal-soft);text-transform:uppercase;margin-top:4px;}

.price-wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-top:18px;} 
.price-card{background:var(--dark);color:var(--white);border-radius:4px;padding:44px;} 
.price-card .from{font-size:13px;letter-spacing:0.14em;text-transform:uppercase;color:var(--teal-soft);font-weight:700;} 
.price-card .big{font-family:'Fraunces',serif;font-size:58px;color:var(--white);line-height:1;margin:8px 0 4px;} 
.price-card .unit{color:rgba(255,255,255,0.72);font-size:15px;margin-bottom:24px;} 
.price-card ul{list-style:none;} 
.price-card li{padding:9px 0;border-top:1px solid rgba(255,255,255,0.16);font-size:15px;display:flex;gap:10px;} 
.price-card li::before{content:"—";color:var(--teal-soft);} 
.price-note{font-size:14px;color:var(--muted);margin-top:22px;font-style:italic;}

.quote{text-align:center;max-width:40em;margin:0 auto;} 
.quote .mark{font-family:'Fraunces',serif;font-size:64px;color:var(--teal-soft);line-height:0.5;} 
.quote p{font-family:'Fraunces',serif;font-size:clamp(24px,3vw,34px);font-style:italic;color:var(--white);margin:24px 0;line-height:1.3;} 
.quote .attr{font-size:14px;letter-spacing:0.08em;text-transform:uppercase;color:var(--teal-soft);} 
.placeholder-note{display:inline-block;margin-top:30px;font-size:12px;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.5);border:1px dashed rgba(255,255,255,0.3);padding:8px 14px;border-radius:2px;}

.inquiry{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;} 
.inquiry h2{font-size:clamp(32px,4vw,52px);} 
.form{background:var(--tint);border:1px solid var(--line);border-radius:4px;padding:38px;} 
.field{margin-bottom:18px;} 
.field label{display:block;font-size:13px;font-weight:600;letter-spacing:0.04em;margin-bottom:7px;color:var(--dark);} 
.field input,.field textarea{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:2px;font-family:'Archivo',sans-serif;font-size:15px;background:var(--white);color:var(--ink);} 
.field textarea{resize:vertical;min-height:90px;} 
.form .btn{width:100%;text-align:center;margin-top:6px;background:var(--dark);color:var(--white);border-color:var(--dark);} 
.form .btn:hover{background:var(--dark);} 
.form .alt{text-align:center;font-size:14px;color:var(--muted);margin-top:16px;}

footer{background:var(--dark);color:rgba(255,255,255,0.7);padding:60px 0 34px;position:relative;z-index:2;} 
.foot-grid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:30px;align-items:flex-start;} 
.foot-grid a{color:rgba(255,255,255,0.7);font-size:14px;transition:color .2s;} 
.foot-grid a:hover{color:var(--teal-soft);} 
.foot-logo-img{height:120px;width:auto;margin-bottom:14px;} 
.foot-col h5{color:var(--white);font-size:13px;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:14px;font-weight:600;} 
.foot-col a{display:block;margin-bottom:8px;}
.foot-contact{align-self:flex-end;}
.foot-base{margin-top:46px;padding-top:24px;border-top:1px solid rgba(255,255,255,0.14);font-size:13px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}

@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr;}
  .hero-copy{padding:54px 0 36px;}
  .hero-img{margin-bottom:30px;}
  .cols3,.settings,.split,.host,.price-wrap,.inquiry,.inc,.involve{grid-template-columns:1fr;}
  .host,.price-wrap,.inquiry{gap:34px;}.split{gap:30px;}
  .navlinks{display:none;}
  .navtoggle{display:block;}
  .navlinks.open{display:flex;position:absolute;top:80px;left:0;right:0;flex-direction:column;background:var(--dark);padding:24px 32px;gap:18px;border-bottom:1px solid rgba(255,255,255,0.1);} 
  .sec{padding:72px 0;}
  .day{grid-template-columns:1fr;gap:6px;}
}

.slideshow {
  position: relative;
  width: 100%;
  min-height: 460px;
  overflow: hidden;
  border-radius: 3px;
}

.slide {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}

.slide.active {
  opacity: 1;
}

.slide-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.4);
  color: white;
  border: none;
  padding: 12px 16px;
  font-size: 24px;
  cursor: pointer;
  border-radius: 2px;
  transition: background 0.3s, opacity 0.3s;
  opacity: 0;
  z-index: 3;
}

.slideshow:hover .slide-nav {
  opacity: 1;
}

.slide-nav:hover {
  background: rgba(0, 0, 0, 0.7);
}

.slide-prev {
  left: 12px;
}

.slide-next {
  right: 12px;
}
