@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--paper:#faf8f2;--green:#244b3e;--muted:#727b70;--line:#dedfd4;--sage:#e8ecdf;--red:#af5841}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:#283e34;font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}a{color:inherit;text-decoration:none}button,.button{cursor:pointer;border:1px solid var(--green);background:var(--green);color:white;padding:12px 23px;border-radius:5px;display:inline-block}button:hover,.button:hover{filter:brightness(.92)}button.secondary,.button.secondary{background:transparent;color:var(--green);border-color:#bdc7ba}button.small{padding:6px 12px;font-size:14px}button.ghost{background:transparent;color:var(--green);border:none;padding:8px}input,select,textarea{padding:10px 12px;border:1px solid #cdd2c6;background:#fffefa;color:var(--green);border-radius:4px;max-width:100%}textarea{width:100%;min-height:100px}label{display:grid;gap:7px;margin:12px 0;font-size:14px}.topline{text-align:center;background:var(--green);color:#e9eddf;font-size:12px;letter-spacing:1.2px;padding:6px}.nav{display:flex;align-items:center;justify-content:space-between;padding:20px 5%;border-bottom:1px solid var(--line);gap:22px}.logo{font-family:'Libre Caslon Display',Georgia,serif;font-size:42px;letter-spacing:-1.5px;line-height:1}.logo span{font:12px Arial;letter-spacing:3px;margin-left:9px}.navlinks{display:flex;gap:25px;font-size:14px}.navtools{display:flex;align-items:center;gap:12px}.navtools select{border:0;background:transparent;font-size:13px;padding:4px;max-width:115px}.demo{padding:8px 5%;background:#eceee4;display:flex;justify-content:space-between;align-items:center;font-size:12px;gap:10px}.demo a{margin-left:18px;text-decoration:underline;text-underline-offset:3px}main{min-height:65vh}.wrap{max-width:1320px;margin:auto;padding:56px 5%}.eyebrow{text-transform:uppercase;letter-spacing:2.5px;font-size:12px;color:var(--red);font-weight:600}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:610px}.hero-copy{padding:75px 9% 50px 10%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.hero h1{font-size:clamp(50px,5.7vw,84px);line-height:1.04;font-weight:400;letter-spacing:-2px;margin:24px 0}.hero p{max-width:415px;color:var(--muted);margin:0 0 28px}.hero-image{position:relative;background:#d4d4bf;min-height:480px;overflow:hidden}.hero-image>img{height:100%;width:100%;object-fit:cover;position:absolute}.image-note{position:absolute;bottom:28px;left:30px;background:#faf8f2e8;padding:17px 22px;max-width:270px;font-family:Georgia,serif;font-size:21px}.image-note small{display:block;font:12px Arial;letter-spacing:1px;margin-top:10px}h1,h2,h3{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.13}h1{font-size:58px;margin:10px 0 22px}h2{font-size:43px;margin:8px 0 24px}h3{font-size:27px;margin:12px 0}.muted{color:var(--muted)}.row{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.spread{justify-content:space-between}.trust{display:flex;justify-content:space-around;gap:20px;flex-wrap:wrap;padding:23px 5%;border-block:1px solid var(--line);font-size:13px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px;gap:18px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.grid.four{grid-template-columns:repeat(4,1fr)}.grid.two{grid-template-columns:repeat(2,1fr)}.card{border:1px solid var(--line);border-radius:8px;padding:24px;background:#fffefa;overflow:hidden}.card.photo{padding:0;background:transparent}.card.photo .body{padding:20px}.card img{width:100%;height:240px;object-fit:cover;display:block}.tag{font-size:12px;padding:4px 8px;background:var(--sage);border-radius:3px;display:inline-block}.red{color:var(--red)}.pale{background:var(--sage)}.feature{padding:55px;border-radius:6px;background:#e7ebdf}.large{font-size:30px}.price{font-size:22px}.detail{display:grid;grid-template-columns:1.1fr 1fr;gap:55px}.detail-image{width:100%;height:480px;object-fit:cover;border-radius:6px}.thumbs{display:flex;gap:10px;margin:10px 0}.thumbs img{width:75px;height:65px;object-fit:cover;cursor:pointer;border-radius:4px}.badge{font-size:12px;color:var(--red);letter-spacing:1px}.steps{display:flex;gap:12px;margin:24px 0;flex-wrap:wrap}.step{padding:10px 15px;background:#e9ecdf;border-radius:4px;font-size:14px}.step.active{background:var(--green);color:white}.time.active{background:var(--green);color:white}.time{background:white;color:var(--green)}.booking{max-width:800px;margin:auto}.notice{padding:16px;background:#eee9db;font-size:14px;border-radius:4px}.workspace{display:grid;grid-template-columns:220px 1fr;min-height:75vh}.sidebar{padding:26px 18px;background:#edf0e7;border-right:1px solid var(--line)}.sidebar a{display:block;padding:9px 13px;font-size:14px;border-radius:4px;margin:3px 0}.sidebar a.active{background:var(--green);color:white}.workspace .content{padding:38px;min-width:0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}.metric{border:1px solid var(--line);background:#fffefa;padding:22px;border-radius:6px}.metric strong{display:block;font-size:29px;font-weight:500}.metric small{color:#69806a}.chart{height:195px;display:flex;align-items:end;gap:16px;padding:20px 10px 0;border-bottom:1px solid var(--line)}.bar{background:#6f8b6a;flex:1;border-radius:4px 4px 0 0;position:relative;min-width:14px}.bar span{position:absolute;bottom:-28px;left:0;font-size:12px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:15px 12px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);font-weight:500}td input{width:85px}.tabs{display:flex;gap:10px;margin:20px 0;flex-wrap:wrap}.tabs a{padding:9px 16px;border:1px solid var(--line);border-radius:4px}.tabs a.active{background:var(--green);color:white}.chat{display:grid;grid-template-columns:230px 1fr;border:1px solid var(--line);background:#fffefa;border-radius:8px;min-height:470px;overflow:hidden}.contacts{background:#edf0e7;padding:20px}.messages{padding:25px;display:flex;flex-direction:column}.bubble{background:var(--sage);padding:14px 18px;border-radius:10px;margin:9px 0;max-width:80%;align-self:flex-start}.bubble.self{align-self:flex-end;background:var(--green);color:white}.bubble img{max-width:220px;max-height:180px}.composer{margin-top:auto;display:flex;gap:8px;padding-top:24px}.composer input{flex:1;min-width:0}.floating{position:fixed;bottom:24px;right:25px;border-radius:50%;width:58px;height:58px;padding:0;box-shadow:0 7px 20px #244b3e33;font-size:25px;z-index:20}.modal-bg{position:fixed;inset:0;background:#162e2580;display:flex;align-items:center;justify-content:center;z-index:50;padding:20px}.modal{background:var(--paper);border-radius:10px;max-width:650px;width:100%;max-height:90vh;overflow:auto;padding:30px}.modal .close{float:right}.modal video{width:100%}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:var(--green);color:white;border-radius:5px;padding:12px 24px;z-index:70;display:none}footer{background:#e7ebdf;padding:45px 5%;margin-top:50px}footer .row{justify-content:space-between}footer small{display:block;margin-top:28px;color:var(--muted)}details{padding:18px 0;border-bottom:1px solid var(--line)}summary{cursor:pointer}.skip{position:absolute;left:-999px}.skip:focus{left:10px;background:white;z-index:100}.goal{min-height:170px;background:#edf0e5}.empty{text-align:center;padding:60px}.article{max-width:760px;margin:auto}.article p{font-size:18px;line-height:1.9}.article img{width:100%;max-height:400px;object-fit:cover}.progress{height:9px;background:#dce3d4;border-radius:5px;margin:10px 0}.progress i{height:100%;display:block;background:#718769;border-radius:5px}.filter{display:flex;gap:12px;margin-bottom:28px;flex-wrap:wrap}.filter input{flex:1}.menu-mobile{display:none}@media(max-width:1000px){.navlinks{gap:12px}.nav{padding:18px 3%;flex-wrap:wrap}.hero-copy{padding:45px 8%}.grid.four{grid-template-columns:repeat(2,1fr)}.metrics{grid-template-columns:repeat(2,1fr)}.workspace{grid-template-columns:180px 1fr}.workspace .content{padding:25px}.detail{gap:25px}}@media(max-width:700px){.navlinks{width:100%;overflow:auto;order:3;white-space:nowrap}.navtools{gap:5px}.demo{flex-direction:column}.demo a{margin:0 7px}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 6%}.hero h1{font-size:59px}.hero-image{min-height:350px}.grid,.grid.two{grid-template-columns:1fr}.grid.four{grid-template-columns:repeat(2,1fr);gap:12px}.card img{height:185px}.wrap{padding:35px 5%}.detail{grid-template-columns:1fr}.detail-image{height:340px}h1{font-size:43px}h2{font-size:35px}.workspace{display:block}.sidebar{display:flex;overflow:auto;gap:5px;padding:10px}.sidebar>a{white-space:nowrap}.sidebar>h3{display:none}.workspace .content{padding:22px 5%}.chat{grid-template-columns:1fr}.contacts{display:none}.feature{padding:28px}.metric{padding:16px}.metric strong{font-size:23px}.section-head{align-items:start}.navtools .my-link{font-size:13px}.composer{flex-wrap:wrap}.hero-image>img{object-position:center}.logo{font-size:35px}}
.modal:focus-within{outline:0}.card.photo:hover{border-color:#9aaa90}.card.photo img{transition:transform .35s ease}.card.photo a:hover img{transform:scale(1.025)}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Clouva motion: short responses, gentle arrivals, no waiting to interact. */
:root{--ease-out:cubic-bezier(.22,1,.36,1)}
button,.button,.tabs a,.sidebar a,.navlinks a,.navtools a{transition:transform 180ms var(--ease-out),background-color 180ms ease,color 180ms ease,box-shadow 220ms ease,border-color 180ms ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
button:active,.button:active{transform:scale(.97)}
input,select,textarea{transition:border-color 180ms ease,box-shadow 180ms ease}
input:focus,select:focus,textarea:focus{border-color:#6f8b6a;box-shadow:0 0 0 3px #6f8b6a20}
:focus-visible{outline:2px solid #6f8b6a;outline-offset:4px}
h1[tabindex="-1"]:focus{outline:none}
.navlinks a{position:relative;padding-bottom:3px}
.navlinks a::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform 220ms var(--ease-out)}
.navlinks a:focus-visible::after{transform:scaleX(1)}
.card.photo,.card.goal{transition:transform 260ms var(--ease-out),box-shadow 260ms ease,border-color 220ms ease}
.card.photo a{overflow:hidden;display:block}.card.photo .body a{display:inline}
.thumbs button{transition:opacity 180ms ease,transform 180ms ease}.thumbs button:active{transform:scale(.95)}
.step{transition:background-color 200ms ease,color 200ms ease}
body.modal-open{overflow:hidden}
.modal-bg[data-closing]{pointer-events:none}
#toast{max-width:calc(100vw - 32px);width:max-content;text-align:center;pointer-events:none}
summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px}
summary::-webkit-details-marker{display:none}summary::after{content:'+';font-size:22px;line-height:1;transition:transform 220ms var(--ease-out)}details[open] summary::after{transform:rotate(45deg)}
@media(hover:hover) and (pointer:fine){button:hover,.button:hover{transform:translateY(-2px);box-shadow:0 5px 14px #244b3e14}button.ghost:hover{box-shadow:none}.card.photo:hover,.card.goal:hover{transform:translateY(-4px);box-shadow:0 12px 28px #244b3e0c}.navlinks a:hover::after{transform:scaleX(1)}.sidebar a:hover,.tabs a:hover{background-color:#dce4d5}.sidebar a.active:hover,.tabs a.active:hover{background-color:var(--green)}button:active,.button:active{transform:translateY(0) scale(.97)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.card.photo:hover,.card.goal:hover,button:hover,.button:hover,button:active,.button:active{transform:none!important}}
