:root{
  --navy: #1e2a52;
  --navy-2: #141d3d;
  --navy-soft: #35447d;
  --accent: #f2994a;
  --accent-2: #d9531f;
  --paper: #faf7f0;
  --paper-2: #f1e9d9;
  --paper-3: #e9dfc7;
  --ink: #262320;
  --ink-soft: #5c564c;
  --ink-faint: #8a8375;
  --line: rgba(38,35,32,.1);
  --radius-sm: 10px;
  --radius-md: 18px;
  --radius-lg: 28px;
  --radius-xl: 40px;
  --shadow-sm: 0 1px 2px rgba(38,35,32,.09), 0 1px 1px rgba(38,35,32,.05);
  --shadow-md: 0 10px 28px -10px rgba(38,35,32,.2), 0 3px 8px rgba(38,35,32,.08);
  --shadow-lg: 0 28px 64px -22px rgba(20,32,63,.4), 0 10px 24px -10px rgba(38,35,32,.18);
  --ease: cubic-bezier(.22,1,.36,1);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; overflow-x: hidden; }
body{
  margin:0;
  font-family:'Epilogue',sans-serif;
  color:var(--ink);
  background:var(--navy-2);
  font-size:clamp(1rem,.3vw + .92rem,1.05rem);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3,h4{ font-family:'Epilogue',sans-serif; font-weight:700; line-height:1.15; margin:0 0 .6em; color:var(--navy); }
p{ margin:0 0 1em; color:var(--ink-soft); }
ul{ margin:0; padding:0; }
button{ font-family:inherit; cursor:pointer; }
.container{ width:100%; max-width:1220px; margin:0 auto; padding:0 clamp(1.25rem,4vw,2.5rem); }


.rvl{ opacity:0; transform:translateY(28px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.rvl.visible{ opacity:1; transform:none; }


.btn{
  display:inline-flex; align-items:center; gap:.55em;
  padding:.9em 1.7em;
  border-radius:999px;
  font-weight:600;
  font-size:.98rem;
  border:1px solid transparent;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), background .35s var(--ease), color .35s var(--ease);
  cursor:pointer;
}
.btn-primary{ background:var(--navy); color:var(--paper); box-shadow:var(--shadow-sm); }
.btn-primary:hover{ background:var(--navy-soft); transform:translateY(-3px); box-shadow:var(--shadow-md); }
.btn-accent{ background:var(--accent); color:var(--navy-2); box-shadow:0 8px 20px -8px rgba(242,153,74,.55); }
.btn-accent:hover{ background:var(--accent-2); color:#fff; transform:translateY(-3px); box-shadow:0 14px 30px -10px rgba(217,83,31,.55); }
.btn-ghost{ background:transparent; color:var(--paper); border-color:rgba(250,247,240,.4); }
.btn-ghost:hover{ background:rgba(250,247,240,.12); border-color:rgba(250,247,240,.7); transform:translateY(-3px); }


.hdr{ position:fixed; top:0; left:0; right:0; z-index:300; padding:clamp(.9rem,2vw,1.3rem) 0; transition:background .4s var(--ease); }
.hdr-inner{ max-width:1280px; margin:0 auto; padding:0 clamp(1.25rem,4vw,2.5rem); display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
.hdr-logo{ display:flex; align-items:center; gap:.6rem; font-weight:700; font-size:1.15rem; letter-spacing:-.01em; transition:color .4s var(--ease); }
.hdr-logo img{ width:34px; height:34px; }
.hdr-nav{ display:flex; gap:clamp(1rem,2vw,2rem); }
.hdr-nav a{ font-size:.95rem; font-weight:500; padding:.4em 0; position:relative; transition:color .35s var(--ease); }
.hdr-nav a::after{ content:''; position:absolute; left:0; bottom:-2px; height:2px; width:0; background:currentColor; transition:width .35s var(--ease); }
.hdr-nav a:hover::after, .hdr-nav a.active::after{ width:100%; }
.hdr-cta{ padding:.7em 1.4em; border-radius:999px; font-size:.9rem; font-weight:600; background:var(--accent); color:var(--navy-2); transition:transform .35s var(--ease), box-shadow .35s var(--ease), background .35s var(--ease); box-shadow:0 8px 18px -8px rgba(242,153,74,.5); }
.hdr-cta:hover{ transform:translateY(-2px); background:var(--accent-2); color:#fff; }
.hdr-burger{ display:none; flex-direction:column; justify-content:center; gap:5px; width:44px; height:44px; background:transparent; border:none; padding:0; }
.hdr-burger span{ display:block; width:24px; height:2px; background:currentColor; border-radius:2px; margin:0 auto; transition:background .35s var(--ease); }

.hdr[data-theme="dark"]{ color:var(--paper); }
.hdr[data-theme="dark"] .hdr-logo{ color:var(--paper); }
.hdr[data-theme="light"]{ color:var(--navy); }
.hdr[data-theme="light"] .hdr-logo{ color:var(--navy); }
.hdr[data-theme="light"] .hdr-cta{ box-shadow:var(--shadow-sm); }


.mob-menu{
  position:fixed; inset:0; background:var(--navy-2);
  transform:translateY(-100%);
  transition:transform .65s var(--ease);
  z-index:500;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2.4rem;
}
.mob-menu.open{ transform:translateY(0); }
.mob-nav{ display:flex; flex-direction:column; align-items:center; gap:1.6rem; }
.mob-nav a{ font-size:clamp(1.4rem,5vw,2rem); font-weight:600; color:var(--paper); opacity:0; transform:translateY(-24px); transition:opacity .5s ease, transform .5s ease; }
.mob-menu.open .mob-nav a:nth-child(1){ transition-delay:.15s; }
.mob-menu.open .mob-nav a:nth-child(2){ transition-delay:.25s; }
.mob-menu.open .mob-nav a:nth-child(3){ transition-delay:.35s; }
.mob-menu.open .mob-nav a:nth-child(4){ transition-delay:.45s; }
.mob-menu.open .mob-nav a:nth-child(5){ transition-delay:.55s; }
.mob-menu.open .mob-nav a{ opacity:1; transform:translateY(0); }
.mob-close{ position:absolute; bottom:clamp(2rem,6vh,3.5rem); background:transparent; border:1px solid rgba(250,247,240,.35); color:var(--paper); padding:.8em 1.6em; border-radius:999px; font-size:1rem; display:flex; align-items:center; gap:.6em; opacity:0; transform:translateY(-16px); transition:opacity .5s ease .6s, transform .5s ease .6s, background .3s ease, border-color .3s ease; }
.mob-menu.open .mob-close{ opacity:1; transform:translateY(0); }
.mob-close:hover{ background:rgba(250,247,240,.12); border-color:rgba(250,247,240,.7); }


.hero{ position:relative; background:linear-gradient(160deg,var(--navy) 0%, var(--navy-2) 100%); padding:clamp(7.5rem,14vw,10rem) 0 clamp(3.5rem,6vw,5rem); overflow:hidden; }
.hero::before{ content:''; position:absolute; inset:0; background:radial-gradient(circle at 85% 15%, rgba(242,153,74,.18), transparent 55%); pointer-events:none; }
.hero-inner{ position:relative; max-width:1220px; margin:0 auto; padding:0 clamp(1.25rem,4vw,2.5rem); display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(2rem,4vw,3.5rem); align-items:center; }
.eyebrow{ display:inline-block; font-size:.82rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--accent); margin-bottom:1.1rem; }
.hero-title{ color:var(--paper); font-size:clamp(2.5rem,4.6vw + .5rem,4.4rem); font-weight:800; letter-spacing:-.02em; margin-bottom:.6em; }
.hero-desc{ color:rgba(250,247,240,.82); font-size:clamp(1.02rem,.4vw + .9rem,1.18rem); max-width:52ch; margin-bottom:1.8em; }
.hero-btns{ display:flex; flex-wrap:wrap; gap:1rem; }
.hero-visual img{ border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); transform:rotate(2deg); border:6px solid var(--paper); }
.hero-cards{ position:relative; max-width:1220px; margin:clamp(3rem,6vw,4.5rem) auto 0; padding:0 clamp(1.25rem,4vw,2.5rem); display:grid; grid-template-columns:repeat(3,1fr); gap:1.3rem; }
.crd-glass{ background:rgba(250,247,240,.08); backdrop-filter:blur(14px); border:1px solid rgba(250,247,240,.16); border-radius:var(--radius-lg); padding:clamp(1.5rem,2vw,2rem); box-shadow:0 20px 40px -20px rgba(0,0,0,.4); transition:transform .4s var(--ease), background .4s var(--ease), box-shadow .4s var(--ease); }
.crd-glass:hover{ transform:translateY(-6px); background:rgba(250,247,240,.13); box-shadow:0 28px 55px -18px rgba(0,0,0,.5); }
.crd-glass h3{ color:var(--paper); font-size:1.1rem; margin-bottom:.5em; }
.crd-glass .crd-txt{ color:rgba(250,247,240,.75); font-size:.94rem; margin:0; }
.crd-ico{ width:52px; height:52px; border-radius:var(--radius-sm); display:flex; align-items:center; justify-content:center; background:rgba(242,153,74,.18); color:var(--accent); font-size:1.25rem; margin-bottom:1rem; }
.crd-ico.sm{ width:46px; height:46px; font-size:1.1rem; }


.sec{ position:relative; background:var(--paper); border-radius:var(--radius-xl) var(--radius-xl) 0 0; margin-top:clamp(-3rem,-4vw,-2rem); box-shadow:0 -26px 55px -32px rgba(20,20,15,.4); padding:clamp(4.5rem,8vw,7rem) 0; }
.sec-alt{ background:var(--paper-2); }
.sec-dark{ background:linear-gradient(160deg,var(--navy) 0%, var(--navy-2) 100%); box-shadow:0 -26px 55px -32px rgba(0,0,0,.5); }
.sec-dark .sec-title{ color:var(--paper); }
.sec-dark p{ color:rgba(250,247,240,.8); }
.sec-head{ text-align:center; max-width:760px; margin:0 auto clamp(2.5rem,5vw,3.5rem); }
.tag{ display:inline-block; font-size:.8rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--accent-2); margin-bottom:.9rem; }
.tag-light{ color:var(--accent); }
.sec-title{ font-size:clamp(1.9rem,2.6vw + .8rem,2.9rem); letter-spacing:-.015em; }
.sec-title.light{ color:var(--paper); }
.sec-sub{ font-size:1.05rem; color:var(--ink-soft); }

.pg-hdr{ position:relative; background:linear-gradient(160deg,var(--navy) 0%, var(--navy-2) 100%); padding:clamp(8.5rem,14vw,10.5rem) 0 clamp(4rem,7vw,5.5rem); }
.pg-hdr::before{ content:''; position:absolute; inset:0; background:radial-gradient(circle at 15% 20%, rgba(242,153,74,.16), transparent 55%); pointer-events:none; }
.pg-hdr-inner{ position:relative; max-width:760px; }
.pg-hdr-title{ color:var(--paper); font-size:clamp(2.1rem,3.4vw + .6rem,3.4rem); letter-spacing:-.02em; margin-bottom:.5em; }
.pg-hdr-inner p{ color:rgba(250,247,240,.82); font-size:clamp(1rem,.35vw + .9rem,1.15rem); max-width:60ch; }
.pg-hdr-inner .btn{ margin-top:1rem; }

.sec-split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,4vw,4rem); align-items:center; }
.sec-split.reverse{ direction:rtl; }
.sec-split.reverse > *{ direction:ltr; }
.sec-split-img img{ border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); }
.sec-split-img.two-imgs{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.sec-split-img.two-imgs img:nth-child(2){ margin-top:1.6rem; }


.bento{ display:grid; grid-template-columns:repeat(6,1fr); gap:1.3rem; }
.bento-item{ grid-column:span 2; background:var(--paper); border-radius:var(--radius-lg); padding:clamp(1.6rem,2vw,2.1rem); box-shadow:var(--shadow-md); transition:transform .4s var(--ease), box-shadow .4s var(--ease); position:relative; overflow:hidden; }
.sec-alt .bento-item{ background:var(--paper); }
.bento-item:hover{ transform:translateY(-5px); box-shadow:var(--shadow-lg); }
.bento-item h3{ font-size:1.1rem; margin-bottom:.5em; }
.bento-item p{ font-size:.94rem; margin:0; }
.bento-lg{ grid-column:span 3; grid-row:span 2; display:flex; flex-direction:column; padding:0; overflow:hidden; }
.bento-lg img{ height:220px; object-fit:cover; width:100%; }
.bento-lg .bento-txt{ padding:clamp(1.5rem,2vw,2rem); }
.bento-wide{ grid-column:span 4; }
.bento-tall{ grid-column:span 3; grid-row:span 2; display:flex; flex-direction:column; padding:0; overflow:hidden; }
.bento-tall img{ height:220px; object-fit:cover; width:100%; }
.bento-tall .bento-txt{ padding:clamp(1.5rem,2vw,2rem); }


.steps{ display:flex; flex-direction:column; gap:1.4rem; max-width:820px; margin:0 auto; }
.step{ display:flex; gap:1.5rem; align-items:flex-start; background:var(--paper); border-radius:var(--radius-md); padding:1.5rem 1.8rem; box-shadow:var(--shadow-sm); transition:box-shadow .4s var(--ease), transform .4s var(--ease); }
.step:hover{ transform:translateX(4px); box-shadow:var(--shadow-md); }
.step-num{ font-size:1.6rem; font-weight:800; color:var(--accent-2); min-width:2.4ch; }
.step-txt h3{ font-size:1.15rem; margin-bottom:.35em; }
.step-txt p{ margin:0; }


.mod-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.3rem; }
.mod-crd{ background:var(--paper); border-radius:var(--radius-lg); padding:clamp(1.6rem,2vw,2rem); box-shadow:var(--shadow-md); transition:transform .4s var(--ease), box-shadow .4s var(--ease); display:block; }
.mod-crd:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.mod-crd h3{ font-size:1.08rem; margin-bottom:.4em; }
.mod-crd p{ font-size:.93rem; margin:0; }
.mod-cta{ text-align:center; margin-top:2.5rem; }

