:root{
  --navy:#14233c;
  --navy-2:#0b3158;
  --blue:#007fbd;
  --cyan:#09b8c8;
  --green:#24a94b;
  --yellow:#f3d91d;
  --white:#fff;
  --text:#17243a;
  --muted:#66758b;
  --bg:#f5f8fb;
  --card:#fff;
  --shadow:0 22px 60px rgba(10,35,65,.14);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}
button,input{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}

.page-shell{overflow:hidden}
.hero{min-height:650px;padding:70px max(24px,calc((100vw - 1180px)/2));display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;position:relative;background:linear-gradient(135deg,#113355 0%,#008fc0 58%,#09b7c7 100%);color:#fff}
.hero::after{content:"";position:absolute;inset:auto -8% -140px -8%;height:270px;background:var(--bg);border-radius:50% 50% 0 0 / 28% 28% 0 0;pointer-events:none}
.hero-copy{position:relative;z-index:2;max-width:650px}
.eyebrow{display:inline-block;font-size:.82rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--yellow);margin-bottom:12px}
.hero h1{font-size:clamp(2.65rem,5vw,5.2rem);line-height:.94;margin:0 0 22px;font-weight:800;letter-spacing:-.045em}
.hero h1 strong{font-weight:950}
.hero p{font-size:1.13rem;line-height:1.65;max-width:610px;margin:0 0 30px;color:rgba(255,255,255,.91)}
.hero-cta{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 26px;border-radius:14px;background:var(--yellow);color:#10223a;text-decoration:none;font-weight:950;box-shadow:0 12px 30px rgba(0,0,0,.18);transition:.2s ease}
.hero-cta:hover{transform:translateY(-2px)}
.hero-frame{position:relative;z-index:2;display:flex;justify-content:center;align-items:center}
.hero-frame img{width:min(520px,100%);height:auto;display:block;border-radius:28px;filter:drop-shadow(0 28px 28px rgba(0,0,0,.22))}

.creator{position:relative;z-index:3;width:min(1180px,calc(100% - 32px));margin:-10px auto 0;padding:70px 0 30px}
.section-heading{text-align:center;max-width:720px;margin:0 auto 36px}
.section-heading .eyebrow{color:var(--blue)}
.section-heading h2{margin:0;font-size:clamp(2rem,4vw,3.6rem);letter-spacing:-.04em;color:var(--navy)}
.section-heading p{margin:13px 0 0;color:var(--muted);font-size:1.05rem;line-height:1.6}

.creator-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.7fr);gap:32px;align-items:center}
.preview-card,.controls-card{background:var(--card);border-radius:26px;box-shadow:var(--shadow)}
.preview-card{padding:20px}
.controls-card{padding:28px}
.canvas-wrap{position:relative;aspect-ratio:1/1;width:100%;overflow:hidden;border-radius:22px;background:radial-gradient(circle at 50% 32%,#e6f5fa,#dbe7ef);touch-action:none;user-select:none}
#canvas{display:block;width:100%;height:100%;touch-action:none}
.pick-overlay{position:absolute;inset:0;border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#1b3551;font-weight:900;cursor:pointer}
.pick-overlay .plus{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:#fff;border:2px dashed #0f8fc2;font-size:2.3rem;line-height:1;color:#0f8fc2;box-shadow:0 12px 28px rgba(12,95,135,.15)}
.drag-hint{text-align:center;color:var(--muted);font-size:.9rem;margin:14px 0 0}

.btn{width:100%;min-height:54px;border:0;border-radius:14px;padding:0 20px;font-weight:950;cursor:pointer;transition:.2s ease}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;box-shadow:0 10px 24px rgba(0,140,190,.22)}
.btn-secondary{background:#edf3f7;color:var(--navy)}
.btn-share{margin-top:12px;background:var(--yellow);color:#12253e}
.button-row{display:grid;grid-template-columns:.85fr 1.15fr;gap:10px;margin-top:14px}
.zoom-control{margin:24px 0 4px}
.zoom-control label{display:block;font-weight:850;color:var(--navy);margin-bottom:10px}
.zoom-control input{width:100%;accent-color:var(--blue)}
.mobile-save-help{margin-top:16px;padding:16px 18px;border-radius:16px;background:#fff8cf;color:#4e4a2d;line-height:1.5;font-size:.92rem}
.mobile-save-help strong{color:var(--navy)}
.mobile-save-help p{margin:6px 0 0}
.tips{margin-top:16px;padding:18px;border-radius:16px;background:#f2f7fa;color:var(--muted);line-height:1.5;font-size:.92rem}
.tips strong{color:var(--navy)}
.tips p{margin:6px 0 0}

.steps{width:min(1180px,calc(100% - 32px));margin:18px auto 70px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.step{background:#fff;border-radius:20px;padding:24px;box-shadow:0 14px 36px rgba(15,45,76,.08)}
.step span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--navy);color:#fff;font-weight:950;margin-bottom:16px}
.step strong{display:block;color:var(--navy);font-size:1.05rem}
.step p{margin:8px 0 0;color:var(--muted);line-height:1.5;font-size:.94rem}

.site-footer{background:var(--navy);color:rgba(255,255,255,.8);text-align:center;padding:28px 18px;font-size:.78rem;font-weight:800;letter-spacing:.08em}

@media(max-width:860px){
  .hero{min-height:auto;padding:54px 22px 145px;grid-template-columns:1fr;text-align:center;gap:26px}
  .hero-copy{margin:0 auto}
  .hero p{margin-left:auto;margin-right:auto}
  .hero-frame img{width:min(390px,92vw)}
  .creator{margin-top:-30px;padding-top:35px}
  .creator-grid{grid-template-columns:1fr;max-width:650px;margin:0 auto}
  .controls-card{order:2}
  .steps{grid-template-columns:1fr;max-width:650px}
}

@media(max-width:520px){
  .hero{padding:38px 16px 135px}
  .hero h1{font-size:2.55rem}
  .hero p{font-size:1rem}
  .hero-cta{width:100%}
  .creator{width:min(100% - 20px,1180px)}
  .preview-card{padding:10px;border-radius:20px}
  .canvas-wrap{border-radius:16px}
  .controls-card{padding:20px;border-radius:20px}
  .button-row{grid-template-columns:1fr}
  .steps{width:min(100% - 20px,1180px)}
}
