*{  margin:0;
    padding:0;
    box-sizing:border-box;}
body{
    padding-top: 80px;
    font-family:'Inter', sans-serif;
    background:#f8f8f6;
    color:#111;
    line-height:1.7;
    scroll-behavior:smooth;    }
    
.container{
    width:90%;
    max-width:1000px;
    margin:auto;}

.page-header {
  position: fixed;          /* keeps it fixed */
  top: 0;
  left: 0;
  width: 100%;  
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;  
  padding: 16px 24px;  
  background: rgba(250, 249, 246, 0.35);   /* translucent */
  backdrop-filter: blur(2px);             /* glass blur */
  -webkit-backdrop-filter: blur(2px);     /* Safari */
  border-bottom: 1px solid rgba(0,0,0,0.08);
  z-index: 1000;        /* stays above everything */}

.left {
  justify-self: start;}
.right {
  justify-self: end;}

  .logo{
  width: 200px;
  height: 40px; 
    font-size:22px;
    font-weight:600;
    letter-spacing:-0.5px;  
   display: flex;
    justify-content: center;
    align-items: center}

.logo img {
      width: auto;
    max-width: 100%;
    max-height: 100%;
    display: block;
}

.nav-btn,
.nav-btn:visited {
  text-decoration: none;
  font-size: 18px;
  color: rgb(146, 146, 146); /* same color after visiting */  }

section{
min-height:0vh;
padding-left:8%;
padding-right:8%;
padding-top:8%;
padding-bottom:8%;
display:flex;
flex-direction:column;
justify-content:center;
border-bottom:1px solid #ececec;
}
h1{
    font-size:78px;
    font-weight:600;
    line-height:1;
    letter-spacing:-4px;
    margin-bottom:30px;
}
h2{
font-size:clamp(3rem,7vw,7rem);
font-weight:400;
letter-spacing:-3px;
margin-bottom:25px;
}

p{
font-size:1.15rem;
color:#666;
max-width:650px;
line-height:1.6;
margin-bottom:35px;}
.label{
font-size:.75rem;
letter-spacing:2px;
text-transform:uppercase;
color:#888;
margin-bottom:20px;}

.limits {
  margin: 18px 0 25px 0;
  padding: 14px 16px;
  border: 1px solid rgba(175, 175, 175, 0.92);
    background: rgba(255, 255, 255, 0.0); 
    max-width: 520px;   }

.limit-note {
  font-size: 0.85rem;
  color: #777;
  margin-top: 4px;
}
.doc-anchor{
  position: relative;
  height: 00vh;   /* creates the “transition corridor” */
  display: flex;
  justify-content: center;
  align-items: center;
}

.float-doc{
  position: absolute;
  top: 50%;
  left: 80%;
width: 35vw;
  max-width: 80vw;
  transform: translate(-50%, -50%);
  opacity: 1;
  will-change: transform, opacity; z-index:3;}

.float-doc img{
  width: 100%;
  display: block;
  border: 22px;
  border-color:#111;
  border-radius: 6px;
  box-shadow: 0 40px 90px rgba(0,0,0,0.05);   }
.hero{
    min-height:90vh;
    display:flex;
    align-items:center; }
.btn,
.btn:visited {
    display: inline-block;
    width: 240px;
    padding: 18px;
    background: #fff;
    color: #111;
    border: 1px solid #111;
    text-decoration: none;
    cursor: pointer;
    transition: .3s;
}

.btn:hover {
    background: #111;
    color: #fff;
}

.features{
margin-bottom:35px;}