.mod-list{ display:flex; flex-direction:column; gap:1.4rem; }
.mod-full{ display:flex; gap:clamp(1.4rem,3vw,2.4rem); background:var(--paper); border-radius:var(--radius-lg); padding:clamp(1.8rem,3vw,2.6rem); box-shadow:var(--shadow-sm); transition:box-shadow .4s var(--ease); }
.mod-full:hover{ box-shadow:var(--shadow-md); }
.mod-full-num{ font-size:clamp(2rem,3vw,2.7rem); font-weight:800; color:var(--accent); min-width:2.2ch; }
.mod-full-txt h2{ font-size:1.4rem; margin-bottom:.5em; }

.format-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.3rem; }
.format-crd{ background:var(--paper); border-radius:var(--radius-lg); padding:clamp(1.6rem,2vw,2rem); box-shadow:var(--shadow-md); text-align:center; transition:transform .4s var(--ease), box-shadow .4s var(--ease); }
.format-crd:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.format-crd .crd-ico{ margin:0 auto 1rem; }
.format-crd h3{ font-size:1.05rem; }
.format-crd p{ font-size:.92rem; margin:0; }


.faq-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.3rem; }
.faq-item{ background:var(--paper); border-radius:var(--radius-md); padding:1.6rem 1.8rem; box-shadow:var(--shadow-sm); transition:box-shadow .4s var(--ease); }
.faq-item:hover{ box-shadow:var(--shadow-md); }
.faq-item h3{ font-size:1.05rem; margin-bottom:.4em; }
.faq-item p{ margin:0; font-size:.94rem; }


