:root {
  --navy: #082b62;
  --blue: #1268df;
  --blue-soft: #eaf2ff;
  --red: #f51b3b;
  --text: #10213d;
  --muted: #5d6b80;
  --line: #dce4ef;
  --white: #ffffff;
  --light: #f6f9fd;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  color: var(--text);
  background: var(--white);
  line-height: 1.6;
}
a { color: inherit; }
.container { width: min(1120px, calc(100% - 40px)); margin: 0 auto; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(220,228,239,.8);
}
.nav {
  min-height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.brand img { width: 190px; height: auto; display: block; }
nav { display: flex; gap: 28px; }
nav a { text-decoration: none; font-weight: 600; font-size: .95rem; }
nav a:hover { color: var(--blue); }

.hero {
  padding: 92px 0 100px;
  background:
    radial-gradient(circle at 85% 20%, rgba(18,104,223,.13), transparent 32%),
    linear-gradient(180deg, #fff 0%, #f7faff 100%);
}
.hero-grid {
  display: grid;
  grid-template-columns: 1.12fr .88fr;
  gap: 70px;
  align-items: center;
}
.eyebrow {
  margin: 0 0 12px;
  color: var(--blue);
  font-weight: 800;
  letter-spacing: .16em;
  font-size: .78rem;
}
h1, h2 { line-height: 1.08; margin: 0; letter-spacing: -.035em; }
h1 { font-size: clamp(3rem, 6vw, 5.2rem); max-width: 800px; }
h2 { font-size: clamp(2rem, 4vw, 3.2rem); }
.lead {
  font-size: 1.22rem;
  color: var(--muted);
  max-width: 680px;
  margin: 28px 0 0;
}
.actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 34px; }
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 23px;
  border-radius: 9px;
  border: 1px solid transparent;
  font: inherit;
  font-weight: 750;
  text-decoration: none;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.button:hover { transform: translateY(-1px); }
.primary {
  background: var(--blue);
  color: white;
  box-shadow: 0 10px 24px rgba(18,104,223,.20);
}
.primary:hover { background: #0b59c4; }
.secondary {
  background: white;
  color: var(--navy);
  border-color: var(--line);
}
.hero-card {
  min-height: 390px;
  border-radius: 28px;
  padding: 12px;
  background: linear-gradient(145deg, var(--blue), #0a3b86);
  box-shadow: 0 30px 70px rgba(8,43,98,.18);
}
.hero-card-inner {
  height: 100%;
  min-height: 366px;
  border-radius: 20px;
  background: rgba(255,255,255,.97);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 42px;
}
.card-mark {
  width: 64px; height: 64px;
  display: grid; place-items: center;
  border-radius: 18px;
  background: var(--blue-soft);
  color: var(--blue);
  font-size: 1.7rem;
  font-weight: 900;
  margin-bottom: auto;
}
.hero-card h2 { font-size: 2.2rem; }
.hero-card p { color: var(--muted); margin-bottom: 0; }

.split-section { padding: 105px 0; }
.split-section.light { background: var(--light); }
.split-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 100px;
  align-items: start;
}
.split-grid > div:last-child { max-width: 610px; }
.split-grid p:not(.eyebrow) { color: var(--muted); font-size: 1.12rem; margin-top: 0; }
.text-link { color: var(--blue); text-decoration: none; font-weight: 800; }

.about { padding: 105px 0; }
.about-box {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 100px;
  align-items: start;
  border-top: 1px solid var(--line);
  padding-top: 55px;
}
.about-box > p { margin: 0; color: var(--muted); font-size: 1.12rem; }

.contact {
  padding: 105px 0;
  background: var(--navy);
  color: white;
}
.contact-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 90px;
}
.contact .eyebrow { color: #6ea6ff; }
.contact-intro { color: #c7d5e9; font-size: 1.1rem; max-width: 520px; margin-top: 25px; }
.contact-details { margin-top: 30px; display: grid; gap: 8px; }
.contact-details a { color: white; font-size: 1.15rem; font-weight: 750; text-decoration: none; }
.contact-details span { color: #aebed4; }

.contact-form {
  background: white;
  color: var(--text);
  padding: 34px;
  border-radius: 18px;
}
.contact-form label { display: grid; gap: 7px; font-weight: 700; margin-bottom: 17px; }
input, select, textarea {
  width: 100%;
  border: 1px solid #cfd9e7;
  border-radius: 8px;
  padding: 13px 14px;
  font: inherit;
  color: var(--text);
  background: white;
}
input:focus, select:focus, textarea:focus {
  outline: 3px solid rgba(18,104,223,.14);
  border-color: var(--blue);
}
textarea { resize: vertical; }
.form-note { color: var(--muted); font-size: .82rem; margin: 12px 0 0; }

footer { background: #061e45; color: #9fb1ca; }
.footer-inner {
  min-height: 72px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  font-size: .88rem;
}

@media (max-width: 820px) {
  .container { width: min(100% - 28px, 680px); }
  .nav { min-height: 70px; }
  .brand img { width: 155px; }
  nav { gap: 14px; }
  nav a:nth-child(1) { display: none; }
  .hero { padding: 65px 0 70px; }
  .hero-grid, .split-grid, .about-box, .contact-grid {
    grid-template-columns: 1fr;
    gap: 42px;
  }
  .hero-card { min-height: 300px; }
  .hero-card-inner { min-height: 276px; padding: 30px; }
  .split-section, .about, .contact { padding: 72px 0; }
  .about-box { padding-top: 35px; }
}

@media (max-width: 520px) {
  .nav nav a { font-size: .84rem; }
  h1 { font-size: 2.8rem; }
  .actions { display: grid; }
  .button { width: 100%; }
  .contact-form { padding: 23px; }
  .footer-inner { flex-direction: column; justify-content: center; padding: 18px 0; }
}


.lang {
  border: 1px solid var(--line);
  background: white;
  color: var(--navy);
  border-radius: 7px;
  padding: 7px 10px;
  font-weight: 800;
  cursor: pointer;
}
.lang:hover { color: var(--blue); border-color: var(--blue); }
.tagline {
  margin: 18px 0 0;
  color: var(--navy);
  font-weight: 800;
  font-size: 1.05rem;
}

.footer-link { color: inherit; text-decoration: none; }
.footer-link:hover { color: white; }
.privacy-hero {
  padding: 78px 0 42px;
  background: linear-gradient(180deg, #fff 0%, #f7faff 100%);
}
.privacy-title { font-size: clamp(2.7rem, 5vw, 4.7rem); }
.privacy-updated { color: var(--muted); margin: 18px 0 0; }
.privacy-content { padding: 62px 0 100px; }
.privacy-wrap { max-width: 850px; }
.privacy-wrap h2 {
  font-size: 1.55rem;
  margin: 42px 0 12px;
  letter-spacing: -.02em;
}
.privacy-wrap p, .privacy-wrap li { color: var(--muted); }
.privacy-wrap a { color: var(--blue); }
.privacy-wrap ul { padding-left: 22px; }

.page-hero {
  padding: 92px 0 72px;
  background: linear-gradient(180deg, #fff 0%, #f7faff 100%);
}
.narrow { max-width: 880px; }
.page-hero h1 { font-size: clamp(3rem, 6vw, 5rem); }
.cards-section { padding: 100px 0; }
.section-head { max-width: 720px; margin-bottom: 40px; }
.cards-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.info-card {
  display: block; text-decoration: none; border: 1px solid var(--line); border-radius: 16px;
  padding: 28px; background: white; min-height: 250px; transition: transform .15s ease, box-shadow .15s ease;
}
.info-card:hover { transform: translateY(-2px); box-shadow: 0 18px 38px rgba(8,43,98,.10); }
.info-card h3 { font-size: 1.4rem; margin-top: 0; color: var(--navy); }
.info-card p { color: var(--muted); }
.info-card span { color: var(--blue); font-weight: 900; font-size: 1.3rem; }
.content-section { padding: 92px 0; }
.two-col { display: grid; grid-template-columns: .85fr 1.15fr; gap: 90px; align-items: start; }
.two-col p { color: var(--muted); font-size: 1.08rem; }
.feature-list { display: grid; gap: 18px; }
.feature-list > div { border: 1px solid var(--line); border-radius: 14px; padding: 22px; display: grid; gap: 6px; }
.feature-list strong { color: var(--navy); font-size: 1.05rem; }
.feature-list span { color: var(--muted); }
.cta-band { padding: 72px 0; background: var(--light); }
.cta-band-inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.cta-band h2 { max-width: 700px; }
.contact-page { padding-top: 78px; }
@media (max-width: 900px) {
  .cards-grid { grid-template-columns: 1fr; }
  .two-col { grid-template-columns: 1fr; gap: 38px; }
  .cta-band-inner { align-items: flex-start; flex-direction: column; }
}

.hero-photo-wrap {
  border-radius: 28px;
  overflow: hidden;
  min-height: 390px;
  box-shadow: 0 30px 70px rgba(8,43,98,.18);
}
.hero-photo {
  width: 100%;
  height: 100%;
  min-height: 390px;
  object-fit: cover;
  display: block;
}
.photo-card {
  padding: 0 0 26px;
  overflow: hidden;
}
.photo-card img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
  margin-bottom: 24px;
}
.photo-card h3,
.photo-card p,
.photo-card span {
  margin-left: 28px;
  margin-right: 28px;
}
.page-image-band {
  padding: 0 0 10px;
  background: linear-gradient(180deg, #f7faff 0%, #fff 100%);
}
.page-image-band img {
  width: 100%;
  height: min(430px, 48vw);
  min-height: 260px;
  object-fit: cover;
  border-radius: 22px;
  display: block;
  box-shadow: 0 24px 55px rgba(8,43,98,.12);
}
@media (max-width: 820px) {
  .hero-photo-wrap,
  .hero-photo { min-height: 300px; }
  .page-image-band img { height: 300px; }
}

/* FIXED PHOTO DISPLAY
   Show full generated photos without cutting off the image or embedded text. */
.page-image-band img {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center center !important;
}
.hero-photo-wrap {
  min-height: 0 !important;
  background: #f6f9fd;
}
.hero-photo {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
}
.photo-card img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}

/* V4 - force full image visibility and prevent cropping */
.page-image-band {
  padding: 24px 0 42px !important;
  overflow: visible !important;
}
.page-image-band .container {
  overflow: visible !important;
}
.page-image-band img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center center !important;
  overflow: visible !important;
  border-radius: 22px !important;
}
.hero-photo-wrap {
  overflow: hidden !important;
  min-height: 0 !important;
  height: auto !important;
}
.hero-photo {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  object-fit: contain !important;
}
.photo-card {
  overflow: hidden !important;
}
.photo-card img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  object-fit: contain !important;
}


/* V5 — full photos + readable text overlays */
.page-photo-card {
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  background: #0b2f66;
  box-shadow: 0 24px 55px rgba(8,43,98,.12);
}
.page-photo-card img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  object-fit: contain !important;
}
.page-photo-overlay {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 34px 38px;
  color: white;
  background: linear-gradient(180deg, rgba(4,23,52,0) 0%, rgba(4,23,52,.82) 58%, rgba(4,23,52,.94) 100%);
}
.page-photo-overlay .eyebrow {
  color: #9fc5ff;
  margin-bottom: 8px;
}
.page-photo-overlay h2 {
  color: white;
  font-size: clamp(1.9rem, 3.2vw, 3rem);
  max-width: 780px;
}
.page-photo-copy {
  margin: 10px 0 0;
  color: #edf4ff;
  font-size: 1rem;
  max-width: 720px;
}

/* Home cards: keep full image and put text over the lower part. */
.photo-card {
  position: relative;
  padding: 0 !important;
  min-height: 0 !important;
}
.photo-card img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  margin: 0 !important;
  object-fit: contain !important;
}
.photo-card h3,
.photo-card p,
.photo-card > span {
  position: absolute;
  left: 24px;
  right: 24px;
  z-index: 2;
  color: white !important;
  margin: 0 !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.35);
}
.photo-card h3 {
  bottom: 66px;
  font-size: 1.45rem;
}
.photo-card p {
  bottom: 28px;
  font-size: .95rem;
  line-height: 1.3;
  max-width: 75%;
}
.photo-card > span {
  left: auto;
  right: 22px;
  bottom: 26px;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255,255,255,.9);
  border-radius: 50%;
  display: grid;
  place-items: center;
}
.photo-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 42%, rgba(4,23,52,.82) 100%);
  pointer-events: none;
}