.features div{
padding:10px 0;
font-size:1rem;
color:#444; }
.dark{
background:#111;
color:white;}

.dark p{
color:#aaa;}

.dark .features div{
color:#ddd;  }
.dark .btn,
.dark .btn:visited {
    background: #111;
    color: #fff;
    border-color: #fff;
}

.dark .btn:hover {
    background: #fff;
    color: #111;
}

.tools-section {
  background: #faf9f6;   }

.tools-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 28px;
  margin-top: 40px;
  max-width: 900px;
}

.tool {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;   }

/* circular icon base */
.tool-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 500;
  color: white;
  box-shadow: 0 12px 30px rgba(0,0,0,0.08);
  transition: transform 0.25s ease;
}

.tool-icon:hover {
  transform: scale(1.08);
}
.price{
font-size:2.5rem;
margin-bottom:30px;
font-weight:400;
}

/* brand-ish approximations */
.revit { background: #2b579a; }
.rhino { background: #111111; }
.grasshopper { background: #7ac943; }
.kangaroo { background: #ff7f50; }
.karamba { background: #6a5acd; }
.autocad { background: #d32f2f; }
.affinity { background: #7b68ee; }
.office { background: #d83b01; }
.adobe { background: #ff0000; }

.tool-name {
  font-size: 0.9rem;
  color: #444;
  text-align: center;}
.benefits{
    margin-top:40px;}

.benefits li{
    list-style:none;
    margin-bottom:16px;
    font-size:20px;}


.image-break{    position: relative;
padding:0;
min-height:auto;  }

.image-break img{
width:100%;
height:80vh;
object-fit:cover;
display:block;  }

/* Overlay panel that floats over the break image */
.image-break-overlay{
position:absolute;
left:8%;
bottom:60px;
right:8%;
max-width:560px;
color:#fff;
z-index:2;
}
.image-break-overlay .label{
color:rgba(255,255,255,.75);
margin-bottom:14px;
}
.image-break-overlay h3{
font-size:clamp(1.6rem,3vw,2.4rem);
font-weight:400;
letter-spacing:-1px;
line-height:1.15;
margin-bottom:16px;
}
.image-break-overlay p{
color:rgba(255,255,255,.85);
font-size:1rem;
max-width:480px;
margin-bottom:26px; }

.image-break-overlay a.btn{
display:inline-block;
width:auto;
padding:14px 28px;
border:1px solid #fff;
background:transparent;
color:#fff;
text-decoration:none;
font-size:.9rem;
letter-spacing:.5px; }

.image-break-overlay a.btn:hover{
background:#fff;
color:#111;   }

.image-break::after{
content:"";
position:absolute;
inset:0;
background:linear-gradient(0deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,0) 45%);
pointer-events:none;
z-index:1; }
.cta{    text-align:center;}
.site-footer {
  background: #0f0f0f;
  color: #e8e8e8;
  padding: 80px 8% 30px;
  border-top: 1px solid rgba(255,255,255,0.08);
  font-family: "Helvetica Neue", Arial, sans-serif;
}

/* Main grid */
.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr 1fr;
  gap: 60px;
  max-width: 1600px;
  margin: 0 auto 60px;
}

/* Section headings */
.footer-section h4 {
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin-bottom: 22px;
  color: #ffffff;
  font-weight: 500;
}

/* About text */
.footer-section p {
  font-size: 0.95rem;
  line-height: 1.7;
  color: rgba(255,255,255,0.72);
  margin-bottom: 18px;
}
/* Lists */
.footer-section ul {
  list-style: none;
  padding: 0;
  margin: 0;
}


/* Links */
.footer-section li {
  margin-bottom: 12px;
}


.footer-section a {
  color: rgba(255,255,255,0.72);
  text-decoration: none;
  font-size: 0.92rem;
  transition: all 0.25s ease;
}


/* Hover effect */
.footer-section a:hover {
  color: #ffffff;
  padding-left: 4px;}

/* Bottom copyright */
.footer-bottom {
  max-width: 1600px;
  margin: 0 auto;
  padding-top: 25px;
  border-top: 1px solid rgba(255,255,255,0.08);
}


.footer-bottom p {
  font-size: 0.8rem;
  color: rgba(255,255,255,0.45);
  letter-spacing: 0.5px;
}


.small-text{
    font-size:16px;
    color:#777;
}

.contact-form{
display:flex;
flex-direction:column;
max-width:700px;
gap:18px;
margin-top:30px;
}
.contact-form input,
.contact-form select,
.contact-form textarea{
padding:18px;
border:none;
border-bottom:1px solid #ccc;
background:transparent;
font-size:1rem;
font-family:inherit;
outline:none;
}

.contact-form textarea{
resize:vertical;
min-height:140px;
}

.contact-form button{
margin-top:20px;
width:240px;
padding:18px;
border:1px solid black;
background:none;
cursor:pointer;
font-size:1rem;
transition:.3s;
}

.contact-form button:hover{
background:black;
color:white;}

/* Tablet */
@media (max-width: 1100px) {
  .footer-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
  }
}


/* Mobile */
@media (max-width: 768px) {
  .site-footer {
    padding: 60px 6% 25px;
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: 35px;
    margin-bottom: 40px;
  }

  .footer-section h4 {
    margin-bottom: 14px;
  }

  .footer-section a:hover {
    padding-left: 0;
  }
}
@media(max-width:900px){
h1{  font-size:48px;}
h2{  font-size:34px;}
p{   font-size:18px;}
.large-image,
.large-image-2{
height:350px;   }
}
