
:root{
  --bg:#f6f6f6;
  --paper:#ffffff;
  --ink:#111111;
  --muted:#4b4b4b;
  --stroke:#e5e5e5;
  --accent:#e054f1;
  --maxw:1240px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;background:var(--bg);color:var(--ink)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
header{position:sticky;top:0;background:var(--paper);border-bottom:1px solid var(--stroke);z-index:10}
.topbar{display:flex;align-items:center;justify-content:space-between;height:92px}
.brand{display:flex;align-items:center;gap:14px;font-weight:800;letter-spacing:0.02em}
.brand__logo{width:54px;height:54px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:10px}
nav ul{list-style:none;display:flex;gap:28px;margin:0;padding:0;font-weight:400} /* thinner menu */

main{background:var(--paper)}
.container{max-width:var(--maxw);margin:0 auto;padding:40px 28px}
.hero{padding:40px 0 16px;border-bottom:1px solid var(--stroke)}
.hero h1{font-size:clamp(36px,6.2vw,96px);line-height:0.95;margin:0;font-weight:900;letter-spacing:-0.02em}
.sub{font-weight:800;margin-top:14px;font-size:clamp(16px,1.8vw,28px)}

/* vertical text animation in hero subheading */
.vslide-text{display:inline-block;overflow:hidden;height:1.2em;vertical-align:bottom}
.vslide-text span{display:block;animation:vslideAnim 6s infinite}
@keyframes vslideAnim{
  0%,45%{transform:translateY(0%)}
  50%,95%{transform:translateY(-100%)}
  100%{transform:translateY(0%)}
}

/* Feature section */
.feature{display:grid;grid-template-columns:1.1fr 1fr;gap:36px;padding:36px 0 align-items:stretch;}
.block{background:var(--accent);border-radius:8px;min-height:420px;position:relative;overflow:hidden}
.bigword{position:absolute;top:18px;left:28px;right:18px;z-index:2;
  font-size:clamp(34px,7.5vw,100px);font-weight:900;letter-spacing:0.02em;line-height:0.9;text-transform:uppercase;white-space:pre-line}
.thumb{position:absolute;top:28px;left:28px;width:38%;border:10px solid var(--paper);filter:grayscale(100%)}
.photo{border-radius:12px;overflow:hidden height:100%; min-height:420px; }
.rule{height:1px;background:var(--stroke);border:0;margin:0 0 40px 0}

/* Two-column section */
.split{display:grid;grid-template-columns:0.9fr 1.1fr;gap:40px;padding:20px 0 40px}
.kicker{font-size:14px;letter-spacing:0.16em;color:var(--muted);text-transform:uppercase}
.title{font-size:clamp(28px,3.2vw,44px);line-height:1.05;margin:10px 0 6px;font-weight:900}
.body{color:var(--muted)}
.ghostbtn{margin-top:22px;border:1px solid var(--ink);padding:14px 18px;border-radius:8px;display:inline-block;font-weight:600}

/* Spacious footer with two logos */
.site-footer{border-top:1px solid var(--stroke);background:var(--paper);padding:60px 0}
.site-footer .row{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}
.footer-logo{width:54px;height:54px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-weight:800}
.copy{color:var(--muted);font-size:14px}

@media (max-width:900px){
  .feature{grid-template-columns:1fr align-items:stretch;}
  .split{grid-template-columns:1fr}
  .topbar{height:80px}
  nav ul{gap:16px;font-size:14px}
  .site-footer .row{flex-direction:column;align-items:flex-start}
}

.photo img{width:100%;height:100%;object-fit:cover;display:block}

/* === OVERRIDES: Big logo at 350px tall === */
.brand__logo{
  width: auto;            /* let image decide width */
  height: 170px;          /* requested height */
  border: 0;              /* remove small circular frame (optional) */
  border-radius: 0;       /* remove circle (optional) */
  display: flex;
  align-items: center;
}

.brand__logo img{
  height: 100%;
  width: auto;
  display: block;
}

/* Header row must be tall enough to fit the logo */
.topbar{
  height: auto;           /* was fixed; allow content height */
  min-height: 170px;      /* ensure space for the logo */
}

/* Optional: scale down on smaller screens */
@media (max-width: 900px){
  .brand__logo{ height: 180px; }
  .topbar{ min-height: 180px; }
}
/* === Footer logos at 100px high === */
.footer-logos{
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

.site-footer .footer-logo{
  height: 100px;   /* requested height */
  width: auto;     /* keep proportions */
  display: block;
}

/* If a logo is wrapped in a div (rare), make the <img> inside scale correctly */
.site-footer .footer-logo img{
  height: 100%;
  width: auto;
  display: block;
}

/* Optional: shrink a bit on small screens */
@media (max-width: 600px){
  .site-footer .footer-logo{ height: 80px; }
}
