/* Replica of the original Website Builder layout: fixed terracotta sidebar (350px) with logo + nav,
   content column to the right; dark image hero; alternating two-column rows; dark footer. */
:root{
  --side:#CE8157;      /* sidebar terracotta */
  --cream:#FBF6F1;     /* page + text on dark */
  --stone:#6C6965;     /* headings, footer */
  --text:rgba(108,105,101,.82);
  --line:#E7DDD3;
  --head:"Averia Serif Libre","Noto Serif",Georgia,serif;
  --body:"Open Sans","Segoe UI",Arial,sans-serif;
  --sidew:350px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--cream);color:var(--stone);font-family:var(--body);font-size:17px;line-height:1.7}
img{max-width:100%;height:auto;display:block}
a:focus-visible,button:focus-visible{outline:2px solid var(--stone);outline-offset:3px}
h1,h2,h4{font-family:var(--head);font-weight:900;margin:0;line-height:1.2;color:var(--stone)}
p{margin:0}

/* sidebar */
.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidew);background:var(--side);padding:32px;display:flex;flex-direction:column;z-index:10}
.sidebar .logo{width:115px}
.sidebar nav{margin-top:auto;margin-bottom:auto;display:grid;gap:2px}
.sidebar nav a{color:rgba(251,246,241,.88);text-decoration:none;text-transform:uppercase;font-size:14px;font-weight:600;letter-spacing:.06em;padding:9px 0;width:max-content;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
.sidebar nav a:hover,.sidebar nav a[aria-current="page"]{color:var(--cream);border-color:var(--cream)}
.menu-btn{display:none}
main,footer{margin-left:var(--sidew)}

/* rows */
.inner{max-width:880px;margin:0 auto;padding-left:max(36px,env(safe-area-inset-left,0px));padding-right:max(36px,env(safe-area-inset-right,0px))}
.row{padding-block:100px}
.hero{min-height:700px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--cream);background:linear-gradient(rgba(70,68,66,.55),rgba(70,68,66,.55)),var(--stone) url("img/hero.jpg") center/cover no-repeat}
.hero h1{color:var(--cream);font-size:clamp(2.4rem,4vw,3.7rem)}
.hero p{margin-top:12px;font-size:17px;letter-spacing:.04em}
.btn{display:inline-block;margin-top:30px;padding:10px 26px;border:2px solid var(--side);color:inherit;text-decoration:none;text-transform:uppercase;font-weight:600;font-size:13.6px;letter-spacing:.06em;transition:background .2s,color .2s}
.btn:hover{background:var(--side);color:var(--cream)}

.two{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
.two.middle{align-items:center}
.row h2{font-size:clamp(2rem,3.2vw,2.85rem)}
.copy{display:grid;gap:16px;margin-top:14px;color:var(--text)}
.copy .just{text-align:justify}
.pad-top{padding-top:336px}

.services{display:grid;grid-template-columns:246px 1fr;gap:32px;align-items:start}
.services h4{font-size:27px;text-transform:uppercase}
.services ul{margin:0;padding-left:20px;color:var(--text);display:grid;gap:4px}

.cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:60px;text-align:center}
.cols article{display:flex;flex-direction:column;align-items:center;gap:14px}
.cols svg{width:60px;height:62px}
.cols svg *{stroke:var(--stone)}
.cols h4{font-size:27px;margin-top:10px}
.cols p,.cols ul{color:var(--text);font-size:15.5px}
.cols ul{list-style:none;margin:0;padding:0}
.cols .btn{margin-top:auto;color:var(--stone);font-size:15.5px;padding:8px 24px}
.cols .btn:hover{color:var(--cream)}

/* inner pages */
.page-row{padding-block:110px}
.page-row h2{font-size:clamp(2rem,3.2vw,2.85rem);margin-bottom:24px}
.page-row .copy{max-width:760px}
.contact-line{display:flex;gap:18px;align-items:baseline;font-size:19px;color:var(--stone)}
.contact-line b{font-weight:600}
.contact-line a{color:var(--stone)}

footer{background:var(--stone);color:rgba(251,246,241,.88)}
footer .inner{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding-block:38px}
footer .name{font-family:var(--head);font-weight:900;font-size:30px;color:var(--cream);text-align:center}
footer .copyr{text-align:right}

@media (max-width:1100px){.cols{gap:28px}.services{grid-template-columns:1fr}}
@media (max-width:900px){
  .sidebar{position:sticky;top:0;bottom:auto;width:auto;flex-direction:row;align-items:center;justify-content:space-between;padding:14px max(20px,env(safe-area-inset-right,0px)) 14px max(20px,env(safe-area-inset-left,0px))}
  .sidebar .logo{width:64px}
  .menu-btn{display:inline-flex;background:none;border:2px solid var(--cream);color:var(--cream);font:600 13px/1 var(--body);text-transform:uppercase;letter-spacing:.06em;padding:10px 14px;cursor:pointer}
  .sidebar nav{position:absolute;top:100%;left:0;right:0;background:var(--side);padding:8px 20px 18px;margin:0;display:none}
  .sidebar.open nav{display:grid}
  main,footer{margin-left:0}
  .hero{min-height:440px}
  .row{padding-block:64px}
  .two,.cols{grid-template-columns:1fr}
  .pad-top{padding-top:0}
  .order-2{order:2}
  footer .inner{grid-template-columns:1fr;gap:8px;text-align:center}
  footer .copyr{text-align:center}
  .inner{padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
}
