/* Homepage-only visual identity: warm typography, photography and restrained motion. */
.home-page{background:#121413;font-family:'Segoe UI',Arial,sans-serif}
.home-page h1,.home-page h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em;line-height:1.06;text-wrap:balance}
.home-page h1{font-size:clamp(58px,6.8vw,96px);margin-top:24px}
.home-page h1 em{color:#e7c477;font-weight:400;position:relative}
.home-page h2{font-size:clamp(38px,4.4vw,64px)}
.home-page h3{font-size:24px;letter-spacing:-.025em}
.home-page .hero{min-height:730px;margin-top:0;padding-top:65px}
.home-page .hero-copy{max-width:660px}
.home-page .hero-photo{inset:28px 3% 25px 44%;border-radius:200px 200px 20px 20px;overflow:hidden}
.home-page .hero-photo:after{background:linear-gradient(90deg,#121413cc,transparent 50%),linear-gradient(0deg,#12141399,transparent 55%)}
.home-page .hero-photo img{object-position:center 28%;animation:hero-arrive 1.2s ease-out both}
.home-page .photo-label{left:14%;right:7%;bottom:30px;border-radius:3px;background:#121413cc}
.home-page .hero-copy{animation:copy-arrive .8s ease-out both}
.home-page .button{border-radius:2px;padding:16px 25px;letter-spacing:.015em}
.home-page .hero-foot .line{background:#d5b66f;width:54px}
.home-page .services{position:relative;background:#191d18;border-top:1px solid #d5b66f33}
.home-page .section-heading{align-items:end;margin-bottom:45px}
.home-page .service-grid{gap:24px}
.home-page .service-grid article,.home-page .service-grid article+article{border:1px solid #d5b66f26;background:#20251f;border-radius:4px;padding:0 27px 26px;overflow:hidden}
.service-photo{display:block;width:calc(100% + 54px);max-width:none;height:240px;object-fit:cover;margin:0 -27px 25px;filter:saturate(.75);transition:transform .65s,filter .65s}
.home-page .service-grid article:hover .service-photo{transform:scale(1.025);filter:saturate(1)}
.home-page .number{border:0;border-radius:0;width:auto;height:auto;font:italic 25px Georgia;color:#d5b66f}
.home-page .service-grid h3{margin:14px 0}
.home-page .service-tag{display:block;margin-top:24px;font-size:11px;letter-spacing:.05em}
.home-page .sand{background:radial-gradient(ellipse at 0% 0%,#354c5c66,transparent 65%),linear-gradient(120deg,#202d36,#18232c);color:#ecede8;position:relative;overflow:hidden;border-top:1px solid #d5b66f55;border-bottom:1px solid #d5b66f33}
.home-page .sand h2{color:#f1eee5}
.home-page .sand .eyebrow{color:#e1c487}
.home-page .sand p,.home-page .sand li{color:#d1dbe0}
.home-page .sand .note{color:#b7c4ce}
.home-page .sand li{border-color:#a3b6c333}
.home-page .sand li:before{color:#e1c487}
.home-page .sand:after{content:'';position:absolute;width:330px;height:330px;border:1px solid #c8ac701a;border-radius:50%;left:-165px;bottom:-220px;pointer-events:none}
.home-page .process{background:#151915}
.home-page .steps{gap:38px}
.home-page .steps article{border-top:1px solid #b99a5966}
.home-page .steps article>span{font-size:48px;color:#d5b66f}
.home-page .contact{background:radial-gradient(ellipse at 15% 100%,#4d59362e,transparent 70%),#0b100c}
.home-page .contact-details{border-radius:4px}
.home-page .eyebrow{color:#d5b66f;font-weight:600}
.home-page nav a{position:relative}
.home-page nav a:after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:1px;background:#d5b66f;transform:scaleX(0);transform-origin:left;transition:transform .25s}
.home-page nav a:hover:after,.home-page nav a:focus-visible:after{transform:scaleX(1)}
.home-page .reveal-in{animation:copy-arrive .65s ease-out both}
@keyframes copy-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes hero-arrive{from{opacity:.3;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}
@media(max-width:1000px) and (min-width:801px){.home-page .hero{min-height:760px}.home-page .service-grid{gap:14px}.service-photo{height:200px}}
@media(max-width:800px){.home-page .hero{min-height:0;padding:25px 6% 35px}.home-page h1{font-size:clamp(52px,10vw,76px)}.home-page .hero-photo{inset:auto;border-radius:140px 140px 8px 8px;height:400px;margin-top:8px}.home-page .hero-photo:after{background:linear-gradient(0deg,#121413aa,transparent 65%)}.home-page .photo-label{left:8%;right:8%;bottom:24px}.home-page .service-grid{gap:25px}.service-photo{height:270px}.home-page .section-heading{margin-bottom:30px}.home-page .steps article>span{font-size:36px}.home-page .contact h2{font-size:54px}.home-page .brand{min-width:0}.home-page .contact-details .email{font-size:clamp(18px,5.8vw,27px)}}
/* Frameless photograph fading naturally into the page. */
.home-page .hero-photo{inset:0 0 0 38%;border-radius:0;border:0;clip-path:none;background:transparent}
.home-page .hero-photo:after{background:linear-gradient(90deg,#121413 0%,#121413fa 8%,#121413e6 18%,#121413b3 30%,#12141373 43%,#12141333 56%,#1214130d 68%,#12141300 78%),linear-gradient(0deg,#121413 0%,#121413e6 4%,#12141399 11%,#12141340 20%,#12141300 34%),linear-gradient(180deg,#121413 0%,#121413cc 4%,#12141366 10%,#1214131a 18%,#12141300 28%)}
.home-page .hero-photo:before{content:none}
.hero-frame-detail{display:none}
@media(max-width:800px){.home-page .hero-photo{inset:auto;border-radius:0;margin-left:-6.82%;width:113.64%;height:390px}.home-page .hero-photo:after{background:linear-gradient(180deg,#121413 0%,#121413cc 5%,#12141366 13%,#1214131a 23%,transparent 35%),linear-gradient(0deg,#121413 0%,#121413cc 6%,#12141366 15%,#1214131a 26%,transparent 38%),linear-gradient(90deg,#121413 0%,#12141399 7%,#12141340 17%,transparent 32%)} }
@media(prefers-reduced-motion:reduce){.home-page *,.home-page *:before,.home-page *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
