/* Photo-led hospitality editorial; inspired by the supplied photography reference. */
body.ec-coastal-site {--wf-paper:#faf8f3;--wf-ink:#172a2b;--wf-muted:#606c68;--wf-gold:#d6b98e;--wf-dark:#10282a;--ec-ink:#172a2b;--ec-atelier-accent:#a87650;background:var(--wf-paper)!important;color:var(--wf-ink);}
body.ec-coastal-site .ec-page {background:var(--wf-paper)!important;color:var(--wf-ink);}
body.ec-coastal-site .ec-page h1,body.ec-coastal-site .ec-page h2 {font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP",serif!important;font-weight:400!important;letter-spacing:-.035em!important;}
body.ec-coastal-site .ec-page p {line-height:1.85;}
body.ec-coastal-site .ec-page .ec-kicker,body.ec-coastal-site .wf-eyebrow {font-family:inherit;font-size:12px!important;letter-spacing:.09em;line-height:1.8;color:#996b48!important;font-weight:600;}
body.ec-coastal-site > header {background:rgba(250,248,243,.97)!important;border-bottom:1px solid #deddd3!important;backdrop-filter:blur(12px);}
body.ec-coastal-site > header .brand {color:#172a2b!important;}
body.ec-coastal-site > header .links a {color:#384c49!important;font-size:12px!important;}
body.ec-coastal-site > header .nav-cta {background:#172f30!important;border:1px solid #172f30!important;color:#fff!important;min-height:44px;}
body.ec-coastal-site > header .logo-icon-img {filter:none!important;}
body.ec-coastal-site .ec-page .ec-text-link {color:#274844!important;border-color:#a9b8ac!important;}
body.ec-coastal-site.ec-bespoke-site .ec-page.ec-coastal-home > .ec-section {padding:76px 0!important;}
body.ec-coastal-site .ec-immersive-hero {background:#10282a;height:min(100svh,880px);min-height:650px;}
body.ec-coastal-site .ec-immersive-slide {padding-left:max(7vw,26px);padding-right:max(7vw,26px);}
body.ec-coastal-site .ec-immersive-copy {width:min(900px,74vw);margin-top:12px;text-shadow:none;}
body.ec-coastal-site .ec-immersive-copy h1,body.ec-coastal-site .ec-immersive-copy h2 {font-size:clamp(46px,5.25vw,78px)!important;line-height:1.3!important;color:#fffdf8!important;white-space:nowrap;}
body.ec-coastal-site .ec-immersive-copy em {font-style:normal;color:#e4c79f;}
body.ec-coastal-site .wf-title-line {display:block;}
body.ec-coastal-site .ec-immersive-subheading {color:#ebd0ae!important;margin-bottom:23px;font-size:13px;letter-spacing:.09em;}
body.ec-coastal-site .ec-immersive-shade {background:linear-gradient(90deg,rgba(7,25,27,.75),rgba(7,25,27,.43) 42%,rgba(7,25,27,.12)),linear-gradient(0deg,rgba(7,18,20,.48),transparent 55%);}
body.ec-coastal-site .ec-immersive-backdrop img {filter:blur(22px) saturate(.9) brightness(.7);}
body.ec-coastal-site .ec-immersive-description {font-size:17px!important;line-height:1.85;max-width:620px;margin-top:24px;}
.wf-hero-actions {display:flex;gap:26px;align-items:center;flex-wrap:wrap;margin-top:30px;}
body.ec-coastal-site .ec-immersive-hero .ec-immersive-cta {margin-top:0;background:#e2c49c!important;color:#152b2c!important;border:1px solid #e2c49c!important;padding:17px 24px;min-height:58px;font-size:16px;gap:32px;font-weight:600;}
body.ec-coastal-site .ec-immersive-hero .ec-immersive-cta:hover {background:#fffdf8!important;color:#152b2c!important;}
.wf-hero-work {display:flex;align-items:center;gap:23px;min-height:48px;color:#fffdf8!important;font-size:15px;border-bottom:1px solid #aeafa4;text-decoration:none;}
body.ec-coastal-site .ec-immersive-controls {top:auto;bottom:29px;right:5vw;}
body.ec-coastal-site .ec-immersive-pause {background:rgba(15,33,33,.3);}
.wf-trust {display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:25px;padding-bottom:25px;border-bottom:1px solid #deded3;}
.wf-trust p {font-size:11px;margin:0;color:#6a746d;}
.wf-trust a {font-size:14px;color:#28413c;line-height:1.8;}
.wf-trust a span {color:#b5b9aa;margin:0 8px;}
.wf-trust b {font-weight:400;margin-left:22px;}
body.ec-coastal-site.ec-bespoke-site .ec-page .ec-portfolio-section {background:var(--wf-paper)!important;}
body.ec-coastal-site.ec-bespoke-site .ec-page .ec-portfolio-heading {display:flex!important;align-items:end;justify-content:space-between;flex-wrap:wrap;gap:14px 34px;margin-bottom:34px!important;}
body.ec-coastal-site.ec-bespoke-site .ec-page .ec-portfolio-heading>.ec-kicker {flex-basis:100%;margin-bottom:0!important;}
body.ec-coastal-site.ec-bespoke-site .ec-page .ec-portfolio-heading h2 {font-size:clamp(30px,3.2vw,46px)!important;line-height:1.5!important;}
body.ec-coastal-site.ec-bespoke-site .ec-page .ec-portfolio-heading>p:not(.ec-kicker) {font-size:15px!important;line-height:1.85!important;max-width:340px;}
body.ec-coastal-site.ec-bespoke-site .ec-page .ec-portfolio-grid {grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:36px!important;}
body.ec-coastal-site.ec-bespoke-site .ec-page .ec-portfolio-card .ec-portfolio-link {display:block!important;}
body.ec-coastal-site.ec-bespoke-site .ec-page .ec-portfolio-card .ec-portfolio-preview {background:#e9ede7!important;border:0!important;padding:20px 28px 26px!important;aspect-ratio:16/10!important;overflow:hidden;}
body.ec-coastal-site.ec-bespoke-site .ec-page .ec-portfolio-card .ec-portfolio-copy {padding:17px 0 20px!important;}
body.ec-coastal-site.ec-bespoke-site .ec-page .ec-portfolio-title {min-height:32px!important;align-items:start!important;}
body.ec-coastal-site.ec-bespoke-site .ec-page .ec-portfolio-title h3 {font-size:21px!important;line-height:1.55!important;margin:0!important;font-weight:500!important;color:#223733!important;}
body.ec-coastal-site.ec-bespoke-site .ec-page .ec-portfolio-description {font-size:14px!important;line-height:1.75!important;color:#627069!important;}
body.ec-coastal-site.ec-bespoke-site .ec-page .ec-portfolio-site {font-size:12px!important;margin-top:13px!important;display:inline-flex!important;gap:16px;color:#34534a!important;}
body.ec-coastal-site.ec-bespoke-site .ec-page .ec-portfolio-category {font-size:11px!important;color:#96714d!important;}
body.ec-coastal-site .ec-featured-project {border:0!important;background:#e9ede7!important;}
body.ec-coastal-site .ec-featured-copy {background:#edf0e9!important;}
body.ec-coastal-site .ec-featured-copy h3 {font-family:"Yu Mincho","Hiragino Mincho ProN",serif!important;}
body.ec-coastal-site .ec-portfolio-cta {padding-top:24px!important;padding-bottom:24px!important;}
body.ec-coastal-site .ec-portfolio-cta p {font-size:14px!important;}
body.ec-coastal-site .ec-sns-case {padding-top:50px!important;border-top:1px solid #dedfd4;}
body.ec-coastal-site .ec-sns-heading h2 {font-size:30px!important;}
body.ec-coastal-site .ec-sns-layout {margin-top:24px!important;}
body.ec-coastal-site .ec-sns-copy h3 {font-size:24px!important;}
body.ec-coastal-site .ec-sns-description {font-size:14px!important;}
.wf-support {background:#122b2b;color:#fffdf8;}
.wf-support-scene {position:relative;min-height:460px;overflow:hidden;display:flex;align-items:center;}
.wf-support-scene figure {position:absolute;inset:0;margin:0;}
body.ec-coastal-site .wf-support-scene img {width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;object-position:90% center;opacity:.67;}
.wf-support-scene::after {content:'';position:absolute;inset:0;background:linear-gradient(90deg,#102829 5%,rgba(16,40,41,.8) 35%,rgba(16,40,41,.1));pointer-events:none;}
.wf-support-copy {position:relative;z-index:1;margin-left:max(7vw,26px);max-width:720px;padding:60px 0;}
body.ec-coastal-site .wf-support-copy .wf-eyebrow {color:#dcc5a7!important;}
body.ec-coastal-site .wf-support-copy h2 {font-size:clamp(34px,4vw,58px)!important;line-height:1.45!important;color:#fffdf8!important;margin:20px 0!important;}
.wf-support-copy em {font-style:normal;color:#e2c69e;}
body.ec-coastal-site .wf-support-copy>p:not(.wf-eyebrow) {color:#e1e5db!important;font-size:17px;}
.wf-support-links {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding-top:24px;padding-bottom:24px;}
.wf-support-links>a {position:relative;padding:15px 30px;border-right:1px solid #46605b;min-width:0;}
.wf-support-links>a:first-child {padding-left:0;}
.wf-support-links>a:last-child {border-right:0;}
.wf-support-links span {display:block;font-size:18px;color:#f7f7ef;font-weight:500;}
.wf-support-links small {display:block;font-size:13px;color:#b6c3b7;line-height:1.8;margin-top:9px;}
.wf-support-links b {position:absolute;right:22px;top:13px;color:#dfc49d;font-size:20px;font-weight:400;}
body.ec-coastal-site.ec-bespoke-site .ec-page .wf-contact {background:#faf8f3!important;}
body.ec-coastal-site .wf-contact .ec-bespoke-contact-layout {grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:70px;}
body.ec-coastal-site .wf-contact .ec-bespoke-contact-copy h2 {color:#193330!important;font-size:clamp(32px,3.4vw,49px)!important;line-height:1.55!important;margin:20px 0!important;}
body.ec-coastal-site .wf-contact .ec-bespoke-contact-copy p {color:#647068!important;font-size:16px;}
.wf-contact-assurance {margin-top:28px;border-top:1px solid #d1d8cb;border-bottom:1px solid #d1d8cb;padding:19px 0;display:flex;flex-wrap:wrap;gap:10px;color:#5b6b60;font-size:12px;line-height:1.85;}
.wf-contact-assurance i {font-style:normal;color:#a98155;}
body.ec-coastal-site .wf-contact .ec-bespoke-phone a {color:#254338!important;font-size:29px;}
body.ec-coastal-site .wf-contact .ec-bespoke-phone span {color:#808b78;}
body.ec-coastal-site .wf-contact .ec-bespoke-contact-copy .ec-text-link {color:#385649!important;}
body.ec-coastal-site.ec-bespoke-site .ec-inquiry-form {background:#fffefb!important;border:1px solid #d9ddcf!important;border-top:3px solid #bb9169!important;padding:34px!important;box-shadow:0 14px 40px #233c2410!important;}
body.ec-coastal-site .ec-inquiry-form h2 {font-family:inherit!important;font-weight:500!important;color:#233c35!important;}
body.ec-coastal-site .ec-inquiry-form .ec-owner-form-intro {font-size:14px!important;margin-bottom:22px;}
body.ec-coastal-site .ec-inquiry-form input,body.ec-coastal-site .ec-inquiry-form textarea,body.ec-coastal-site .ec-inquiry-form select {background:#fbfaf6!important;border:1px solid #cdd5c6!important;border-radius:0!important;font-size:16px!important;min-height:48px;color:#243d33!important;}
body.ec-coastal-site .ec-inquiry-form input:focus,body.ec-coastal-site .ec-inquiry-form select:focus,body.ec-coastal-site .ec-inquiry-form textarea:focus {outline:2px solid #a78963!important;outline-offset:2px;}
body.ec-coastal-site .ec-inquiry-form .wpcf7-submit {background:#193c36!important;color:#fff!important;font-size:17px!important;min-height:54px!important;cursor:pointer;}
body.ec-coastal-site .ec-inquiry-form .wpcf7-submit:hover {background:#325548!important;}
body.ec-coastal-site .ec-atelier-local-privacy {background:transparent!important;border-top:1px solid #d9ddcf;padding:15px 0 0!important;}
body.ec-coastal-site .ec-atelier-local-privacy p,body.ec-coastal-site .ec-form-fallback {font-size:12px!important;line-height:1.85!important;color:#7b8672!important;}
body.ec-coastal-site .ec-inquiry-form .wpcf7-form input[type=checkbox] {min-height:0!important;width:18px;height:18px;accent-color:#284e42;}
.wf-business {background:#edf0e9!important;}
.wf-section-title {margin-bottom:30px;}
body.ec-coastal-site .wf-section-title h2 {font-size:clamp(29px,3vw,43px)!important;line-height:1.55;}
.wf-business-grid {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:42px;}
.wf-business-grid article {min-width:0;}
.wf-business-grid figure {margin:0 0 23px;overflow:hidden;}
body.ec-coastal-site .wf-business-grid img {display:block;width:100%!important;height:auto!important;aspect-ratio:16/10!important;object-fit:contain!important;background:#d4ddd0;}
body.ec-coastal-site .wf-business h3 {font-size:23px!important;line-height:1.6;color:#244033;margin-bottom:8px;}
body.ec-coastal-site .wf-business p {font-size:15px;color:#6b7866;}
.wf-event-links {margin:20px 0;}
.wf-event-links>a {display:flex;align-items:start;gap:18px;border-top:1px solid #cad2c1;padding:15px 0;font-size:14px;color:#355242;}
.wf-event-links time {font-size:12px;flex:0 0 83px;color:#908064;}
.wf-event-links span {min-width:0;}
.wf-event-links small {display:block;font-size:11px;line-height:1.8;color:#6d7a68;margin-top:5px;}
.wf-event-links b {margin-left:auto;font-weight:400;}
body.ec-coastal-site .wf-business .ec-cleaning-fee-label {font-size:22px!important;color:#294b3a!important;margin:26px 0;}
.wf-image-note {font-size:11px!important;color:#8b9582!important;margin-top:22px;}
.wf-sales {border-top:1px solid #c9d3c2;padding-top:22px;margin-top:28px;display:flex;justify-content:space-between;gap:20px;color:#48624d;font-size:14px;}
.wf-sales b {margin-left:25px;}
.wf-company>.ec-container {display:grid;grid-template-columns:1fr 1fr;gap:50px;}
body.ec-coastal-site .wf-company h2 {font-family:inherit!important;font-size:22px!important;line-height:1.5;color:#28412f;}
.wf-company p {font-size:13px;color:#7d8872;}
.wf-company dl {margin:0;}
.wf-company dl>div {display:grid;grid-template-columns:94px minmax(0,1fr);padding:13px 0;border-bottom:1px solid #d9ddcd;font-size:13px;line-height:1.8;}
.wf-company dt {color:#929a87;}
.wf-company dd {margin:0;color:#526748;overflow-wrap:anywhere;}
body.ec-coastal-site footer.site-footer {background:#10292a!important;}
body.ec-coastal-site .ec-direct-sticky .ec-sticky-consult {background:#213f38!important;color:#fff!important;}
@media(max-width:780px) {
 body.ec-coastal-site .ec-immersive-hero {height:min(100svh,710px);min-height:610px;}
 body.ec-coastal-site .ec-immersive-slide {padding:85px 6vw 93px;}
 body.ec-coastal-site .ec-immersive-copy {width:100%;max-width:none;}
 body.ec-coastal-site .ec-immersive-copy h1,body.ec-coastal-site .ec-immersive-copy h2 {font-size:clamp(30px,8.35vw,43px)!important;line-height:1.45!important;}
 body.ec-coastal-site .ec-immersive-description {font-size:15px!important;line-height:1.85;margin-top:18px;max-width:300px;}
 body.ec-coastal-site .ec-immersive-subheading {font-size:10px;line-height:1.9;margin-bottom:14px;}
 body.ec-coastal-site .ec-immersive-shade {background:linear-gradient(0deg,rgba(9,24,26,.93),rgba(9,24,26,.64) 39%,rgba(9,24,26,.16) 77%);}
 .wf-hero-actions {gap:12px 23px;margin-top:23px;}
 body.ec-coastal-site .ec-immersive-hero .ec-immersive-cta {padding:14px 18px;min-height:51px;font-size:14px;gap:24px;}
 .wf-hero-work {min-height:44px;font-size:12px;gap:13px;}
 body.ec-coastal-site .ec-immersive-controls {bottom:21px;right:5vw;}
 .wf-trust {display:block;padding-top:19px;padding-bottom:20px;}
 .wf-trust p {font-size:10px;margin-bottom:8px;}
 .wf-trust a {font-size:11px;line-height:2;}
 .wf-trust a span {margin:0 4px;}
 .wf-trust b {margin-left:8px;}
 body.ec-coastal-site.ec-bespoke-site .ec-page.ec-coastal-home > .ec-section {padding:43px 0!important;}
 body.ec-coastal-site.ec-bespoke-site .ec-page .ec-portfolio-heading {display:block!important;margin-bottom:24px!important;}
 body.ec-coastal-site.ec-bespoke-site .ec-page .ec-portfolio-heading h2 {font-size:30px!important;line-height:1.5!important;margin:12px 0!important;}
 body.ec-coastal-site.ec-bespoke-site .ec-page .ec-portfolio-heading>p:not(.ec-kicker) {font-size:13px!important;}
 body.ec-coastal-site.ec-bespoke-site .ec-page .ec-portfolio-grid {grid-template-columns:1fr!important;gap:28px!important;}
 body.ec-coastal-site.ec-bespoke-site .ec-page .ec-portfolio-card .ec-portfolio-link {display:grid!important;grid-template-columns:minmax(0,.48fr) minmax(0,.52fr)!important;gap:15px!important;align-items:start!important;padding:0!important;}
 body.ec-coastal-site.ec-bespoke-site .ec-page .ec-portfolio-card .ec-portfolio-preview {padding:7px 9px 11px!important;aspect-ratio:16/11!important;}
 body.ec-coastal-site.ec-bespoke-site .ec-page .ec-portfolio-card .ec-portfolio-copy {padding:0!important;border:0!important;}
 body.ec-coastal-site.ec-bespoke-site .ec-page .ec-portfolio-title {min-height:0!important;}
 body.ec-coastal-site.ec-bespoke-site .ec-page .ec-portfolio-title h3 {font-size:16px!important;line-height:1.5!important;}
 body.ec-coastal-site.ec-bespoke-site .ec-page .ec-portfolio-description {font-size:12px!important;line-height:1.8!important;margin-top:8px!important;}
 body.ec-coastal-site.ec-bespoke-site .ec-page .ec-portfolio-category {font-size:10px!important;}
 body.ec-coastal-site.ec-bespoke-site .ec-page .ec-portfolio-site {font-size:10px!important;margin-top:9px!important;gap:9px;}
 body.ec-coastal-site .ec-sns-heading h2 {font-size:25px!important;}
 body.ec-coastal-site .ec-sns-case {padding-top:32px!important;}
 body.ec-coastal-site .ec-sns-description {font-size:12px!important;}
 body.ec-coastal-site .ec-sns-copy h3 {font-size:18px!important;}
 .wf-support-scene {min-height:355px;align-items:flex-end;}
 body.ec-coastal-site .wf-support-scene img {object-position:center top;opacity:.72;}
 .wf-support-scene::after {background:linear-gradient(0deg,rgba(16,40,41,.98),rgba(16,40,41,.48) 52%,rgba(16,40,41,.07));}
 .wf-support-copy {margin:0;padding:40px 6vw;}
 body.ec-coastal-site .wf-support-copy h2 {font-size:29px!important;line-height:1.55!important;margin:14px 0!important;}
 body.ec-coastal-site .wf-support-copy>p:not(.wf-eyebrow) {font-size:14px;max-width:290px;}
 .wf-support-links {grid-template-columns:1fr;padding-top:8px;padding-bottom:14px;}
 .wf-support-links>a,.wf-support-links>a:first-child {padding:18px 0;border-right:0;border-bottom:1px solid #3e5951;}
 .wf-support-links>a:last-child {border-bottom:0;}
 .wf-support-links span {font-size:17px;}
 .wf-support-links small {font-size:12px;margin-top:5px;}
 .wf-support-links b {right:2px;top:20px;}
 body.ec-coastal-site .wf-contact .ec-bespoke-contact-layout {grid-template-columns:1fr;gap:30px;}
 body.ec-coastal-site .wf-contact .ec-bespoke-contact-copy h2 {font-size:31px!important;line-height:1.5!important;}
 body.ec-coastal-site .wf-contact .ec-bespoke-contact-copy p {font-size:15px;}
 .wf-contact-assurance {font-size:11px;gap:7px;}
 body.ec-coastal-site.ec-bespoke-site .ec-inquiry-form {padding:25px 19px!important;}
 body.ec-coastal-site .ec-inquiry-form .ec-owner-form-intro {font-size:13px!important;}
 .wf-section-title h2 {font-size:29px!important;}
 .wf-business-grid {grid-template-columns:1fr;gap:35px;}
 body.ec-coastal-site .wf-business h3 {font-size:22px!important;}
 body.ec-coastal-site .wf-business p {font-size:14px;}
 .wf-sales {font-size:12px;gap:12px;}
 .wf-sales b {margin-left:8px;}
 .wf-company>.ec-container {grid-template-columns:1fr;gap:22px;}
 .wf-company dl>div {font-size:12px;grid-template-columns:85px minmax(0,1fr);}
 body.ec-coastal-site .ec-lp-hero h1 {font-size:clamp(28px,7.6vw,38px)!important;line-height:1.5!important;}
}
@media(prefers-reduced-motion:reduce) {.wf-title-line{overflow:visible!important;}.wf-title-line>span{transform:none!important;}}