.cta-band{ background:linear-gradient(160deg,var(--navy) 0%, var(--navy-2) 100%); box-shadow:0 -26px 55px -32px rgba(0,0,0,.5); }
.cta-inner{ text-align:center; max-width:680px; margin:0 auto; }
.cta-inner h2{ color:var(--paper); font-size:clamp(1.8rem,2.6vw + .6rem,2.6rem); margin-bottom:.5em; }
.cta-inner p{ color:rgba(250,247,240,.82); margin-bottom:1.6em; }


.bio-grid{ display:flex; flex-direction:column; gap:1.1rem; max-width:820px; margin:0 auto; }
.bio-crd{ background:var(--paper); border-radius:var(--radius-md); box-shadow:var(--shadow-sm); overflow:hidden; transition:box-shadow .4s var(--ease); }
.bio-crd:hover{ box-shadow:var(--shadow-md); }
.bio-head{ width:100%; display:flex; align-items:center; gap:1.2rem; padding:1.3rem 1.6rem; background:transparent; border:none; text-align:left; }
.bio-avatar{ width:52px; height:52px; border-radius:50%; background:var(--navy); color:var(--paper); display:flex; align-items:center; justify-content:center; font-weight:700; flex-shrink:0; }
.bio-info{ display:flex; flex-direction:column; flex:1; }
.bio-name{ font-weight:700; color:var(--navy); font-size:1.05rem; }
.bio-role{ font-size:.9rem; color:var(--ink-faint); }
.bio-arrow{ color:var(--ink-faint); transition:transform .4s var(--ease); }
.bio-crd.open .bio-arrow{ transform:rotate(180deg); }
.bio-body{ max-height:0; overflow:hidden; padding:0 1.6rem; transition:max-height .55s var(--ease), padding .45s var(--ease); }
.bio-crd.open .bio-body{ max-height:400px; padding:0 1.6rem 1.6rem 5.4rem; }
.bio-body p{ margin:0; font-size:.95rem; }


