/* line rings */
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.hero{background:#EBD9C7;border-bottom:6px solid var(--terra)}
.hero,.contact{position:relative;overflow:hidden}
.hero .wrap,.contact .wrap{position:relative;z-index:1}
.rings{position:absolute;pointer-events:none;aspect-ratio:1/1;height:auto}
.hero .rings{width:min(900px,95vw);right:-220px;top:-300px;color:var(--terra);opacity:.32}
.contact .rings{width:760px;left:-300px;bottom:-380px;color:#fff;opacity:.2}
.svc li{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}
.about .wrap>div{max-width:46em}
@media (prefers-reduced-motion:no-preference){
 .rings{animation:swirl 90s linear infinite}
 .contact .rings{animation-duration:120s;animation-direction:reverse}
}
@keyframes swirl{to{transform:rotate(360deg)}}

/* calmer type scale */
h1{font-size:clamp(32px,4.4vw,58px);line-height:1.08;letter-spacing:-.03em}
h2{font-size:clamp(26px,3vw,38px);line-height:1.12;letter-spacing:-.02em}
h3{font-size:clamp(19px,1.8vw,22px)}
.pa h4{font-size:clamp(22px,2.2vw,28px)}
.statement{font-size:clamp(22px,2.4vw,30px);line-height:1.3;letter-spacing:-.015em}
.big{font-size:clamp(18px,1.8vw,22px)}
.lead{font-size:clamp(18px,1.5vw,20px)}
.sec-head p,.products .head p,.about p.small{font-size:18px}
.svc p,.row p,.pa p{font-size:17px}
.ctext p{font-size:18px}
.btn,.textlink{font-size:16px}
nav.main a.btn{font-size:15px}

/* forms */
.cgrid{align-items:center}
.cform{padding:40px;border-radius:14px;box-shadow:0 18px 40px rgba(60,20,10,.22)}
.cform h3{font-size:28px;margin:0 0 6px}
.cform .sub{margin:0 0 28px;font-size:16px;color:var(--muted)}
.cform label{font-family:var(--display);font-weight:700;font-size:15px;color:var(--text);margin-bottom:20px}
.cform input[type=text],.cform input[type=email],.cform input[type=url],.cform select,.cform textarea{display:block;width:100%;margin-top:8px;padding:14px 16px;font-family:var(--body);font-size:17px;line-height:1.4;color:var(--text);background:#FCF8F5;border:1.5px solid #DCC6B3;border-radius:10px;transition:border-color .15s,box-shadow .15s,background-color .15s}
.cform input::placeholder,.cform textarea::placeholder{color:#9A8579}
.cform input:hover,.cform select:hover,.cform textarea:hover{border-color:var(--tan)}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:none;background:#fff;border-color:var(--terra);box-shadow:0 0 0 4px rgba(162,84,61,.18)}
.cform select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23642121' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.cform textarea{min-height:120px;resize:vertical}
.cform .pair{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.cform .hint{display:block;font-family:var(--body);font-weight:400;font-size:14px;color:var(--muted);margin-top:6px}
.cform label.check{display:flex;gap:12px;align-items:flex-start;background:var(--tint);border-radius:10px;padding:14px 16px;font-family:var(--body);font-weight:400;font-size:15px;line-height:1.5;cursor:pointer}
.cform label.check input{flex:none;width:20px;height:20px;margin:2px 0 0;accent-color:var(--terra);cursor:pointer}
.cform .btn{width:100%;margin-top:8px;padding:16px 24px;font-size:18px;border-radius:10px}
.cform p.fine{text-align:center;font-size:14px;margin:16px 0 0}
.next{list-style:none;margin:28px 0 0;padding:0}
.next li{position:relative;padding:0 0 18px 40px;font-size:18px;color:#fff}
.next li::before{content:"";position:absolute;left:0;top:4px;width:24px;height:24px;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3.5 3.5L11 1' fill='none' stroke='%23A2543D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center}

@media (max-width:899px){
 .hero{padding:36px 0 32px}
 .hero .rings{width:520px;right:-260px;top:-200px}
 .contact .rings{width:480px;left:-240px;bottom:-260px}
 .svc li{grid-template-columns:1fr;gap:4px}
 .svc p{grid-column:1}
 .cform{padding:28px 20px;border-radius:12px}
 .cform h3{font-size:24px}
 .cform .pair{grid-template-columns:1fr}
}
