/* Crimson Stays — sculpted surfaces and restrained motion. */
:root{--curve:28px;--curve-small:16px}
html{scroll-behavior:smooth;scroll-padding-top:30px}
body{overflow-x:clip}
::selection{background:#a7dfcf;color:#073f43}
.hero{border-radius:0 0 56px 56px;isolation:isolate;box-shadow:0 26px 60px #073f4320}
.hero-bg{inset:-28px;transform:translate3d(0,var(--hero-shift,0px),0) scale(1.035);will-change:transform}
.hero:before{content:'';position:absolute;z-index:1;width:620px;height:620px;right:-210px;top:200px;border:1px solid #d9b86f38;border-radius:50%;box-shadow:0 0 0 65px #d9b86f08,0 0 0 130px #d9b86f05;pointer-events:none}
.header{border-bottom:0;padding:14px 18px}
.header .nav{border:1px solid #ffffff25;border-radius:28px;background:linear-gradient(110deg,#063437c9,#06343760);backdrop-filter:blur(18px);box-shadow:0 12px 40px #001e2426}
.brand{border-radius:22px!important}
.hero h1 em{text-shadow:0 8px 35px #a7dfcf18}
.hero-foot{bottom:22px;left:24px;right:24px;border-radius:26px;background:#073f4370;backdrop-filter:blur(16px);border:1px solid #ffffff20;overflow:hidden}
.button,.back,.cta,button[type=submit],.form-card button{border-radius:999px!important;transition:transform .3s ease,box-shadow .3s ease,background .3s ease}
.button-primary,.form-card button{box-shadow:0 9px 24px #002f3330,inset 0 1px #ffffff28}
.button:hover,.back:hover,.cta:hover{transform:translateY(-3px);box-shadow:0 14px 30px #001e242b}
nav a{border-radius:999px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #c67557;outline-offset:5px}
.service-card,.owner-grid article,.visibility-grid article,.standard-cards article,.photo-cards article,.form-card,.platform-band,.onboarding-fee,.image-stat,.service-panel{border-radius:var(--curve)!important;overflow:hidden}
.mosaic-main,.mosaic-side img,.investment-image>img,.step-photo,.launch-photo,.owner-photo,.visibility-photo,.detail-photo,.service-card img{border-radius:22px!important}
.mosaic-main,.mosaic-side img,.investment-image>img{box-shadow:0 28px 65px #073f4324}
.owner-photo,.visibility-photo,.detail-photo{border-radius:19px!important}
.detail-photo:after,.platform-band:before{border-radius:14px}
.service-card:after{border-radius:inherit}
.icon,.owner-icon,.visibility-icon,.launch-icon,.contact-action-icon,.step .icon,.faq-list summary svg{border-radius:14px!important}
.owner-icon:after,.visibility-icon:after,.launch-icon:after,.contact-action-icon:after,.step .icon:after{border-radius:9px!important}
.contact .detail-line{border-radius:22px}
.form-card{border:1px solid #ffffff90;box-shadow:0 30px 75px #073f4320,inset 0 1px white}
input,textarea,select{border-radius:14px!important;transition:border-color .25s,box-shadow .25s}
input:focus,textarea:focus,select:focus{outline:none;border-color:#0c6d67!important;box-shadow:0 0 0 4px #0c6d6715}
.faqs .faq-list{border-top:0}
.faqs .faq-list details{margin-bottom:12px;border:1px solid #0d333b20;border-radius:20px;background:#ffffff45;overflow:hidden;transition:box-shadow .3s,background .3s}
.faqs .faq-list details[open]{background:#fffaf1;box-shadow:0 14px 35px #073f430a}
.faqs .faq-list summary{padding:24px!important}
.faqs .faq-list details p{padding-left:24px!important;padding-right:24px!important}
.owner-service,.nationwide{border-radius:44px;isolation:isolate}
.nationwide-image{border-radius:44px 0 0 44px}
.footer{border-radius:40px 40px 0 0}
.cs-depth{position:relative;transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--lift,0px))!important;transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s!important}
.cs-depth:hover{--lift:-5px;box-shadow:0 30px 60px #002f3326}
.cs-depth:before{content:'';position:absolute;z-index:5;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(400px circle at var(--px,50%) var(--py,50%),#fff6,transparent 65%);opacity:0;mix-blend-mode:soft-light;transition:opacity .35s}
.cs-depth:hover:before{opacity:.65}
.cs-enter{animation:cs-arrive .85s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--delay,0ms)}
@keyframes cs-arrive{from{opacity:0;translate:0 25px}to{opacity:1;translate:0 0}}
.cs-progress{position:fixed;z-index:100;top:0;left:0;right:0;height:3px;transform:scaleX(var(--progress,0));transform-origin:left;background:linear-gradient(90deg,#a7dfcf,#d9b86f,#c67557);pointer-events:none}
@media(min-width:961px){.hero-content{max-width:820px}.hero h1{font-size:clamp(4rem,6.5vw,6.65rem)}.hero .label{max-width:650px}.owner-service,.nationwide{margin-left:18px;margin-right:18px}}
@media(max-width:620px){.header{padding:8px}.header .nav{border-radius:20px;padding:7px!important}.hero,.hero-inner{min-height:980px}.hero{border-radius:0 0 30px 30px}.hero-content{padding-bottom:290px}.hero-foot{left:12px;right:12px;bottom:12px;border-radius:22px}.hero:before{width:340px;height:340px;right:-230px}.owner-service,.nationwide{border-radius:28px}.nationwide-image{border-radius:28px 28px 0 0}.footer{border-radius:28px 28px 0 0}.cs-depth{transform:none!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-bg,.cs-depth{transform:none!important}.cs-enter{opacity:1;translate:none}}
button{border-radius:14px}
@media(max-width:620px){.hero-bg:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#04242785,#04242738)}.hero .label{color:#b9ebdc}.hero p{color:#edf4f1}}
/* Clear service introduction and property enquiry fields. */
.hero .label{text-transform:none;letter-spacing:.055em;font-size:clamp(.86rem,1.2vw,1rem);line-height:1.65;font-weight:600;max-width:650px}
.field select{width:100%;min-width:0;padding:14px;border:1px solid #ccd4d0;background:white;color:var(--ink);font:inherit}
.field{align-content:start;min-width:0}
.field-hint{font-size:.72rem;line-height:1.5;color:#626e68}
.field label .optional{text-transform:none;letter-spacing:0;font-weight:400}
/* Lead with the management service; retain the brand promise underneath. */
.hero .hero-management-title{font-size:clamp(2.75rem,4.6vw,4.7rem);line-height:1.08;letter-spacing:-.035em;max-width:850px;margin:0 0 24px;text-wrap:balance}
.hero p.hero-tagline{font-family:var(--serif);font-size:clamp(1.4rem,2.2vw,2rem);line-height:1.3;font-style:italic;color:#a7dfcf;max-width:none;margin:0 0 24px}
@media(max-width:620px){.hero .hero-management-title{font-size:clamp(2.1rem,8.8vw,3.1rem);line-height:1.1}.hero p.hero-tagline{font-size:1.45rem}.hero,.hero-inner{min-height:1080px}}
/* Calmer hero: lighter hierarchy and quieter photography. */
.hero .hero-management-title{font-size:clamp(2.5rem,3.65vw,3.9rem);line-height:1.13;letter-spacing:-.025em;max-width:800px;margin-bottom:26px}
.hero p.hero-tagline{font-size:clamp(1.25rem,1.65vw,1.65rem);color:#c4ded5;margin-bottom:22px}
.hero-content>p:not(.hero-tagline){font-size:.94rem;line-height:1.85;max-width:560px;color:#d6e2df}
.hero-bg{filter:saturate(.7)}
.hero:before{display:none}
.hero-foot{background:#073f4355;box-shadow:none}
.header .nav{box-shadow:none;background:linear-gradient(110deg,#063437b8,#06343755)}
@media(max-width:620px){.hero .hero-management-title{font-size:clamp(1.95rem,8vw,2.65rem);line-height:1.15}.hero p.hero-tagline{font-size:1.25rem}.hero-content>p:not(.hero-tagline){font-size:.86rem}.hero,.hero-inner{min-height:1010px}}
/* Each source sheet contains square tiles: keep both scaling axes equal. */
.owner-visibility--photos .visibility-photo,
.property-standard--photos .detail-photo{height:auto!important;aspect-ratio:1 / 1;background-origin:border-box}