.contact-grid{ display:grid; grid-template-columns:1.4fr .9fr; gap:clamp(2rem,4vw,3.5rem); align-items:start; }
.contact-form-wrap{ background:var(--paper); border-radius:var(--radius-lg); padding:clamp(1.8rem,3vw,2.6rem); box-shadow:var(--shadow-md); }
.contact-form-wrap h2{ font-size:1.5rem; margin-bottom:1em; }
.frm-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; margin-bottom:1.4rem; }
.frm-group{ display:flex; flex-direction:column; gap:.5rem; }
.frm-full{ grid-column:1 / -1; }
.frm-group label{ font-size:.9rem; font-weight:600; color:var(--navy); }
.frm-group input, .frm-group textarea{
  width:100%; padding:.85em 1em; border-radius:var(--radius-sm); border:1.5px solid var(--line); background:var(--paper); font-family:inherit; font-size:.98rem; color:var(--ink); transition:border-color .3s var(--ease), box-shadow .3s var(--ease);
}
.frm-group input:focus, .frm-group textarea:focus{ outline:none; border-color:var(--accent); box-shadow:0 0 0 4px rgba(242,153,74,.15); }
.frm-check{ display:flex; align-items:flex-start; gap:.7em; font-size:.9rem; color:var(--ink-soft); margin-bottom:1.4rem; }
.frm-check input{ margin-top:.25em; width:18px; height:18px; flex-shrink:0; }
.frm-check a{ color:var(--accent-2); text-decoration:underline; }
.frm-submit{ width:100%; justify-content:center; }

