:root{
  --ink:#17201d;--ink-soft:rgba(23,32,29,.68);--paper:#f4f1ea;--sand:#d7c7ad;--clay:#b46f50;--moss:#52695d;--white:#fff;--line:rgba(23,32,29,.14);--dark:#17201d;--dark-soft:rgba(244,241,234,.7);--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--gutter:clamp(22px,5vw,80px);--max:1440px;--ease:cubic-bezier(.16,.8,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.5;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}.wrap{width:min(100% - 2 * var(--gutter),var(--max));margin-inline:auto}.eyebrow{display:inline-flex;align-items:center;gap:12px;color:var(--clay);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.eyebrow:before{content:"";width:30px;height:1px;background:currentColor}.on-dark{color:var(--paper)}.muted{color:var(--ink-soft)}.display,.heading{font-family:var(--serif);font-weight:500;line-height:1.02;letter-spacing:-.02em}.display{font-size:clamp(48px,8vw,116px)}.heading{font-size:clamp(34px,5vw,68px)}.subheading{font-size:clamp(18px,1.8vw,23px);line-height:1.55;font-weight:400;color:var(--ink-soft)}.body{font-size:16px;line-height:1.75;color:var(--ink-soft)}.section{padding:clamp(86px,11vw,170px) 0}.section-dark{background:var(--dark);color:var(--paper)}.section-sand{background:var(--sand)}
.site-header{position:fixed;inset:0 0 auto;z-index:20;padding:26px var(--gutter);display:flex;align-items:center;justify-content:space-between;color:var(--paper);transition:.5s var(--ease)}.site-header.scrolled,.site-header.solid{padding-block:17px;background:rgba(244,241,234,.94);color:var(--ink);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.brand{display:inline-flex;align-items:center;gap:11px;font-family:var(--serif);font-size:21px;font-weight:500;letter-spacing:.02em}.brand-mark{display:grid;place-items:center;width:27px;height:27px;border:1px solid currentColor;font-family:var(--sans);font-size:10px;letter-spacing:.08em}.desktop-nav{display:flex;align-items:center;gap:32px;font-size:13px;font-weight:500}.desktop-nav>a:not(.button){position:relative}.desktop-nav>a:not(.button):after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:currentColor;transition:.4s var(--ease)}.desktop-nav>a:not(.button):hover:after{right:0}.button{display:inline-flex;align-items:center;gap:13px;border:1px solid currentColor;padding:16px 25px;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;transition:.4s var(--ease)}.button:hover{background:var(--clay);border-color:var(--clay);color:var(--ink)}.button-small{padding:12px 18px}.button span{font-size:17px;line-height:0}.menu-toggle{display:none;width:34px;height:22px;border:0;background:none;color:inherit;padding:0;position:relative;z-index:23}.menu-toggle span{position:absolute;left:0;width:100%;height:1px;background:currentColor;transition:.35s var(--ease)}.menu-toggle span:nth-child(1){top:1px}.menu-toggle span:nth-child(2){top:10px}.menu-toggle span:nth-child(3){top:19px}.menu-toggle.open span:nth-child(1){top:10px;transform:rotate(45deg)}.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:nth-child(3){top:10px;transform:rotate(-45deg)}.mobile-nav{position:fixed;inset:0;z-index:15;display:flex;flex-direction:column;justify-content:center;gap:20px;padding:var(--gutter);background:var(--dark);color:var(--paper);transform:translateY(-100%);transition:.7s var(--ease)}.mobile-nav.open{transform:translateY(0)}.mobile-nav>a:not(.button){font-family:var(--serif);font-size:clamp(32px,8vw,64px)}.mobile-nav .button{align-self:flex-start;margin-top:22px}
.hero{min-height:100svh;position:relative;display:flex;align-items:flex-end;overflow:hidden;color:var(--paper);background:var(--dark)}.hero-image{position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1503387762-592 каждый?auto=format&fit=crop&w=2200&q=85') center/cover;transform:scale(1.06)}.hero-image:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,32,29,.22),rgba(23,32,29,.83))}.hero-content{position:relative;z-index:1;width:min(100% - 2 * var(--gutter),var(--max));margin:0 auto;padding:0 0 100px}.hero-content .eyebrow{margin-bottom:24px}.hero-content h1{max-width:9ch}.hero-content .subheading{max-width:46ch;margin-top:24px;color:var(--dark-soft)}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}.hero-scroll{position:absolute;bottom:30px;left:var(--gutter);z-index:2;display:flex;align-items:center;gap:13px;font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:var(--dark-soft)}.hero-scroll i{display:block;width:1px;height:38px;background:var(--dark-soft)}
.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(38px,7vw,110px);align-items:center}.intro-copy{max-width:650px}.intro-copy .heading{margin-top:20px}.intro-copy .body{margin-top:24px}.intro-copy .text-link{margin-top:30px}.photo{min-height:520px;background:center/cover no-repeat;position:relative;overflow:hidden}.photo:after{content:attr(data-caption);position:absolute;left:20px;bottom:18px;color:var(--paper);font-size:11px;letter-spacing:.15em;text-transform:uppercase;text-shadow:0 1px 12px #000}.photo-intro{background-image:linear-gradient(120deg,rgba(23,32,29,.1),rgba(23,32,29,.45)),url('https://images.unsplash.com/photo-1541888946425-d81bb19240f5?auto=format&fit=crop&w=1400&q=85')}.photo-founder{background-image:linear-gradient(120deg,rgba(23,32,29,.1),rgba(23,32,29,.35)),url('https://images.unsplash.com/photo-1564013799919-ab600027ffc6?auto=format&fit=crop&w=1200&q=85')}.text-link{display:inline-flex;align-items:center;gap:10px;border-bottom:1px solid var(--clay);padding-bottom:5px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.text-link span{font-size:17px;transition:.3s}.text-link:hover span{transform:translateX(5px)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:54px}.section-head .body{max-width:35ch}.service-list{border-top:1px solid var(--line)}.service-row{position:relative;display:grid;grid-template-columns:70px 1fr 30px;gap:20px;align-items:center;padding:30px 0;border-bottom:1px solid var(--line);transition:.35s var(--ease)}.service-row:hover{padding-inline:18px;background:var(--sand)}.service-row .index,.project-card .index{font-family:var(--serif);font-size:24px;color:var(--clay)}.service-row h3{font-family:var(--serif);font-size:clamp(24px,3vw,40px);font-weight:500}.service-row p{max-width:62ch;margin-top:7px;color:var(--ink-soft);font-size:14px}.service-row .arrow{font-size:24px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(244,241,234,.16);margin-top:60px}.principle{padding:40px 32px;background:var(--dark)}.principle h3{font-family:var(--serif);font-size:29px;font-weight:500;margin:21px 0 13px}.principle p{color:var(--dark-soft);font-size:15px;line-height:1.65}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.project-card{background:var(--white);padding:22px;transition:.4s var(--ease)}.project-card:hover{transform:translateY(-8px)}.project-card .project-image{aspect-ratio:4/3;background:center/cover}.project-card h3{font-family:var(--serif);font-size:27px;font-weight:500;margin:18px 0 5px}.project-card p{font-size:14px;color:var(--ink-soft)}.project-card[data-category]{cursor:pointer}.empty-project{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.empty-project .photo{min-height:380px;background-image:url('https://images.unsplash.com/photo-1511818966892-d7d671e672a2?auto=format&fit=crop&w=1200&q=85')}
.process-list{border-top:1px solid var(--line);margin-top:52px}.process-item{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:31px 0;border-bottom:1px solid var(--line)}.process-item .index{font-family:var(--serif);font-size:28px;color:var(--clay)}.process-item h3{font-family:var(--serif);font-size:29px;font-weight:500}.process-item p{margin-top:7px;color:var(--ink-soft)}.process-line{height:2px;background:var(--line);margin-top:21px;overflow:hidden}.process-line i{display:block;width:0;height:100%;background:var(--clay);transition:1.4s var(--ease)}.in-view .process-line i{width:100%}.founder-copy .heading{margin-top:20px}.founder-copy .body{margin-top:28px}.founder-name{font-family:var(--serif);font-size:24px;margin-top:28px}.founder-title{margin-top:4px;color:var(--clay);font-size:12px;letter-spacing:.1em;text-transform:uppercase}.testimonial-wrap{display:flex;justify-content:space-between;gap:40px;align-items:end}.testimonial{margin-top:48px;max-width:760px}.testimonial-quote{font-family:var(--serif);font-size:clamp(27px,4vw,48px);line-height:1.25}.testimonial-attribution{margin-top:28px;color:var(--clay);font-size:12px;letter-spacing:.11em;text-transform:uppercase}.slider-buttons{display:flex;gap:10px}.slider-buttons button{width:46px;height:46px;border:1px solid var(--line);border-radius:50%;background:none}.slider-buttons button:hover{background:var(--ink);color:var(--paper)}
.cta{position:relative;overflow:hidden;background:var(--dark);color:var(--paper);text-align:center;padding:clamp(100px,15vw,190px) var(--gutter)}.cta-image{position:absolute;inset:0;background:linear-gradient(rgba(23,32,29,.38),rgba(23,32,29,.82)),url('https://images.unsplash.com/photo-1510798831971-661eb04b3739?auto=format&fit=crop&w=2200&q=85') center/cover}.cta-content{position:relative;z-index:1;max-width:1200px;margin:auto}.cta-content .display{max-width:unset;margin:auto}.cta-content .subheading{color:var(--dark-soft);margin-top:22px}.cta-content .button{margin-top:35px}.filters{display:flex;gap:22px;flex-wrap:wrap;margin-top:35px;border-block:1px solid var(--line);padding:17px 0}.filter{border:0;background:none;padding:0 0 4px;color:var(--ink-soft);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid transparent}.filter.active,.filter:hover{color:var(--ink);border-color:var(--clay)}
.form-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,110px)}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:62px}.contact-details h3{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--clay);margin-bottom:8px}.contact-details p,.contact-details a{font-size:15px;color:var(--ink-soft)}form{display:grid;grid-template-columns:1fr 1fr;gap:21px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.field input,.field select,.field textarea{border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px 0;color:var(--ink);outline:none}.field textarea{min-height:130px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--clay)}form .button{max-height: 45px;justify-self:start;background:var(--ink);color:var(--paper)}.status{grid-column:1/-1;padding:16px;border:1px solid var(--line);font-size:14px}.legal{max-width:850px}.legal h2{font-family:var(--serif);font-size:31px;font-weight:500;margin:42px 0 12px}.legal p,.legal li{color:var(--ink-soft);line-height:1.8}.legal ul{list-style:disc;padding-left:20px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.in-view{opacity:1;transform:none}.site-footer{background:var(--dark);color:var(--dark-soft);padding:75px 0 25px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:50px;padding-bottom:60px;border-bottom:1px solid rgba(244,241,234,.15)}.brand-footer{color:var(--paper)}.footer-grid p{max-width:31ch;margin-top:22px;font-size:14px}.footer-grid h3{color:var(--sand);font-size:11px;text-transform:uppercase;letter-spacing:.14em;margin-bottom:18px}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:11px;font-size:14px}.footer-grid a:hover{color:var(--paper)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:24px;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.cursor-label{position:fixed;z-index:30;pointer-events:none;display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:var(--clay);color:var(--ink);font-size:11px;text-transform:uppercase;transform:translate(-50%,-50%) scale(0);transition:transform .25s var(--ease)}.cursor-label.active{transform:translate(-50%,-50%) scale(1)}
@media(max-width:900px){.desktop-nav{display:none}.menu-toggle{display:block}.hero-content{padding-bottom:90px}.grid-two,.form-layout{grid-template-columns:1fr}.photo{min-height:420px}.project-grid{grid-template-columns:1fr 1fr}.principles{grid-template-columns:1fr}.form-layout .photo{order:-1}.empty-project{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:600px){.section{padding-block:80px}.hero-content h1{font-size:clamp(49px,16vw,82px)}.hero-actions{flex-direction:column;align-items:flex-start}.section-head,.testimonial-wrap{display:block}.section-head .body{margin-top:19px}.service-row{grid-template-columns:42px 1fr 20px;gap:12px;padding-block:24px}.service-row h3{font-size:25px}.project-grid{grid-template-columns:1fr}.process-item{grid-template-columns:50px 1fr}.contact-details{grid-template-columns:1fr 1fr;gap:24px 12px}.form-layout form{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:8px}.cursor-label{display:none}}

/* Service previews stay out of the document flow and appear only on true hover devices. */
.service-row{isolation:isolate;overflow:visible}
.service-row > div{position:relative;z-index:2}
.service-row .index,.service-row .arrow{position:relative;z-index:2}
.service-row:hover{background:var(--ink);color:var(--paper);padding-inline:18px}
.service-row:hover p{color:var(--dark-soft)}
.service-row:hover .index{color:var(--sand)}
.service-row:hover .arrow{color:var(--clay)}
.service-preview{position:absolute;z-index:1;right:7%;top:50%;width:250px;aspect-ratio:4/3;transform:translate(20px,-50%) rotate(2deg);background-position:center;background-size:cover;box-shadow:0 18px 40px rgba(23,32,29,.24);opacity:0;pointer-events:none;transition:opacity .4s var(--ease),transform .55s var(--ease);filter:saturate(.86)}
.service-preview:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(23,32,29,.05),rgba(23,32,29,.32))}
.service-row:hover .service-preview{opacity:1;transform:translate(0,-50%) rotate(-2deg)}
@media (max-width:1100px) and (min-width:901px){.service-preview{right:3%;width:205px}.service-row:hover{padding-inline:12px}}
@media (max-width:900px){.service-preview{display:none}.service-row:hover{padding-inline:0;background:transparent;color:var(--ink)}.service-row:hover p{color:var(--ink-soft)}.service-row:hover .index{color:var(--clay)}.service-row:hover .arrow{color:var(--ink)}}

