:root{
  --c-bg:#f2ede3;
  --c-bg-alt:#e7e0d2;
  --c-bg-card:#faf8f2;
  --c-ink:#1c1913;
  --c-ink-soft:#4d473d;
  --c-ink-faint:#7a7264;
  --c-accent:#c1602c;
  --c-accent-dark:#9c4a1f;
  --c-accent-soft:#e9c9a8;
  --c-walnut:#5b4632;
  --c-line:rgba(28,25,19,0.14);
  --c-line-strong:rgba(28,25,19,0.28);
  --shadow-sm:0 1px 2px rgba(28,25,19,0.08), 0 1px 1px rgba(28,25,19,0.05);
  --shadow-md:0 6px 16px rgba(28,25,19,0.10), 0 2px 6px rgba(28,25,19,0.08);
  --shadow-lg:0 24px 48px rgba(28,25,19,0.16), 0 8px 20px rgba(28,25,19,0.10);
  --r-sm:8px;
  --r-md:16px;
  --r-lg:26px;
  --r-xl:36px;
  --sp-1:0.5rem;
  --sp-2:1rem;
  --sp-3:1.5rem;
  --sp-4:2.5rem;
  --sp-5:4rem;
  --sp-6:6rem;
  --sp-7:9rem;
  --mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
}

[data-theme="dark"]{
  --c-bg:#171410;
  --c-bg-alt:#201b14;
  --c-bg-card:#211c15;
  --c-ink:#f3ede1;
  --c-ink-soft:#cbc0ac;
  --c-ink-faint:#8f8672;
  --c-accent:#e07f3f;
  --c-accent-dark:#c1602c;
  --c-accent-soft:#4a3320;
  --c-walnut:#c7a67e;
  --c-line:rgba(243,237,225,0.12);
  --c-line-strong:rgba(243,237,225,0.24);
  --shadow-sm:0 1px 2px rgba(0,0,0,0.4);
  --shadow-md:0 6px 16px rgba(0,0,0,0.45);
  --shadow-lg:0 24px 48px rgba(0,0,0,0.5);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--c-bg);
  color:var(--c-ink);
  font-family:'Lexend', sans-serif;
  font-weight:400;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  transition:background .4s ease, color .4s ease;
  overflow-x:hidden;
}
h1,h2,h3,h4{
  font-family:'Lexend', sans-serif;
  font-weight:600;
  line-height:1.1;
  margin:0 0 var(--sp-2);
  letter-spacing:-0.01em;
}
p{margin:0 0 var(--sp-2); color:var(--c-ink-soft);}
a{color:inherit; text-decoration:none; transition:color .25s ease, opacity .25s ease, transform .25s ease;}
img{max-width:100%; display:block; height:auto;}
ul{padding:0; margin:0;}
button{font-family:inherit; cursor:pointer; border:none; background:none;}
input, textarea, select{font-family:inherit; font-size:1rem;}

.u-container{max-width:1240px; margin:0 auto; padding:0 var(--sp-3);}
.u-hidden{display:none !important;}
.u-text-center{text-align:center;}
.u-mono{font-family:var(--mono); letter-spacing:0.06em; text-transform:uppercase; font-size:.75rem;}
.u-eyebrow{color:var(--c-accent-dark); font-weight:600; margin-bottom:var(--sp-1);}
[data-theme="dark"] .u-eyebrow{color:var(--c-accent);}


.c-btn{
  display:inline-flex; align-items:center; gap:.6rem;
  padding:.85rem 1.6rem;
  background:var(--c-ink);
  color:var(--c-bg);
  border-radius:var(--r-sm);
  font-weight:500;
  font-size:.95rem;
  box-shadow:var(--shadow-sm);
  transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, background .3s ease;
  min-height:48px;
  white-space:nowrap;
}
.c-btn:hover{transform:translateY(-3px); box-shadow:var(--shadow-md); background:var(--c-accent);}
.c-btn--lg{padding:1.1rem 2rem; font-size:1.05rem;}
.c-btn--sm{padding:.65rem 1.2rem; font-size:.85rem;}
.c-btn--full{width:100%; justify-content:center;}
.c-btn--ghost{background:transparent; color:var(--c-ink); border:1.5px solid var(--c-line-strong); box-shadow:none;}
.c-btn--ghost:hover{background:var(--c-ink); color:var(--c-bg); border-color:var(--c-ink);}