.contact-info{ display:flex; flex-direction:column; gap:1.1rem; }
.info-crd{ background:var(--paper); border-radius:var(--radius-md); padding:1.4rem 1.6rem; box-shadow:var(--shadow-sm); transition:box-shadow .4s var(--ease); }
.info-crd:hover{ box-shadow:var(--shadow-md); }
.info-crd h3{ font-size:1rem; display:flex; align-items:center; gap:.55em; margin-bottom:.5em; color:var(--navy); }
.info-crd h3 i{ color:var(--accent-2); }
.info-crd p{ margin:0; font-size:.95rem; }
.hours-list{ list-style:none; display:flex; flex-direction:column; gap:.5rem; }
.hours-list li{ display:flex; justify-content:space-between; font-size:.92rem; color:var(--ink-soft); border-bottom:1px dashed var(--line); padding-bottom:.4rem; }
.hours-list li:last-child{ border-bottom:none; }
.map-wrap{ border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md); line-height:0; }


.tl{ max-width:560px; margin:0 auto; display:flex; flex-direction:column; gap:0; position:relative; }
.tl-item{ display:flex; gap:1.4rem; padding-bottom:2.4rem; position:relative; }
.tl-item::before{ content:''; position:absolute; left:21px; top:44px; bottom:0; width:2px; background:var(--line); }
.tl-item:last-child::before{ display:none; }
.tl-dot{ width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--paper-2); color:var(--ink-faint); flex-shrink:0; font-size:1rem; border:2px solid var(--line); }
.tl-item.done .tl-dot{ background:var(--navy); color:var(--paper); border-color:var(--navy); }
.tl-item.highlight .tl-dot{ background:var(--accent); border-color:var(--accent); color:var(--navy-2); }
.tl-txt h3{ font-size:1.1rem; margin-bottom:.3em; }
.tl-txt p{ margin:0; font-size:.94rem; }
.tl-item.upcoming .tl-txt h3{ color:var(--ink-faint); }
.tl-item.upcoming .tl-txt p{ color:var(--ink-faint); }


