:root{
  --bg:#ffffff;
  --text:#000000;
  --accent:#000000;
  --gap:32px;
  --font-size:22px;
}

@media (prefers-color-scheme: dark){
  :root{
    --bg:#000000;
    --text:#ffffff;
    --accent:#ffffff;
  }
}

/* Reset-ish */
*{box-sizing:border-box;margin:0;padding:0}
html{font-size:var(--font-size)}
body{
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.45;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  min-height:100vh;
  display:flex;
  flex-direction:column;
}

/* Containers now full-width with inner padding only */
.container{
  width:100%;
  padding:48px 4vw;
}

/* Header */
header{
  width:100%;
  padding:18px 0;
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:24px;
}

/* Navigation */
nav ul{
  list-style:none;
  display:flex;
  gap:22px;
  align-items:center;
}
nav a{
  text-decoration:none;
  color:inherit;
  font-weight:600;
  letter-spacing:0.06em;
  font-size:0.95rem;
  text-transform:uppercase;
}
nav a:hover{text-decoration:underline;}

/* Main layout */
.main{
  flex:1;
  display:flex;
  gap:var(--gap);
  align-items:start;
  margin-top:20px;
  margin-bottom:48px;
}

/* Left column text */
.col-left{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:18px;
}
.col-left h2{
  margin-top:0;
}
.col-left a{
  text-decoration:underline;
  color:inherit;
}

/* Right column image */
.col-right{
  flex:1;
  display:flex;
  align-items:stretch;
}
.col-right img{
  width:100%;
  height:auto;
  display:block;
  object-fit:cover;
}

/* Footer */
footer{
  
  padding:28px 4vw;
  width:100%;
}
.footer-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
}

/* Company name left, large and clickable */
.footer-brand{
  font-size:56px;
  font-weight:700;
  text-transform:uppercase;
  line-height:1;
  text-decoration:none;
  color:inherit;
}
.footer-brand:hover{text-decoration:underline;}

/* Footer small link aligned right */
.footer-links a{
  text-decoration:none;
  color:inherit;
  font-weight:600;
}
.footer-links a:hover{text-decoration:underline;}

/* Form styles */
.form-wrap{
  width:100%;
  max-width:900px;
}
label{
  display:block;
  margin-bottom:8px;
  font-weight:600;
}
input[type="text"],
input[type="email"],
textarea{
  width:100%;
  padding:12px 14px;
  border:1px solid currentColor;
  background:transparent;
  color:inherit;
  resize:vertical;
  font-size:1rem;
  margin-bottom:18px;
  min-height:44px;
}
textarea{min-height:160px;padding-top:14px}
button[type="submit"]{
  padding:16px 26px;
  border:1px solid currentColor;
  background:transparent;
  color:inherit;
  cursor:pointer;
  font-weight:700;
  font-size: 0.7rem;
  text-transform:uppercase;
}

ul, ol {
    font-size: inherit;
    /*line-height: 1.6;*/
    /*margin-bottom: 1.5rem;*/
    padding-left: 1.5rem;
}

li {
    margin-bottom: 0.5rem;
}


/* Layout adjustments for narrow screens */
@media (max-width:880px){
  .main{flex-direction:column}
  .footer-inner{flex-direction:column;align-items:flex-start;gap:12px}
  .header-inner{justify-content:flex-end}
  .footer-brand{font-size:40px}
}

/* Very small screens */
@media (max-width:420px){
  :root{--gap:18px}
  .container{padding:28px 5vw}
  .footer-brand{font-size:28px}
  nav a{font-size:0.85rem}
}