.s-header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:rgba(242,237,227,0.85);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--c-line);
  transition:transform .4s cubic-bezier(.2,.8,.2,1), background .4s ease, border-color .4s ease;
}
[data-theme="dark"] .s-header{background:rgba(23,20,16,0.85);}
.s-header.is-hidden{transform:translateY(-100%);}
.c-nav__inner{display:flex; align-items:center; justify-content:space-between; padding:1rem var(--sp-3);}
.c-nav__brand{display:flex; align-items:center; gap:.6rem;}
.c-nav__logo{width:34px; height:34px;}
.c-nav__brandtext{font-weight:700; font-size:1.15rem; letter-spacing:-0.02em;}
.c-nav__links{display:none; gap:2rem; align-items:center;}
.c-nav__link{font-size:.92rem; font-weight:500; color:var(--c-ink-soft); position:relative; padding:.3rem 0;}
.c-nav__link::after{content:''; position:absolute; left:0; bottom:0; height:2px; width:0; background:var(--c-accent); transition:width .3s ease;}
.c-nav__link:hover{color:var(--c-ink);}
.c-nav__link:hover::after, .c-nav__link.is-active::after{width:100%;}
.c-nav__link.is-active{color:var(--c-ink); font-weight:600;}
.c-nav__actions{display:flex; align-items:center; gap:.8rem;}
.c-theme-toggle{
  width:44px; height:44px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  border:1px solid var(--c-line-strong);
  color:var(--c-ink);
  transition:background .3s ease, transform .3s ease, color .3s ease;
}
.c-theme-toggle:hover{background:var(--c-ink); color:var(--c-bg); transform:rotate(20deg);}
.c-nav__cta{display:none;}

@media(min-width:900px){
  .c-nav__links{display:flex;}
  .c-nav__cta{display:inline-flex;}
}


.s-hero{
  position:relative;
  padding:calc(var(--sp-7) + 3rem) 0 var(--sp-6);
  overflow:hidden;
  background:
    radial-gradient(circle at 20% 10%, var(--c-accent-soft) 0%, transparent 45%),
    var(--c-bg);
}
.c-marquee{position:absolute; top:38%; left:0; right:0; z-index:0; opacity:.55; pointer-events:none;}
.c-marquee__track{
  display:flex; white-space:nowrap;
  font-size:clamp(3.5rem, 12vw, 9rem);
  font-weight:700;
  color:transparent;
  -webkit-text-stroke:1.5px var(--c-line-strong);
  animation:marquee 32s linear infinite;
}
@keyframes marquee{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}
.s-hero__inner{position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; text-align:center;}
.s-hero__tag{margin-bottom:var(--sp-3); color:var(--c-accent-dark);}
.c-glass-card{
  background:rgba(250,248,242,0.7);
  backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,0.4);
  border-radius:var(--r-xl);
  padding:clamp(2rem, 5vw, 4rem);
  max-width:820px;
  box-shadow:var(--shadow-lg);
}
[data-theme="dark"] .c-glass-card{background:rgba(33,28,21,0.72); border-color:rgba(255,255,255,0.08);}
.s-hero__headline{
  font-size:clamp(2.4rem, 6vw, 4.4rem);
  font-weight:700;
  letter-spacing:-0.03em;
  margin-bottom:var(--sp-2);
}
.s-hero__lead{font-size:clamp(1.05rem, 1.4vw, 1.25rem); max-width:640px; margin:0 auto var(--sp-3);}
.s-hero__actions{display:flex; flex-wrap:wrap; gap:1rem; justify-content:center; margin-top:var(--sp-2);}
.s-hero__coord{margin-top:var(--sp-4); color:var(--c-ink-faint); z-index:1; position:relative;}