/* Background photographs reveal once, after their first load. */
.image-reveal{opacity:0;filter:blur(8px);transition:opacity .95s var(--ease),filter 1.1s var(--ease)}
.image-reveal.is-loaded{opacity:1;filter:blur(0)}

/* The hero marker draws from its top edge down toward the Scroll label. */
.hero-scroll i{position:relative;overflow:hidden}
.hero-scroll i:after{content:"";position:absolute;inset:0;background:var(--paper);transform:translateY(-100%);animation:hero-scroll-line 2.4s var(--ease) infinite}
@keyframes hero-scroll-line{0%{transform:translateY(-100%)}55%,100%{transform:translateY(100%)}}
.hero-image{background-image:url('https://images.unsplash.com/photo-1541888946425-d81bb19240f5?auto=format&fit=crop&w=2200&q=85')}
.brand-mark{width:79px;height:79px;flex:none;border:0;background:url('images/coastal%20edge%20logo.png') center/contain no-repeat;font-size:0;letter-spacing:0}
.hero-image{background-image:linear-gradient(180deg,rgba(8,18,22,.64) 0%,rgba(8,18,22,.18) 42%,rgba(8,18,22,.82) 100%),url('images/CE%20IMAGE%20LANDSCAPE-1.webp');background-position:center;background-size:cover}
.hero-content{padding-top:100px}
@media(max-width:600px){.hero-content{padding-top:100px}}
.cta-image{background-image:linear-gradient(rgba(23,32,29,.34),rgba(23,32,29,.84)),url('images/CE%20IMAGE%20LANDSCAPE-20.webp');background-image:linear-gradient(rgba(23,32,29,.34),rgba(23,32,29,.84)),url('images/contact\ bg.avif');background-position:center;background-size:cover}
.button.clay{background:var(--clay);border-color:var(--clay);color:var(--paper)}
.button.clay{position:relative;overflow:hidden;isolation:isolate;transition:color .3s ease,border-color .3s ease}
.button.clay::before{content:"";position:absolute;inset:0;background:var(--paper);transform:translateX(-101%);z-index:-1;transition:transform .5s cubic-bezier(.65,0,.35,1)}
.button.clay span{position:relative;z-index:2;transition:transform .35s ease}
.button.clay:hover{background:var(--clay);border-color:var(--clay);color:var(--clay)}
.button.clay:hover::before{transform:translateX(0)}
.button.clay:hover span{transform:translateX(4px)}
.button{position:relative;overflow:hidden;isolation:isolate}
.button::before{content:"";position:absolute;inset:0;background:var(--clay);transform:translateX(-101%);z-index:-1;transition:transform .5s cubic-bezier(.65,0,.35,1)}
.button > *{position:relative;z-index:2}
.button:hover{background:transparent}
.button:hover::before{transform:translateX(0)}
.button:hover span{transform:translateX(4px)}
.button.clay::before{background:var(--paper)}
.button.clay:hover{background:var(--clay)}
.contact-submit{min-height:48px;padding:12px 20px;line-height:1}
.contact-submit:disabled{opacity:.65;cursor:wait}
.status.is-error{border-color:#a83232;color:#a83232}