
:root{
  --cream:#fff8f2;
  --ink:#2f2740;
  --muted:#6f6880;
  --gold:#b98a48;
  --line:rgba(47,39,64,.12);
  --shadow:0 20px 60px rgba(67,44,80,.12);
  --radius:28px;
  --pink:#ff7eb6;
  --peach:#ffb38a;
  --golden:#ffd36e;
  --mint:#7be0c7;
  --sky:#7fc7ff;
  --lav:#b59cff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Manrope,Arial,sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at 10% 10%, rgba(255,126,182,.22), transparent 18%),
    radial-gradient(circle at 25% 30%, rgba(255,211,110,.18), transparent 20%),
    radial-gradient(circle at 75% 15%, rgba(127,199,255,.22), transparent 18%),
    radial-gradient(circle at 85% 38%, rgba(123,224,199,.20), transparent 16%),
    radial-gradient(circle at 55% 80%, rgba(181,156,255,.18), transparent 20%),
    linear-gradient(180deg,#fffaf5 0%,#fff4fb 100%);
  line-height:1.65;
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.wrap{width:min(1180px, calc(100% - 28px)); margin:0 auto}
.topbar{
  position:sticky; top:0; z-index:100;
  background:rgba(255,248,242,.78);
  backdrop-filter:blur(18px);
  border-bottom:1px solid var(--line);
}
.nav{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 0;flex-wrap:wrap}
.brand{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:2.25rem; font-weight:700; letter-spacing:.04em; color:var(--ink);
}
.brand span{
  background:linear-gradient(90deg,var(--pink),var(--peach),var(--golden),var(--mint),var(--sky),var(--lav));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.nav-links{display:flex;gap:18px;flex-wrap:wrap;color:#5f5970;font-size:.96rem}
.nav-links a:hover{color:var(--ink)}

.hero{padding:78px 0 94px}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:26px;align-items:stretch}
.hero-copy,.hero-image,.mini-panel,.panel,.feature-card,.board-card,.gallery-card,.pricing-card,.faq-item,.contact-card,.team-card,.callout,.review-card,.stat{
  background:rgba(255,255,255,.58);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  backdrop-filter:blur(10px);
}
.hero-copy{
  padding:48px; position:relative; overflow:hidden;
  background:
    radial-gradient(circle at top right, rgba(255,126,182,.16), transparent 22%),
    radial-gradient(circle at bottom left, rgba(123,224,199,.16), transparent 25%),
    rgba(255,255,255,.6);
}
.swirl{
  position:absolute; inset:auto -30px -40px auto; width:210px; height:210px; border-radius:50%;
  background:conic-gradient(from 180deg, rgba(255,126,182,.0), rgba(255,126,182,.28), rgba(255,211,110,.28), rgba(123,224,199,.24), rgba(181,156,255,.26), rgba(255,126,182,.0));
  filter:blur(10px);
}
.eyebrow{
  display:inline-block; text-transform:uppercase; letter-spacing:.18em;
  font-size:.74rem; color:#766e86; margin-bottom:14px;
}
h1,h2,h3,h4{
  font-family:"Cormorant Garamond",Georgia,serif;
  margin:0; line-height:.95; color:var(--ink);
}
h1{font-size:clamp(3.5rem, 8vw, 6.7rem); margin-bottom:18px}
h2{font-size:clamp(2.5rem, 6vw, 4.3rem); margin-bottom:12px}
h3{font-size:2rem; margin-bottom:10px}
p,.section-copy,.muted{color:var(--muted)}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:14px 22px;border-radius:999px;font-weight:800;transition:.22s ease;border:1px solid transparent
}
.btn-primary{
  background:linear-gradient(90deg,var(--pink),var(--peach),var(--golden),var(--mint),var(--sky),var(--lav));
  color:#2b2238;
}
.btn-primary:hover{transform:translateY(-2px); filter:saturate(1.04)}
.btn-secondary{
  background:rgba(255,255,255,.45); border-color:rgba(47,39,64,.14); color:var(--ink)
}
.btn-secondary:hover{transform:translateY(-2px); background:rgba(255,255,255,.68)}

.hero-badges{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}
.badge{
  border-radius:20px; padding:14px; border:1px solid var(--line);
  background:
    linear-gradient(135deg, rgba(255,126,182,.14), rgba(255,211,110,.14), rgba(123,224,199,.12), rgba(181,156,255,.12));
}
.badge strong{display:block;color:var(--ink);margin-bottom:4px}
.badge span{font-size:.88rem;color:#6d6780}

.hero-visual{display:grid;grid-template-rows:1.18fr .82fr;gap:18px}
.hero-image{overflow:hidden}
.hero-image img{width:100%;height:100%;min-height:450px;object-fit:cover}
.mini-panel{display:grid;grid-template-columns:1fr 1fr;overflow:hidden}
.mini-panel .text{
  padding:24px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.55), rgba(255,255,255,.4)),
    linear-gradient(90deg, rgba(255,126,182,.14), rgba(255,211,110,.14), rgba(123,224,199,.12), rgba(181,156,255,.12));
  display:flex; flex-direction:column; justify-content:center;
}
.mini-panel .text p{margin:.5rem 0 0}
.mini-panel img{width:100%;height:100%;min-height:220px;object-fit:cover}

.section{padding:28px 0 86px}
.section-heading{text-align:center;max-width:820px;margin:0 auto 34px}
.section-heading p{margin:0}
.grid-3,.pricing-grid,.gallery-grid,.contact-grid,.team-grid,.reviews-grid,.stats-grid{display:grid;gap:22px}
.grid-3,.stats-grid{grid-template-columns:repeat(3,1fr)}
.board-card,.pricing-card,.team-card,.gallery-card,.review-card{overflow:hidden}
.board-card img,.gallery-card img{width:100%;height:280px;object-fit:cover}
.board-body,.gallery-caption,.team-body,.review-body{padding:22px}
.tag{
  display:inline-block; padding:7px 12px; border-radius:999px;
  background:linear-gradient(90deg, rgba(255,126,182,.18), rgba(255,211,110,.18), rgba(123,224,199,.16), rgba(181,156,255,.18));
  color:#5a4b72; font-size:.8rem; font-weight:800; margin-right:8px; margin-top:4px;
}
.split{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
.panel,.contact-card{padding:30px}
.feature-list,.contact-list,.faq-list{display:grid;gap:14px}
.feature-card{
  padding:18px; box-shadow:none;
  background:linear-gradient(135deg, rgba(255,126,182,.12), rgba(255,211,110,.12), rgba(123,224,199,.10), rgba(181,156,255,.10));
}
.feature-card strong{display:block;color:var(--ink);margin-bottom:4px}
.feature-card span{color:#6a647a}
.pricing-grid{grid-template-columns:repeat(3,1fr)}
.pricing-card{
  padding:26px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.52)),
    linear-gradient(135deg, rgba(255,126,182,.10), rgba(255,211,110,.08), rgba(123,224,199,.08), rgba(181,156,255,.10));
}
.price{
  font-family:"Cormorant Garamond",Georgia,serif;
  background:linear-gradient(90deg,var(--pink),var(--golden),var(--mint),var(--lav));
  -webkit-background-clip:text; background-clip:text; color:transparent;
  font-size:3rem; margin:.3rem 0 1rem
}
.pricing-card ul{padding-left:18px;color:var(--muted);margin:0 0 20px}
.pricing-card li{margin-bottom:8px}
.gallery-grid{grid-template-columns:repeat(3,1fr)}
.gallery-caption{color:var(--muted)}
.stats-grid .stat{padding:22px}
.stat strong{
  display:block;font-size:2.2rem;
  background:linear-gradient(90deg,var(--pink),var(--golden),var(--mint),var(--lav));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.stat span{color:var(--muted)}
.reviews-grid{grid-template-columns:repeat(3,1fr)}
.review-card{padding:24px}
.review-card p{font-size:1rem}
.review-card strong{display:block;color:var(--ink);margin-top:12px}
.team-grid{grid-template-columns:repeat(2,1fr)}
.team-card .placeholder{
  width:100%; height:360px; display:flex; align-items:center; justify-content:center;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,126,182,.35), transparent 25%),
    radial-gradient(circle at 80% 20%, rgba(255,211,110,.35), transparent 25%),
    radial-gradient(circle at 20% 80%, rgba(123,224,199,.35), transparent 25%),
    radial-gradient(circle at 80% 80%, rgba(181,156,255,.35), transparent 25%),
    linear-gradient(135deg,#fff3f9,#fff9f0);
  color:#6f6782; font-weight:700; letter-spacing:.06em
}
.faq-item{padding:22px}
.faq-item h3{font-size:1.65rem}
.contact-grid{grid-template-columns:.95fr 1.05fr}
form{display:grid;gap:12px;margin-top:18px}
.row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
input,textarea,select{
  width:100%; padding:14px 16px; border-radius:16px; border:1px solid rgba(36,56,45,.12);
  background:rgba(255,255,255,.72); font:inherit; color:var(--text);
}
textarea{min-height:140px; resize:vertical}
.form-note{font-size:.88rem;color:#7b857b;margin-top:10px}
.callout{
  padding:34px; text-align:center;
  background:
    linear-gradient(135deg, rgba(255,126,182,.12), rgba(255,211,110,.12), rgba(123,224,199,.12), rgba(181,156,255,.12));
}
.footer{
  padding:34px 0 46px; text-align:center; color:#7b857c;
  border-top:1px solid var(--line); background:rgba(255,255,255,.28);
}
.footer-links{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:10px}
@media (max-width:950px){
  .hero-grid,.grid-3,.split,.pricing-grid,.gallery-grid,.contact-grid,.hero-badges,.row-2,.team-grid,.reviews-grid,.stats-grid{grid-template-columns:1fr}
  .hero-visual{grid-template-rows:auto}
  .mini-panel{grid-template-columns:1fr}
  .hero-copy,.panel,.contact-card{padding:26px}
  .nav-links{width:100%;justify-content:flex-start}
}