.s-services{padding:var(--sp-6) 0 var(--sp-5);}
.s-services__heading{font-size:clamp(1.9rem, 3.5vw, 3rem); max-width:760px; margin-top:var(--sp-2);}
.c-cascade{display:flex; flex-direction:column; gap:var(--sp-4); margin-top:var(--sp-5);}
.c-cascade__card{
  display:grid; grid-template-columns:1fr 1fr; gap:0;
  background:var(--c-bg-card);
  border:1px solid var(--c-line);
  border-radius:var(--r-lg);
  overflow:hidden;
  box-shadow:var(--shadow-md);
  transition:transform .4s cubic-bezier(.2,.8,.2,1), box-shadow .4s ease;
}
.c-cascade__card:hover{transform:translateY(-6px); box-shadow:var(--shadow-lg);}
.c-cascade__text{padding:var(--sp-4); display:flex; flex-direction:column; justify-content:center;}
.c-cascade__index{color:var(--c-accent); display:block; margin-bottom:.6rem;}
.c-cascade__icon{font-size:1.6rem; color:var(--c-walnut); margin-bottom:var(--sp-1);}
.c-cascade__text h3{font-size:1.5rem;}
.c-cascade__media img{width:100%; height:100%; object-fit:cover; min-height:260px;}

@media(min-width:769px){
  .c-cascade__card:nth-child(2){margin-left:2rem;}
  .c-cascade__card:nth-child(3){margin-left:4rem;}
  .c-cascade__card:nth-child(4){margin-left:6rem;}
}
@media(max-width:768px){
  .c-cascade__card{grid-template-columns:1fr;}
  .c-cascade__media img{min-height:200px;}
}


.s-wood{padding:var(--sp-6) 0; background:var(--c-bg-alt); border-top:1px solid var(--c-line); border-bottom:1px solid var(--c-line);}
.s-wood__grid{display:grid; grid-template-columns:1.1fr .9fr; gap:var(--sp-5); align-items:center;}
.s-wood__pull{font-size:clamp(2rem, 4vw, 3.2rem); margin-bottom:var(--sp-3);}
.s-wood__images{display:grid; grid-template-columns:1fr 1fr; gap:1rem;}
.s-wood__img{border-radius:var(--r-md); box-shadow:var(--shadow-md); object-fit:cover; height:100%;}
.s-wood__img--a{margin-top:2rem;}
@media(max-width:900px){
  .s-wood__grid{grid-template-columns:1fr;}
  .s-wood__images{margin-top:var(--sp-3);}
}


.s-process{padding:var(--sp-6) 0;}
.s-process__heading{font-size:clamp(1.8rem, 3vw, 2.6rem); max-width:700px; margin-top:var(--sp-2);}
.c-process{display:grid; grid-template-columns:repeat(4,1fr); gap:var(--sp-3); margin-top:var(--sp-5); position:relative;}
.c-process::before{
  content:''; position:absolute; top:44px; left:6%; right:6%; height:1px;
  background:repeating-linear-gradient(90deg, var(--c-line-strong) 0 8px, transparent 8px 16px);
  z-index:0;
}
.c-process__step{position:relative; z-index:1; padding:var(--sp-2); background:var(--c-bg); }
.c-process__num{display:block; color:var(--c-accent); margin-bottom:.8rem;}
.c-process__icon{font-size:1.8rem; color:var(--c-walnut); margin-bottom:.8rem; display:block;}
.c-process__step h3{font-size:1.15rem; margin-bottom:.4rem;}
.c-process__step p{font-size:.92rem;}
@media(max-width:900px){
  .c-process{grid-template-columns:1fr; gap:var(--sp-4);}
  .c-process::before{display:none;}
}


