@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{--paper:#f5f2e9;--ink:#252e2a;--muted:#60665f;--line:#d9d9cd;--copper:#a74d2f;--dark:#26342e;--sans:'DM Sans',Arial,sans-serif;--display:'Manrope',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid var(--copper);outline-offset:6px}::selection{background:#d7b9a0;color:var(--ink)}.wrap{width:calc(100% - 112px);max-width:1328px;margin-inline:auto}.header{height:126px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:inline-flex;gap:13px;align-items:center;font-family:var(--display);font-size:17px;font-weight:800;letter-spacing:.035em;line-height:1.1}.brand-mark{height:35px;width:35px}.brand-sub{display:block;font-weight:500;font-size:10px;letter-spacing:.33em;margin-top:7px}.header nav{display:flex;align-items:center;gap:38px;font-size:13px;font-weight:500}.header nav a:not(.nav-contact){position:relative}.header nav a:not(.nav-contact):after{content:'';position:absolute;bottom:-6px;height:1px;background:currentColor;left:0;width:0;transition:width .2s}.header nav a:hover:after{width:100%}.nav-contact{border:1px solid #b8bcb0;padding:13px 19px;display:flex;gap:30px;align-items:center;transition:background .2s}.nav-contact:hover{background:#e7e6da}.nav-contact span{font-size:19px}.hero{display:grid;grid-template-columns:minmax(0,1.17fr) minmax(0,1fr);gap:48px;padding-block:54px 64px;align-items:center}.hero-copy{padding-bottom:2px}.eyebrow,.section-label,.art-topline,.hero-art figcaption,.intro-strip>span,.principle-number,.product-signature,.software-footnote{font-size:10px;font-weight:600;letter-spacing:.14em;line-height:1.7}.eyebrow{display:flex;align-items:center;gap:10px}.status-dot{width:6px;height:6px;background:var(--copper);border-radius:50%;display:inline-block;flex-shrink:0}.hero h1{font-family:var(--display);font-weight:500;font-size:clamp(56px,5.85vw,86px);letter-spacing:-.065em;line-height:1.09;margin:32px 0 25px}.hero h1 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.06em;color:var(--copper)}.hero-description{font-size:17px;line-height:1.8;color:var(--muted);max-width:390px;margin:0 0 31px}.button{display:inline-flex;gap:39px;align-items:center;padding:18px 22px;background:var(--ink);color:var(--paper);font-size:13px;font-weight:500;transition:background .2s,transform .2s}.button span{font-size:22px;line-height:1}.button:hover{background:#405046;transform:translateY(-2px)}.hero-location{display:flex;align-items:center;gap:9px;font-size:11px;color:var(--muted);margin-top:48px}.hero-location svg{width:16px;height:19px}.location-separator{color:#abb0a2;padding-inline:8px}.hero-art{width:100%;min-width:0;position:relative;margin:0;background:#e5e3d7;overflow:hidden;aspect-ratio:1/.99;align-self:stretch;min-height:490px}.hero-art img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.art-topline{position:absolute;z-index:1;top:25px;left:26px;right:26px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.14em;color:#4a574c}.art-topline span:last-child{font-size:20px;line-height:1}.hero-art figcaption{position:absolute;bottom:21px;left:26px;right:26px;display:flex;justify-content:space-between;color:#e8e7d9;font-size:8px;letter-spacing:.1em}.intro-strip{display:flex;justify-content:space-between;align-items:center;padding-block:23px;border-block:1px solid var(--line)}.intro-strip>span{font-size:9px;letter-spacing:.12em}.intro-strip p{margin:0;font-size:15px;letter-spacing:-.015em}.intro-strip p span{color:var(--muted);padding-left:6px}.intro-strip .strip-symbol{font-size:30px;font-weight:400;line-height:1;color:var(--copper)}.section{display:grid;grid-template-columns:1fr 3fr;gap:35px;padding-block:108px}.section-label{font-size:9px;display:flex;align-items:center;gap:19px;height:26px;white-space:nowrap}.tiny-rule{height:1px;width:33px;background:#b5bcae;display:block}.about-content h2,.software h2,.contact h2{font-family:var(--display);font-weight:500;letter-spacing:-.055em;line-height:1.14;font-size:48px;margin:0}.about-body{display:grid;grid-template-columns:1fr 1fr;gap:42px;margin-block:29px 45px}.about-body p{font-size:15px;line-height:1.9;color:var(--muted);margin:0}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;border-top:1px solid var(--line);padding-top:25px}.principle-number{font-size:9px;color:var(--copper)}.principles h3{font-size:14px;font-weight:550;margin:16px 0 9px;letter-spacing:-.02em}.principles p{margin:0;font-size:12px;line-height:1.8;color:var(--muted);max-width:220px}.software{background:var(--dark);color:var(--paper);padding-block:56px 30px}.software .section-label{color:#c4cfc1}.software .tiny-rule{background:#5c6c60}.software-heading{display:flex;justify-content:space-between;align-items:flex-end;margin:31px 0 39px}.software-heading h2{font-size:50px}.software-heading>p{font-size:13px;line-height:1.9;color:#c0c9be;margin:0 0 3px;width:280px}.product{display:grid;grid-template-columns:1fr 1fr;border:1px solid #576358;background:#2c3b33;min-height:330px}.product-art{position:relative;overflow:hidden;background:#d9ddc6;display:flex;align-items:center;justify-content:center;min-height:330px;color:#354936}.rhythm-orbit{width:470px;height:470px;position:absolute;border:1px solid #a5b095;border-radius:50%;transform:rotate(-28deg) scaleY(.57);top:-70px;left:50%;margin-left:-235px}.orbit-two{width:600px;height:600px;top:-135px;margin-left:-300px}.orbit-three{width:750px;height:750px;top:-210px;margin-left:-375px}.rhythm-symbol{display:flex;gap:9px;height:100px;align-items:center;transform:rotate(-10deg);z-index:1}.rhythm-symbol i{display:block;width:18px;height:52px;border-radius:12px;background:#3f5542;box-shadow:6px 8px 0 #a6b393}.rhythm-symbol i:nth-child(2),.rhythm-symbol i:nth-child(4){height:84px}.rhythm-symbol i:nth-child(3){height:115px;background:#b05e3e;box-shadow:6px 8px 0 #c0b495}.product-art>span:not(.product-art-plus){position:absolute;bottom:24px;left:26px;letter-spacing:.18em;font-weight:600;font-size:9px}.product-art .product-art-plus{position:absolute;right:25px;bottom:20px;font-weight:400;font-size:25px}.product-copy{padding:54px 45px;align-self:center}.product-copy .eyebrow{font-size:8px;color:#c2cdbd;letter-spacing:.13em;margin:0}.product-copy h3{font-family:var(--display);font-size:37px;font-weight:500;letter-spacing:-.05em;margin:20px 0 15px;line-height:1.2}.product-period{color:#dc9577}.product-copy>p:not(.eyebrow){max-width:350px;font-size:14px;line-height:1.85;color:#c2cdbd;margin:0}.product-signature{font-size:8px;display:flex;gap:8px;align-items:center;margin-top:26px;color:#c2cdbd}.product-signature .status-dot{background:#b9c99e;width:4px;height:4px}.software-footnote{display:flex;justify-content:space-between;font-size:8px;color:#bdc7b9;letter-spacing:.1em;margin-top:25px}.contact{padding-block:105px 91px}.contact-content>.eyebrow{font-size:9px;color:var(--muted);margin:2px 0 22px}.contact h2{font-size:58px}.contact-bottom{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-top:29px}.contact-bottom>p{font-size:14px;color:var(--muted);line-height:1.8;margin:0}.contact-bottom .contact-pending{font-size:12px;color:var(--muted);border-bottom:1px solid #b5bcae;padding-bottom:9px}.footer{border-top:1px solid var(--line);padding-block:32px;display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-brand{font-size:12px;gap:10px}.footer-brand .brand-mark{height:26px;width:26px}.footer-brand .brand-sub{font-size:7px;margin-top:5px}.footer>p{font-size:10px;color:var(--muted)}.back-top{font-size:10px;display:flex;gap:23px;align-items:center}.back-top span{font-size:17px}.skip-link{position:absolute;top:-100px;left:20px;padding:12px 20px;z-index:10;background:var(--ink);color:var(--paper)}.skip-link:focus{top:10px}
@media(min-width:1500px){.hero{gap:80px}.hero-art{min-height:560px}.hero h1{font-size:94px}.hero-copy{padding-bottom:12px}.hero-description{font-size:18px;max-width:410px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.header{height:108px}.header nav{gap:25px}.hero{gap:25px;padding-top:37px}.hero h1{font-size:clamp(48px,6vw,68px)}.hero-description{font-size:15px}.hero-art{min-height:450px}.art-topline{left:18px;right:18px;font-size:7px}.hero-art figcaption{left:18px;right:18px;font-size:7px}.hero-location{font-size:10px}.location-separator{padding-inline:4px}.section{grid-template-columns:1fr 3fr;gap:20px;padding-block:80px}.section-label{font-size:8px;gap:10px}.tiny-rule{width:18px}.about-content h2{font-size:43px}.about-body{gap:25px}.about-body p{font-size:14px}.principles{gap:18px}.principles h3{font-size:13px}.software-heading h2{font-size:44px}.product-copy{padding:35px 28px}.product-copy h3{font-size:31px}.contact h2{font-size:50px}.contact-bottom{align-items:flex-start;flex-direction:column;gap:22px}}
/* Compact screens need a complete composition, not a scaled desktop hero. */
@media (max-width: 900px) {
  .header { height: 92px; }
  .hero { padding-block: 32px 40px; }
  .hero-art { min-height: 360px; }
  .section { grid-template-columns: 1fr; gap: 24px; padding-block: 64px; }
  .section-label { gap: 16px; }
  .tiny-rule { width: 32px; }
  .about-content h2 { font-size: 43px; }
  .contact h2 { font-size: 48px; }
}

@media (max-width: 720px) {
  .wrap { width: calc(100% - 40px); }
  .header { height: 78px; gap: 14px; }
  .brand { font-size: 13px; gap: 9px; flex-shrink: 0; }
  .brand-mark { width: 26px; height: 26px; }
  .brand-sub { font-size: 7px; margin-top: 5px; letter-spacing: .31em; }
  .header nav { gap: 14px; font-size: 11px; }
  .header nav > a { display: inline-flex; align-items: center; min-height: 44px; }
  .header nav > a:first-child { display: none; }
  .nav-contact { border: 0; padding: 0; gap: 7px; white-space: nowrap; }
  .nav-contact span { font-size: 17px; }
  .hero { grid-template-columns: 1fr; padding-block: 27px 28px; gap: 25px; }
  .hero-copy { padding: 0; }
  .hero-copy > .eyebrow { margin: 0; }
  .hero h1 {
    font-size: clamp(38px, 8.7vw, 59px);
    line-height: 1.1;
    margin: 19px 0 18px;
    letter-spacing: -.06em;
  }
  .eyebrow { font-size: 8px; letter-spacing: .12em; }
  .hero-description { font-size: 14px; line-height: 1.75; max-width: 39ch; margin-bottom: 21px; }
  .button { padding: 14px 18px; min-height: 48px; font-size: 12px; gap: 33px; }
  .button span { font-size: 20px; }
  .hero-location { margin-top: 21px; font-size: 10px; gap: 7px; }
  .hero-location svg { width: 14px; height: 17px; }
  .hero-art { aspect-ratio: 1.6; min-height: 0; max-height: 350px; }
  .hero-art img { object-position: center 30%; }
  .art-topline { top: 16px; left: 18px; right: 18px; font-size: 7px; }
  .art-topline span:last-child { font-size: 17px; }
  .hero-art figcaption { bottom: 14px; left: 18px; right: 18px; font-size: 7px; }
  .intro-strip { padding-block: 18px; gap: 15px; }
  .intro-strip > span:first-child { font-size: 7px; max-width: 95px; line-height: 1.8; }
  .intro-strip p { font-size: 11px; line-height: 1.7; }
  .intro-strip p span { display: block; padding: 0; }
  .intro-strip .strip-symbol { font-size: 25px; }
  .section { display: block; padding-block: 48px; }
  .section-label { font-size: 8px; gap: 17px; margin-bottom: 23px; }
  .about-content h2, .software h2 { font-size: clamp(33px, 7.7vw, 39px); }
  .about-body { grid-template-columns: 1fr; gap: 16px; margin: 23px 0 28px; }
  .about-body p { font-size: 14px; line-height: 1.8; }
  .principles { grid-template-columns: 1fr; padding-top: 22px; gap: 23px; }
  .principles > div { display: grid; grid-template-columns: 26px 1fr; column-gap: 9px; }
  .principle-number { grid-row: 1 / 3; line-height: 22px; }
  .principles h3 { margin: 0 0 5px; font-size: 14px; }
  .principles p { font-size: 12px; max-width: 330px; }
  .software { padding-block: 33px 24px; }
  .software .section-label { margin-bottom: 23px; }
  .software-heading { display: block; margin: 0 0 26px; }
  .software-heading > p { font-size: 12px; margin-top: 16px; width: auto; max-width: 36ch; }
  .software-heading > p br { display: none; }
  .product { grid-template-columns: 1fr; }
  .product-art { min-height: 220px; }
  .product-copy { padding: 28px 23px 30px; }
  .product-copy .eyebrow { font-size: 7px; }
  .product-copy h3 { font-size: 32px; margin-top: 16px; }
  .product-copy > p:not(.eyebrow) { font-size: 13px; }
  .product-signature { font-size: 7px; }
  .software-footnote { font-size: 6px; gap: 18px; letter-spacing: .06em; }
  .contact-content > .eyebrow { font-size: 8px; margin-bottom: 19px; }
  .contact h2 { font-size: clamp(35px, 8.3vw, 43px); }
  .contact-bottom { margin-top: 21px; }
  .contact-bottom > p { font-size: 13px; }
  .footer { display: grid; grid-template-columns: 1fr auto; gap: 21px 10px; padding-block: 26px; }
  .footer-brand { font-size: 11px; }
  .footer-brand .brand-mark { width: 24px; height: 24px; }
  .footer-brand .brand-sub { font-size: 6px; }
  .footer > p { grid-row: 2; grid-column: 1 / -1; margin: 0; font-size: 9px; }
  .back-top { gap: 15px; font-size: 9px; min-height: 44px; }
}

@media (max-width: 360px) {
  .header nav { gap: 10px; }
  .header nav > a:nth-child(2) { display: none; }
  .hero h1 { font-size: 36px; }
  .hero-description { font-size: 13px; }
  .hero-art { aspect-ratio: 1.35; }
  .hero-art figcaption { font-size: 6px; }
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.contact-people{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:36px}.contact-people>a{display:block;border-top:1px solid #c8ccbf;padding-block:19px 7px;min-width:0}.contact-name{display:flex;justify-content:space-between;align-items:center;font-size:16px;letter-spacing:-.025em}.contact-name>span{color:var(--copper);font-size:23px;transition:transform .2s}.contact-email{display:block;font-size:11px;color:var(--muted);margin-top:11px;overflow-wrap:anywhere}.contact-people>a:hover .contact-name>span{transform:translate(3px,-3px)}.contact-people>a:hover .contact-email{color:var(--copper)}
@media(max-width:1050px){.contact-people{gap:24px}.contact-email{font-size:10px}}
@media(max-width:720px){.contact-people{grid-template-columns:1fr;gap:17px;margin-top:27px}.contact-people>a{padding-top:17px}.contact-name{font-size:15px}.contact-email{font-size:12px}.contact-people>a:last-child{margin-bottom:0}}