.legal h2, .legal h3{ color:var(--navy); font-size:1.25rem; margin-top:2em; }
.legal h2:first-child, .legal h3:first-child{ margin-top:0; }
.legal p{ max-width:78ch; }


.ftr{ position:relative; background:linear-gradient(160deg,var(--navy-2) 0%, #0e1530 100%); box-shadow:0 -26px 55px -32px rgba(0,0,0,.55); padding:clamp(3.5rem,6vw,5rem) 0 0; border-radius:var(--radius-xl) var(--radius-xl) 0 0; }
.ftr-inner{ max-width:760px; margin:0 auto; padding:0 clamp(1.25rem,4vw,2.5rem); display:flex; flex-direction:column; align-items:center; text-align:center; gap:1.1rem; }
.ftr-logo img{ width:44px; height:44px; }
.ftr-tag{ color:rgba(250,247,240,.75); max-width:44ch; }
.ftr-nav{ display:flex; flex-wrap:wrap; justify-content:center; gap:1.6rem; margin:.6rem 0; }
.ftr-nav a{ color:rgba(250,247,240,.85); font-size:.95rem; transition:color .3s var(--ease); }
.ftr-nav a:hover{ color:var(--accent); }
.ftr-contact{ display:flex; flex-wrap:wrap; justify-content:center; gap:1.6rem; color:rgba(250,247,240,.75); font-size:.92rem; }
.ftr-contact a{ transition:color .3s var(--ease); }
.ftr-contact a:hover{ color:var(--accent); }
.ftr-legal{ display:flex; flex-wrap:wrap; justify-content:center; gap:1.3rem; margin-top:.6rem; }
.ftr-legal a{ color:rgba(250,247,240,.55); font-size:.85rem; transition:color .3s var(--ease); }
.ftr-legal a:hover{ color:var(--paper); }
.ftr-bar{ width:100%; margin-top:1.6rem; padding:1.4rem 0; border-top:1px solid rgba(250,247,240,.12); color:rgba(250,247,240,.5); font-size:.82rem; }


.cok-wrap{ position:fixed; bottom:1.4rem; right:1.4rem; z-index:900; max-width:340px; width:calc(100% - 2.8rem); }
.cok-card{ background:var(--paper); border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); padding:1.6rem 1.6rem 1.4rem; opacity:0; transform:translateY(40px) scale(.96); transition:opacity .5s var(--ease), transform .5s var(--ease), padding-bottom .4s var(--ease); }
.cok-card.show{ opacity:1; transform:translateY(0) scale(1); }
.cok-card.hide{ opacity:0; transform:translateY(30px) scale(.97); }
.cok-icon{ width:46px; height:46px; border-radius:50%; background:rgba(30,42,82,.08); color:var(--navy); display:flex; align-items:center; justify-content:center; font-size:1.2rem; margin-bottom:.9rem; }
.cok-msg{ font-size:.88rem; color:var(--ink-soft); margin-bottom:1.1rem; }
.cok-btns{ display:flex; flex-direction:column; gap:.6rem; }
.cok-btn{ border:none; border-radius:999px; padding:.75em 1.2em; font-size:.88rem; font-weight:600; transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .3s var(--ease); }
.cok-btn-accept{ background:var(--navy); color:var(--paper); }
.cok-btn-accept:hover{ background:var(--navy-soft); transform:translateY(-2px); }
.cok-btn-reject{ background:var(--paper-2); color:var(--ink); }
.cok-btn-reject:hover{ background:var(--paper-3); }
.cok-btn-custom{ background:transparent; color:var(--accent-2); border:1.5px solid rgba(217,83,31,.35); }
.cok-btn-custom:hover{ background:rgba(217,83,31,.08); }
.cok-panel{ max-height:0; overflow:hidden; transition:max-height .45s var(--ease); }
.cok-card.expanded .cok-panel{ max-height:320px; margin-top:1.1rem; }
.cok-toggle-row{ display:flex; justify-content:space-between; align-items:center; padding:.55rem 0; border-bottom:1px dashed var(--line); font-size:.87rem; color:var(--ink-soft); }
.cok-toggle-row:last-of-type{ border-bottom:none; }
.cok-btn-save{ width:100%; background:var(--accent); color:var(--navy-2); margin-top:.8rem; }
.cok-btn-save:hover{ background:var(--accent-2); color:#fff; }


@media (max-width:1080px){
  .hdr-nav, .hdr-cta{ display:none; }
  .hdr-burger{ display:flex; }
  .hero-inner{ grid-template-columns:1fr; }
  .hero-visual{ order:-1; max-width:420px; margin:0 auto; }
  .hero-cards{ grid-template-columns:1fr; }
  .bento{ grid-template-columns:repeat(2,1fr); }
  .bento-lg, .bento-tall{ grid-column:span 2; }
  .bento-wide{ grid-column:span 2; }
  .mod-grid{ grid-template-columns:repeat(2,1fr); }
  .format-grid{ grid-template-columns:repeat(2,1fr); }
  .faq-grid{ grid-template-columns:1fr; }
  .sec-split{ grid-template-columns:1fr; }
  .sec-split.reverse{ direction:ltr; }
  .sec-split-img{ order:-1; }
  .contact-grid{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  .frm-grid{ grid-template-columns:1fr; }
  .bento{ grid-template-columns:1fr; }
  .bento-lg, .bento-tall, .bento-wide, .bento-item{ grid-column:span 1 !important; }
  .mod-grid{ grid-template-columns:1fr; }
  .format-grid{ grid-template-columns:1fr; }
  .mod-full{ flex-direction:column; }
  .sec-split-img.two-imgs{ grid-template-columns:1fr; }
  .sec-split-img.two-imgs img:nth-child(2){ margin-top:0; }
  .cok-wrap{ right:1rem; bottom:1rem; max-width:none; width:calc(100% - 2rem); }
}