.s-gallery{padding:var(--sp-5) 0; background:var(--c-bg-alt); border-top:1px solid var(--c-line); border-bottom:1px solid var(--c-line);}
.s-gallery__heading{font-size:clamp(1.8rem, 3vw, 2.6rem); margin-top:var(--sp-2);}
.c-gallery{display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-top:var(--sp-4);}
.c-gallery__item{border-radius:var(--r-md); overflow:hidden; box-shadow:var(--shadow-sm); display:block; position:relative;}
.c-gallery__item img{width:100%; height:220px; object-fit:cover; transition:transform .5s ease, filter .5s ease;}
.c-gallery__item:hover img{transform:scale(1.08); filter:brightness(0.92);}
@media(max-width:900px){.c-gallery{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.c-gallery{grid-template-columns:1fr;}}


.s-calculator{padding:var(--sp-6) 0;}
.c-calc{display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-5); align-items:start;}
.c-calc__intro h2{font-size:clamp(1.8rem, 3vw, 2.5rem);}
.c-calc__panel{
  background:var(--c-bg-card); border:1px solid var(--c-line); border-radius:var(--r-lg);
  padding:var(--sp-4); box-shadow:var(--shadow-md);
}
.c-calc__field{margin-bottom:var(--sp-2);}
.c-calc__field label{display:block; font-size:.85rem; font-weight:500; margin-bottom:.4rem; color:var(--c-ink-soft);}
.c-calc__field input, .c-calc__field select{
  width:100%; padding:.8rem 1rem; border:1.5px solid var(--c-line-strong); border-radius:var(--r-sm);
  background:var(--c-bg); color:var(--c-ink); transition:border-color .3s ease, box-shadow .3s ease;
}
.c-calc__field input:focus, .c-calc__field select:focus{outline:none; border-color:var(--c-accent); box-shadow:0 0 0 3px var(--c-accent-soft);}
.c-calc__result{margin-top:var(--sp-3); padding:var(--sp-3); border-radius:var(--r-md); background:var(--c-bg-alt); border:1px dashed var(--c-line-strong);}
.c-calc__value{font-size:1.6rem; font-weight:700; color:var(--c-accent-dark); margin:.4rem 0;}
[data-theme="dark"] .c-calc__value{color:var(--c-accent);}
.c-calc__disclaimer{font-size:.8rem; color:var(--c-ink-faint); margin:0;}
@media(max-width:900px){.c-calc{grid-template-columns:1fr;}}


