:root{
  --h: 286;
  --bg: hsl(var(--h) 30% 98%);
  --ink: hsl(var(--h) 40% 14%);
  --sub: hsl(var(--h) 20% 38%);
  --line: hsl(var(--h) 35% 78%);
  --accent: hsl(var(--h) 65% 45%);
  --accent-dark: hsl(var(--h) 70% 32%);
  --panel: hsl(var(--h) 40% 96%);
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:"Gothic A1","Apple SD Gothic Neo",sans-serif;
  background:var(--bg);
  color:var(--ink);
  line-height:1.7;
  word-break:keep-all;
}
img{max-width:100%;}

.wrap{
  max-width:902px;
  margin-inline:auto;
  padding-inline:20px;
}

/* Header H7: box border wrap */
header{
  border:6px solid var(--accent-dark);
  margin:16px;
  padding:18px 0;
  background:hsl(var(--h) 45% 97%);
}
header .wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
}
.logo{
  font-weight:900;
  font-size:1.4rem;
  color:var(--accent-dark);
  letter-spacing:-0.02em;
}
header nav ul{
  list-style:none;
  display:flex;
  gap:22px;
  margin:0;
  padding:0;
}
header nav a{
  color:var(--ink);
  text-decoration:none;
  font-weight:700;
  padding:6px 10px;
  border:2px solid transparent;
  transition:border-color .15s ease, color .15s ease;
}
header nav a:hover{
  border-color:var(--accent);
  color:var(--accent-dark);
}

/* Hero V2: 중앙 대형 타이포, 사진 없이 그라디언트/도형 */
.hero{
  position:relative;
  overflow:hidden;
  padding:88px 20px 96px;
  text-align:center;
  background:
    radial-gradient(circle at 20% 20%, hsl(var(--h) 70% 88%) 0%, transparent 45%),
    radial-gradient(circle at 80% 15%, hsl(var(--h) 60% 82%) 0%, transparent 50%),
    radial-gradient(circle at 50% 100%, hsl(var(--h) 55% 90%) 0%, transparent 60%),
    linear-gradient(160deg, hsl(var(--h) 45% 94%) 0%, hsl(var(--h) 35% 88%) 100%);
}
.hero::before{
  content:"";
  position:absolute;
  top:-60px;
  left:50%;
  transform:translateX(-50%);
  width:520px;
  height:520px;
  border-radius:50%;
  background:hsl(var(--h) 70% 92%);
  opacity:.5;
  z-index:0;
}
.hero .inner{
  position:relative;
  z-index:1;
  max-width:902px;
  margin-inline:auto;
}
.hero h1{
  font-size:clamp(2.4rem, 6vw, 4.2rem);
  font-weight:900;
  margin:0 0 22px;
  letter-spacing:-0.03em;
  color:var(--accent-dark);
  text-shadow:0 2px 0 hsl(var(--h) 30% 100% / .6);
}
.hero p{
  font-size:1.08rem;
  color:var(--sub);
  max-width:640px;
  margin:0 auto 8px;
}
.hero .tag{
  display:inline-block;
  margin-top:20px;
  padding:8px 18px;
  border:2px solid var(--accent-dark);
  border-radius:999px;
  font-weight:700;
  font-size:.9rem;
  color:var(--accent-dark);
  background:hsl(var(--h) 40% 97%);
}

/* Main */
main{padding:56px 0 20px;}
main .wrap > section{margin-bottom:44px;}
main h2{
  font-size:1.35rem;
  font-weight:900;
  color:var(--accent-dark);
  border-left:6px solid var(--accent);
  padding-left:14px;
  margin:0 0 14px;
}
main p{
  margin:0 0 12px;
  color:var(--ink);
  font-size:1rem;
}
main section{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:10px;
  padding:26px 26px;
}

/* Image block */
.ph{margin:48px 0;}
.ph-row{display:flex;flex-wrap:nowrap;justify-content:center;align-items:flex-start;gap:16px;max-width:900px;margin-inline:auto;}
.ph-row img{flex:1 1 0;min-width:0;width:100%;height:auto;display:block;border:1px solid var(--line);border-radius:8px;}
@media (max-width:600px){.ph-row{gap:10px;}}

/* CTA C3: 좌우 분할 */
.cta{
  background:linear-gradient(135deg, hsl(var(--h) 55% 30%), hsl(var(--h) 60% 18%));
  color:hsl(var(--h) 20% 97%);
  margin:40px 16px;
  border-radius:14px;
  overflow:hidden;
}
.cta .split{
  max-width:902px;
  margin-inline:auto;
  display:flex;
  align-items:center;
  gap:24px;
  padding:40px 30px;
  flex-wrap:wrap;
}
.cta .left{flex:1 1 320px;}
.cta .right{flex:0 0 auto;display:flex;}
.cta h2{
  margin:0 0 8px;
  font-size:1.5rem;
  font-weight:900;
  color:hsl(var(--h) 20% 98%);
}
.cta p{
  margin:0;
  color:hsl(var(--h) 25% 88%);
  font-size:.98rem;
}
.cta a.btn{
  display:inline-block;
  text-decoration:none;
  font-weight:900;
  font-size:1.05rem;
  color:var(--accent-dark);
  background:hsl(var(--h) 20% 97%);
  padding:16px 30px;
  border-radius:8px;
  border:2px solid transparent;
  transition:transform .15s ease, box-shadow .15s ease;
}
.cta a.btn:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 18px hsl(var(--h) 60% 10% / .35);
}

/* Footer F3: horizontal row */
footer{
  border-top:4px solid var(--line);
  background:hsl(var(--h) 30% 95%);
  margin-top:40px;
  padding:14px 0;
}
footer .wrap{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:6px 20px;
  font-size:.9rem;
  color:var(--sub);
}
footer p{margin:0;}

/* Responsive breakpoints */
@media (max-width:1024px){
  .wrap{padding-inline:18px;}
  main section{padding:22px 20px;}
}
@media (max-width:768px){
  header .wrap{flex-direction:column;align-items:flex-start;}
  header nav ul{gap:14px;flex-wrap:wrap;}
  .hero{padding:64px 16px 72px;}
  .cta .split{flex-direction:column;align-items:flex-start;}
  .cta .right{width:100%;}
  .cta a.btn{width:100%;text-align:center;}
}
@media (max-width:480px){
  .hero h1{font-size:2rem;}
  .logo{font-size:1.15rem;}
  main section{padding:18px 16px;}
}