@media (max-width: 820px) {
  .page-photo-overlay {
    padding: 24px 22px;
  }
  .page-photo-copy {
    font-size: .95rem;
  }
  .photo-card h3 {
    bottom: 64px;
  }
}

:root { --accent-red:#ff1738; }

.eyebrow::after{
  content:"";display:inline-block;width:22px;height:2px;margin-left:9px;
  background:var(--accent-red);vertical-align:middle;border-radius:2px
}
.hero-photo-overlay-wrap{position:relative}
.hero-photo-overlay-wrap .hero-photo{
  width:100%!important;height:auto!important;min-height:0!important;
  object-fit:contain!important;display:block!important
}
.hero-image-copy{
  position:absolute;right:7%;top:15%;width:min(34%,220px);color:var(--navy);pointer-events:none
}
.hero-handwritten{
  display:block;font-family:"Segoe Script","Bradley Hand",cursive;
  font-size:clamp(1.15rem,2.1vw,2.1rem);line-height:1.14;transform:rotate(-4deg);
  text-shadow:0 1px 7px rgba(255,255,255,.9)
}
.hero-red-line{display:block;width:44px;height:4px;background:var(--accent-red);margin:14px 0 12px;transform:rotate(-7deg);border-radius:4px}
.hero-image-copy small{display:block;font-weight:800;font-size:clamp(.48rem,.8vw,.68rem);line-height:1.5;letter-spacing:.18em}

.page-photo-card img,.page-image-band img,.contact-photo-card img{
  width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
  object-fit:contain!important;object-position:center!important;display:block!important
}

.button.primary:hover{box-shadow:0 12px 28px rgba(255,23,56,.18)}
.text-link:hover,.footer-col a:hover{color:var(--accent-red)}

.site-footer{background:#052550;color:#dbe6f5;padding-top:52px;margin-top:0}
.footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1.2fr;gap:44px;padding-bottom:38px}
.footer-brand img{width:190px;filter:brightness(0) invert(1)}
.footer-brand p{max-width:320px;color:#b9c9dd}
.footer-col{display:grid;align-content:start;gap:8px}
.footer-col h3{color:#fff;font-size:1rem;margin:0 0 8px}
.footer-col a,.footer-col span{color:#b9c9dd;text-decoration:none;font-size:.92rem}
.footer-bottom{border-top:1px solid rgba(255,255,255,.16);min-height:66px;display:flex;justify-content:space-between;align-items:center;color:#9fb1ca;font-size:.88rem;position:relative}
.footer-bottom::before{content:"";position:absolute;top:0;left:0;width:36px;height:3px;background:var(--accent-red);border-radius:3px}

@media(max-width:900px){
  .footer-grid{grid-template-columns:1fr 1fr}
  .hero-image-copy{right:5%;top:12%;width:36%}
}
@media(max-width:600px){
  .footer-grid{grid-template-columns:1fr;gap:26px}
  .footer-bottom{flex-direction:column;justify-content:center;gap:5px;padding:16px 0}
  .hero-image-copy{right:4%;top:8%;width:40%}
  .hero-image-copy small{display:none}
}

/* V8 refinements */
:root { --accent-red:#ff1738; }

.hero-photo-overlay-wrap { position: relative; overflow: hidden; }
.hero-photo-overlay-wrap .hero-photo {
  width:100% !important; height:auto !important; min-height:0 !important;
  max-height:none !important; object-fit:contain !important; display:block !important;
}
.hero-image-copy {
  position:absolute;
  left:6%;
  top:12%;
  right:auto;
  width:31%;
  color:#ffffff;
  text-shadow:0 2px 9px rgba(0,0,0,.45);
}
.hero-handwritten {
  display:block;
  font-family:"Segoe Script","Bradley Hand",cursive;
  font-size:clamp(1.15rem,2.1vw,2rem);
  line-height:1.12;
  transform:rotate(-3deg);
}
.hero-image-copy small {
  display:block;
  color:#fff;
  font-weight:800;
  font-size:clamp(.5rem,.8vw,.7rem);
  line-height:1.45;
  letter-spacing:.16em;
}
.hero-red-line{
  display:block;width:52px;height:5px;background:var(--accent-red);
  margin:12px 0 10px;border-radius:5px;transform:rotate(-5deg)
}

.contact-photo-card { position: relative; }
.contact-photo-card img {
  width:100% !important;height:auto !important;min-height:0 !important;max-height:none !important;
  object-fit:contain !important;display:block !important;
}
.contact-handwritten{
  position:absolute; right:7%; top:13%; color:#fff; z-index:3;
  font-family:"Segoe Script","Bradley Hand",cursive;
  font-size:clamp(1.15rem,2vw,1.9rem); line-height:1.15;
  text-shadow:0 2px 10px rgba(0,0,0,.55); transform:rotate(-4deg);
}
.contact-handwritten i{
  display:block;width:54px;height:5px;background:var(--accent-red);
  margin-top:12px;border-radius:5px;transform:rotate(-5deg)
}
.page-photo-overlay{
  z-index:2;
}

.site-footer{background:#052550;color:#dbe6f5;padding-top:52px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr .8fr;gap:44px;padding-bottom:38px}
.footer-brand img{
  width:210px;
  filter:none;
  background:white;
  padding:10px 14px;
  border-radius:14px;
}
.footer-brand p{max-width:330px;color:#b9c9dd}
.footer-col{display:grid;align-content:start;gap:8px}
.footer-col h3{color:#fff;font-size:1rem;margin:0 0 8px}
.footer-col a,.footer-col span{color:#b9c9dd;text-decoration:none;font-size:.92rem}
.footer-col a:hover{color:var(--accent-red)}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.16);min-height:66px;display:flex;
  justify-content:space-between;align-items:center;color:#9fb1ca;font-size:.88rem;position:relative
}
.footer-bottom::before{
  content:"";position:absolute;top:0;left:0;width:40px;height:4px;background:var(--accent-red);border-radius:4px
}

/* make red a bit more visible */
.button.primary{background:linear-gradient(90deg,var(--blue),#0d64d7)}
.button.primary::after{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent-red);margin-left:10px}
.text-link::after{content:"";display:inline-block;width:14px;height:2px;background:var(--accent-red);margin-left:8px;vertical-align:middle}
.eyebrow::after{width:26px;height:3px;background:var(--accent-red)}
.lang{border-color:rgba(255,23,56,.35)}
.lang:hover{border-color:var(--accent-red);color:var(--accent-red)}

@media(max-width:900px){
  .footer-grid{grid-template-columns:1fr 1fr}
  .hero-image-copy{left:5%;top:10%;width:36%}
  .contact-handwritten{right:5%;top:10%}
}
@media(max-width:600px){
  .footer-grid{grid-template-columns:1fr;gap:26px}
  .hero-image-copy{left:4%;top:8%;width:42%}
  .hero-image-copy small{display:none}
  .contact-handwritten{right:4%;top:8%;font-size:1.05rem}
}