.s-dual-cta{padding:var(--sp-6) 0;}
.c-dual{display:grid; grid-template-columns:1.1fr .9fr; gap:var(--sp-3);}
.c-dual__primary, .c-dual__secondary{padding:var(--sp-4); border-radius:var(--r-lg);}
.c-dual__primary{background:var(--c-ink); color:var(--c-bg); box-shadow:var(--shadow-lg);}
.c-dual__primary h3{color:var(--c-bg); font-size:1.8rem;}
.c-dual__primary p{color:var(--c-bg-alt); opacity:.85;}
.c-dual__primary .c-btn{background:var(--c-accent); color:#fff;}
.c-dual__primary .c-btn:hover{background:var(--c-accent-dark);}
.c-dual__secondary{background:var(--c-bg-card); border:1.5px dashed var(--c-line-strong);}
.c-dual__secondary h3{font-size:1.6rem;}
@media(max-width:900px){.c-dual{grid-template-columns:1fr;}}


.s-footer{background:var(--c-walnut); color:#f4ede2; margin-top:var(--sp-6); padding-bottom:5.5rem;}
[data-theme="dark"] .s-footer{background:#120f0b;}
.c-footer__cta{text-align:center; padding:var(--sp-6) var(--sp-3) var(--sp-5); border-bottom:1px solid rgba(255,255,255,0.15);}
.c-footer__eyebrow{color:var(--c-accent-soft); font-weight:600;}
.c-footer__headline{font-size:clamp(2rem, 5vw, 3.4rem); color:#fff; margin:.6rem 0 1rem;}
.c-footer__lead{color:rgba(244,237,226,0.8); max-width:560px; margin:0 auto var(--sp-3);}
.c-footer__grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:var(--sp-3); padding:var(--sp-5) var(--sp-3); border-bottom:1px solid rgba(255,255,255,0.15);}
.c-footer__col h4{color:var(--c-accent-soft); font-size:.75rem; margin-bottom:var(--sp-2);}
.c-footer__col a, .c-footer__col p{display:block; color:rgba(244,237,226,0.85); margin-bottom:.6rem; font-size:.92rem;}
.c-footer__col a:hover{color:#fff;}
.c-footer__brandcol p{max-width:280px;}
.c-footer__bottom{display:flex; justify-content:space-between; padding:var(--sp-3); color:rgba(244,237,226,0.6); font-size:.82rem; flex-wrap:wrap; gap:.5rem;}
@media(max-width:900px){.c-footer__grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.c-footer__grid{grid-template-columns:1fr;}}


.c-bottom-nav{
  display:flex; position:fixed; bottom:0; left:0; right:0; z-index:90;
  background:rgba(250,248,242,0.95); backdrop-filter:blur(16px);
  border-top:1px solid var(--c-line);
  padding:.4rem .2rem calc(.4rem + env(safe-area-inset-bottom));
  box-shadow:0 -4px 20px rgba(0,0,0,0.06);
}
[data-theme="dark"] .c-bottom-nav{background:rgba(23,20,16,0.95);}
.c-bottom-nav__item{
  flex:1; display:flex; flex-direction:column; align-items:center; gap:.2rem;
  color:var(--c-ink-soft); font-size:.65rem; padding:.5rem 0; min-height:48px;
  border-radius:var(--r-sm); transition:color .25s ease, background .25s ease;
}
.c-bottom-nav__item i{font-size:1.15rem;}
.c-bottom-nav__item:hover, .c-bottom-nav__item.is-active{color:var(--c-accent); background:var(--c-accent-soft);}
@media(min-width:900px){.c-bottom-nav{display:none;}}


.c-sheet{position:fixed; inset:0; z-index:200; visibility:hidden; pointer-events:none;}
.c-sheet.is-active{visibility:visible; pointer-events:auto;}
.c-sheet__backdrop{position:absolute; inset:0; background:rgba(20,17,12,0.5); opacity:0; transition:opacity .35s ease;}
.c-sheet.is-active .c-sheet__backdrop{opacity:1;}
.c-sheet__panel{
  position:absolute; left:0; right:0; bottom:0;
  background:var(--c-bg-card); border-radius:var(--r-xl) var(--r-xl) 0 0;
  padding:1rem 1.5rem calc(2rem + env(safe-area-inset-bottom));
  transform:translateY(100%); transition:transform .4s cubic-bezier(.2,.8,.2,1);
  box-shadow:0 -20px 50px rgba(0,0,0,0.25);
  max-height:80vh; overflow-y:auto;
}
.c-sheet.is-active .c-sheet__panel{transform:translateY(0);}
.c-sheet__handle{width:44px; height:5px; border-radius:99px; background:var(--c-line-strong); margin:0 auto var(--sp-2);}
.c-sheet__title{color:var(--c-ink-faint); margin-bottom:var(--sp-2);}
.c-sheet__link{
  display:flex; align-items:center; gap:.9rem; padding:1rem .3rem; font-size:1.02rem; font-weight:500;
  border-bottom:1px solid var(--c-line); width:100%; text-align:left; min-height:48px;
}
.c-sheet__link i{width:20px; color:var(--c-accent);}
.c-sheet__link:last-child{border-bottom:none;}

@media(min-width:900px){.c-sheet{display:none;}}


.c-modal{position:fixed; inset:0; z-index:300; display:flex; align-items:center; justify-content:center; visibility:hidden; pointer-events:none; padding:1rem;}
.c-modal.is-active{visibility:visible; pointer-events:auto;}
.c-modal__backdrop{position:absolute; inset:0; background:rgba(20,17,12,0.55); opacity:0; transition:opacity .35s ease;}
.c-modal.is-active .c-modal__backdrop{opacity:1;}
.c-modal__panel{
  position:relative; background:var(--c-bg-card); border-radius:var(--r-lg);
  max-width:560px; width:100%; padding:var(--sp-4);
  box-shadow:var(--shadow-lg); transform:scale(.92) translateY(20px); opacity:0;
  transition:transform .4s cubic-bezier(.2,.8,.2,1), opacity .4s ease;
  max-height:88vh; overflow-y:auto;
}
.c-modal.is-active .c-modal__panel{transform:scale(1) translateY(0); opacity:1;}
.c-modal__title{font-size:1.5rem;}
.c-modal__text{font-size:.92rem; margin-bottom:var(--sp-3);}
.c-modal__categories{display:flex; flex-direction:column; gap:.8rem; margin-bottom:var(--sp-3);}
.c-modal__cat{display:flex; gap:.8rem; align-items:flex-start; font-size:.85rem; padding:.7rem; border:1px solid var(--c-line); border-radius:var(--r-sm);}
.c-modal__cat input{margin-top:.3rem; width:18px; height:18px;}
.c-modal__actions{display:flex; flex-wrap:wrap; gap:.7rem;}
.c-modal__actions .c-btn{flex:1; justify-content:center;}


.s-page-hero{padding:calc(var(--sp-7) + 2rem) 0 var(--sp-5);}
.s-page-hero__title{font-size:clamp(2.4rem, 6vw, 4rem); max-width:820px;}
.s-page-hero__lead{font-size:1.15rem; max-width:640px;}


.s-story{padding:var(--sp-5) 0;}
.s-story__grid{display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-5); align-items:center;}
.s-story--reverse .s-story__grid{grid-template-columns:1fr 1fr;}
.s-story--reverse .s-story__grid img{order:-1;}
.s-story__text h2{font-size:clamp(1.7rem, 3vw, 2.4rem);}
.s-story__img{border-radius:var(--r-lg); box-shadow:var(--shadow-md); object-fit:cover; width:100%; height:100%; max-height:420px;}
@media(max-width:900px){
  .s-story__grid{grid-template-columns:1fr;}
  .s-story--reverse .s-story__grid img{order:0;}
}

.s-pullquote{padding:var(--sp-5) 0; background:var(--c-ink); }
.s-pullquote__text{color:#fff; font-size:clamp(1.6rem, 3.5vw, 2.6rem); font-weight:600; text-align:center; max-width:900px; margin:0 auto; line-height:1.3;}

.s-values{padding:var(--sp-6) 0;}
.c-values-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:var(--sp-3); margin-top:var(--sp-4);}
.c-values-item{padding:var(--sp-3); border:1px solid var(--c-line); border-radius:var(--r-md); transition:box-shadow .3s ease, transform .3s ease;}
.c-values-item:hover{box-shadow:var(--shadow-md); transform:translateY(-4px);}
.c-values-item i{color:var(--c-accent); font-size:1.6rem; margin-bottom:.8rem; display:block;}
.c-values-item h3{font-size:1.05rem;}
.c-values-item p{font-size:.9rem;}
@media(max-width:900px){.c-values-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.c-values-grid{grid-template-columns:1fr;}}


.s-packages{padding:var(--sp-5) 0 var(--sp-6);}
.c-package-list{margin-top:var(--sp-2); list-style:none;}
.c-package-list li{position:relative; padding-left:1.4rem; margin-bottom:.5rem; font-size:.92rem; color:var(--c-ink-soft);}
.c-package-list li::before{content:'—'; position:absolute; left:0; color:var(--c-accent);}
.s-gift-explain{padding:var(--sp-5) 0; background:var(--c-bg-alt); border-top:1px solid var(--c-line); border-bottom:1px solid var(--c-line);}
.s-gift-explain__grid{display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-5);}
@media(max-width:900px){.s-gift-explain__grid{grid-template-columns:1fr;}}


.s-contact{padding:var(--sp-4) 0 var(--sp-6);}
.s-contact__grid{display:grid; grid-template-columns:1.3fr .9fr; gap:var(--sp-5); align-items:start;}
.c-contact-info{background:var(--c-bg-card); border:1px solid var(--c-line); border-radius:var(--r-lg); padding:var(--sp-3); box-shadow:var(--shadow-sm);}
.c-contact-info__item{display:flex; gap:1rem; margin-bottom:var(--sp-3); align-items:flex-start;}
.c-contact-info__item i{color:var(--c-accent); font-size:1.2rem; width:24px; margin-top:.2rem;}
.c-contact-info__item h4{font-size:.95rem; margin-bottom:.2rem;}
.c-contact-info__item p, .c-contact-info__item a{font-size:.9rem;}
.c-map{margin-top:var(--sp-3); border-radius:var(--r-md); overflow:hidden; border:1px solid var(--c-line);}
@media(max-width:900px){.s-contact__grid{grid-template-columns:1fr;}}


.c-chat-wrap{background:var(--c-bg-card); border:1px solid var(--c-line); border-radius:var(--r-lg); padding:var(--sp-4); box-shadow:var(--shadow-md);}
.c-chat{display:flex; flex-direction:column; gap:.9rem;}
.c-chat__bubble{max-width:85%; padding:.9rem 1.1rem; border-radius:var(--r-md); font-size:.95rem;}
.c-chat__bubble--in{align-self:flex-start; background:var(--c-bg-alt); border-bottom-left-radius:4px;}
.c-chat__bubble--in p{margin:0; color:var(--c-ink);}
.c-chat__bubble--out{align-self:flex-end; background:var(--c-accent-soft); border-bottom-right-radius:4px; width:85%;}
[data-theme="dark"] .c-chat__bubble--out{background:var(--c-accent-soft); color:#1c1913;}
.c-chat__bubble--out input, .c-chat__bubble--out textarea{
  width:100%; border:none; background:transparent; padding:.2rem; color:#1c1913; resize:none;
}
.c-chat__bubble--out input:focus, .c-chat__bubble--out textarea:focus{outline:none;}
.c-chat__bubble--out input::placeholder, .c-chat__bubble--out textarea::placeholder{color:rgba(28,25,19,0.5);}
.c-chat__bubble--check label{display:flex; gap:.6rem; align-items:flex-start; font-size:.85rem; color:#1c1913;}
.c-chat__bubble--check input{width:18px; height:18px; flex-shrink:0;}
.c-chat__send{
  align-self:flex-end; background:var(--c-ink); color:var(--c-bg); padding:.9rem 1.6rem; border-radius:99px;
  display:flex; align-items:center; gap:.6rem; font-weight:600; box-shadow:var(--shadow-sm);
  transition:transform .3s ease, background .3s ease;
}
.c-chat__send:hover{transform:translateY(-3px); background:var(--c-accent);}
.c-chat__error{color:#b3261e; font-size:.85rem; text-align:right;}


.s-team{padding:var(--sp-5) 0 var(--sp-6);}
.s-team__grid{display:grid; grid-template-columns:.8fr 1.2fr; gap:var(--sp-5); align-items:center;}
.s-team__img{border-radius:var(--r-lg); box-shadow:var(--shadow-md); object-fit:cover; max-height:420px;}
.s-team__text h2{font-size:clamp(1.6rem, 3vw, 2.2rem);}
@media(max-width:900px){.s-team__grid{grid-template-columns:1fr;}}


.s-legal{padding:calc(var(--sp-7) + 1rem) 0 var(--sp-6);}
.c-legal{max-width:800px;}
.c-legal h1{font-size:clamp(2rem, 4vw, 3rem); margin-bottom:.3rem;}
.c-legal__updated{color:var(--c-ink-faint); font-size:.9rem; margin-bottom:var(--sp-4);}
.c-legal h2{font-size:1.3rem; margin-top:var(--sp-4); margin-bottom:.6rem;}
.c-legal p{margin-bottom:var(--sp-2);}
.c-legal strong{color:var(--c-ink);}


.s-thanks{padding:calc(var(--sp-7) + 1rem) 0 var(--sp-6);}
.s-thanks__inner{max-width:640px;}
.s-thanks h1{font-size:clamp(2rem, 4vw, 2.8rem);}
.s-thanks__lead{margin-bottom:var(--sp-3);}
.c-timeline{margin-top:var(--sp-5); display:flex; flex-direction:column; gap:0;}
.c-timeline__item{display:flex; gap:1.2rem; position:relative; padding-bottom:var(--sp-4);}
.c-timeline__item:last-child{padding-bottom:0;}
.c-timeline__item::before{
  content:''; position:absolute; left:22px; top:48px; bottom:0; width:2px; background:var(--c-line-strong);
}
.c-timeline__item:last-child::before{display:none;}
.c-timeline__icon{
  width:46px; height:46px; border-radius:50%; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  background:var(--c-bg-alt); color:var(--c-ink-faint); font-size:1.1rem; border:2px solid var(--c-line-strong);
}
.c-timeline__item.is-done .c-timeline__icon{background:var(--c-accent-soft); color:var(--c-accent-dark); border-color:var(--c-accent);}
.c-timeline__item.is-current .c-timeline__icon{background:var(--c-accent); color:#fff;}
.c-timeline__item h3{font-size:1.1rem; margin-bottom:.2rem;}
.c-timeline__item p{font-size:.9rem; color:var(--c-ink-faint);}
.c-timeline__item.is-done p{color:var(--c-ink-soft);}