:root{color-scheme:dark;--ink:#0c0c0f;--ink2:#141419;--ink3:#1c1b20;--text:#f7f3ec;--muted:#cfcbc7;--ember:#e2723a;--ember2:#c85a2b;--line:rgba(255,255,255,.15);--max:1440px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{margin:0;overflow-x:hidden;background:var(--ink);font-family:'Manrope',system-ui,sans-serif;color:var(--text);font-size:18px;line-height:1.65;font-weight:600;padding-bottom:66px}body,button,input,select,textarea{font-family:'Manrope',system-ui,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:#fff}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}img{max-width:100%;display:block}.wrap{width:min(calc(100% - 100px),var(--max));margin:auto}::selection{background:var(--ember);color:#080808}.site-grain{position:fixed;inset:0;z-index:20;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}.skip-link{position:absolute;z-index:80;left:12px;top:-100px;padding:10px;background:#fff;color:#000}.skip-link:focus{top:12px}.header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,3.5vw,78px);position:sticky;top:0;z-index:50;background:rgba(12,12,15,.91);backdrop-filter:blur(22px);border-bottom:1px solid var(--line);gap:20px}.logo{display:flex;align-items:center;gap:14px;line-height:1.1;white-space:nowrap}.logo-mark{color:var(--ember);font-size:42px;transform:rotate(-12deg);font-weight:700}.logo strong{display:block;font-size:22px;letter-spacing:.025em;font-family:'DM Sans',sans-serif;font-weight:800}.logo small{display:block;font-size:10px;letter-spacing:.31em;margin-top:6px;font-weight:800}.primary-nav{display:flex;gap:25px;align-items:center}.primary-nav a{font-size:14px;font-weight:800;color:#eee;transition:color .25s}.primary-nav a:hover{color:var(--ember)}.header-right{display:flex;align-items:center;gap:18px}.header-phone{white-space:nowrap;font-size:14px;font-weight:800}.socials{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.socials a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;min-width:36px;border:1px solid rgba(255,255,255,.23);border-radius:100px;color:#f6f2ed;font-size:12px;font-weight:800;transition:background .2s,transform .2s,border-color .2s}.socials a:hover{background:var(--ember2);border-color:var(--ember);transform:translateY(-2px)}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;background:linear-gradient(135deg,#ea7c42,var(--ember2));color:white;border:1px solid #f38a51;box-shadow:0 14px 40px rgba(141,49,22,.25),inset 0 1px rgba(255,255,255,.16);padding:16px 27px;border-radius:5px;font-weight:800;font-size:15px;line-height:1.3;transition:transform .25s,box-shadow .25s}.button:hover{color:#fff;transform:translateY(-3px);box-shadow:0 18px 47px rgba(176,71,27,.4)}.button-small{padding:13px 20px;font-size:13px}.button-outline{background:rgba(9,8,10,.33);border:1px solid rgba(255,255,255,.68);box-shadow:none}.button-outline:hover{background:rgba(255,255,255,.12);box-shadow:none}.menu-button{display:none;background:none;border:0;width:36px;height:38px}.menu-button span{display:block;height:2px;background:white;margin:7px 0}.hero{min-height:calc(100svh - 88px);position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background:var(--ink)}.hero-poster,.hero-video,.hero-scrim{position:absolute;inset:0;width:100%;height:100%;z-index:-1}.hero-poster{background-image:url('assets/hero-composite.png');background-repeat:no-repeat;background-size:cover;background-position:55% center;animation:kenburns 28s ease-in-out infinite alternate}.hero-video{object-fit:cover;object-position:center;opacity:0;transition:opacity .8s}.video-ready .hero-video{opacity:1}.hero-scrim{background:linear-gradient(90deg,rgba(5,5,8,.94) 0%,rgba(6,5,8,.76) 31%,rgba(8,8,12,.23) 65%,rgba(6,5,8,.04) 100%),linear-gradient(0deg,rgba(6,5,9,.84),transparent 35%);z-index:0}.hero-inner{position:relative;z-index:1;flex:1;display:flex;align-items:center;padding:52px 0 32px}.hero-content{max-width:840px;filter:drop-shadow(0 4px 14px rgba(0,0,0,.5))}.eyebrow{font-size:13px;font-weight:800;letter-spacing:.27em;color:var(--ember);display:flex;align-items:center;gap:13px;text-transform:uppercase}.eyebrow-line{width:37px;height:2px;background:var(--ember);display:inline-block;flex:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'DM Sans',system-ui,sans-serif;font-weight:800;letter-spacing:-.058em;line-height:1.08}h1{font-size:clamp(60px,5.5vw,100px);margin:24px 0 28px;text-wrap:balance}h1 span,h2 span{color:var(--ember)}.hero-agent{font-size:17px;line-height:1.5;font-weight:800;max-width:700px}.hero-location{font-size:17px;color:#eee;margin-bottom:32px}.actions{display:flex;gap:14px;flex-wrap:wrap}.hero-bottom{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:26px 0;font-size:11px;font-weight:800;letter-spacing:.15em;color:var(--muted);border-top:1px solid rgba(255,255,255,.26)}.hero-bottom a:hover{color:var(--ember)}.section{padding:150px 0;position:relative}.about{overflow:hidden;background:linear-gradient(130deg,#111116,#1b191b 60%,#151419)}.about::after{content:'';position:absolute;right:-18vw;bottom:0;width:60vw;height:60vw;background:radial-gradient(circle,rgba(201,82,40,.08),transparent 64%);pointer-events:none}.about-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(60px,8vw,150px);align-items:center}.about-image{position:relative;max-height:700px;overflow:hidden;border:1px solid rgba(255,255,255,.12);box-shadow:0 35px 80px rgba(0,0,0,.55)}.about-image img{width:100%;height:650px;object-fit:cover;object-position:center top}.image-index{position:absolute;left:0;right:0;bottom:0;padding:18px 24px;background:linear-gradient(transparent,rgba(5,5,6,.86));font-size:11px;font-weight:800;letter-spacing:.16em}.about-copy h2,.section-heading h2,.communities h2,.faq-section h2,.contact-heading h2{font-size:clamp(49px,5vw,86px);margin:25px 0 28px}.about-copy p:not(.eyebrow),.section-heading>p,.communities p:not(.eyebrow),.faq-layout>div>p:not(.eyebrow){color:#dfdbd5;font-size:18px;line-height:1.7;font-weight:600}.lead{font-size:22px!important;color:white!important;font-weight:800!important}.about-signoff{display:flex;align-items:center;gap:14px;margin:36px 0;color:#ddd;font-size:15px;line-height:1.55}.ember-dot{width:12px;height:12px;border-radius:50%;background:var(--ember);box-shadow:0 0 25px var(--ember);flex:none}.about-signoff b{color:#fff}.text-action{display:inline-flex;align-items:center;gap:24px;color:white;font-size:16px;font-weight:800;padding-bottom:10px;border-bottom:2px solid var(--ember);transition:gap .2s}.text-action:hover{gap:33px;color:var(--ember)}.process-section{background:#0c0c0f}.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:55px}.section-heading>div{flex:1}.section-heading>p{max-width:425px}.steps{display:grid;gap:18px}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.step-card{background:linear-gradient(152deg,rgba(255,255,255,.08),rgba(255,255,255,.022));border:1px solid rgba(255,255,255,.15);border-radius:10px;box-shadow:0 20px 40px rgba(0,0,0,.2);padding:45px 36px 34px;min-height:365px;display:flex;flex-direction:column;transition:transform .3s,border-color .3s,box-shadow .3s}.step-card:hover{transform:translateY(-9px);border-color:rgba(226,114,58,.65);box-shadow:0 35px 65px rgba(0,0,0,.4)}.step-num{color:var(--ember);font-size:12px;font-weight:800;letter-spacing:.2em}.step-card h3{font-size:30px;margin:36px 0 20px;letter-spacing:-.035em}.step-card p{font-size:17px;color:#dcd7d0;line-height:1.65;font-weight:600}.step-flourish{color:var(--ember);font-size:27px;margin-top:auto}.section-action{margin-top:35px}.selling{background:radial-gradient(ellipse at 80% 20%,rgba(209,92,41,.09),transparent 44%),#141419}.communities{background:#101014;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.communities-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(70px,8vw,140px);align-items:center}.community-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.community-grid a{padding:19px 15px;min-height:65px;display:flex;align-items:center;justify-content:center;text-align:center;border:1px solid rgba(255,255,255,.2);background:linear-gradient(140deg,rgba(255,255,255,.08),rgba(255,255,255,.025));box-shadow:0 10px 24px rgba(0,0,0,.16),inset 0 1px rgba(255,255,255,.09);border-radius:8px;font-size:13px;font-weight:800;transition:transform .22s,border-color .22s}.community-grid a:hover,.community-grid a:focus-visible{transform:translateY(-4px);border-color:var(--ember);background:linear-gradient(135deg,#ea7c42,var(--ember2));color:#fff;cursor:pointer}.faq-section{background:linear-gradient(150deg,#18171b,#0e0d10)}.faq-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:110px}.faq-list details{border-bottom:1px solid rgba(255,255,255,.22);padding:20px 0}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{cursor:pointer;font-size:21px;font-weight:800;line-height:1.5;list-style:none;position:relative;padding-right:30px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';font-weight:500;font-size:26px;position:absolute;right:0;color:var(--ember);top:-5px}.faq-list details[open] summary::after{content:'−'}.faq-list details p{color:#ddd8d2;font-size:17px;line-height:1.7;padding:14px 27px 0 0;margin-bottom:4px}.contact-section{background:radial-gradient(ellipse at 70% 15%,rgba(224,106,53,.1),transparent 45%),#0c0c0f}.contact-heading{max-width:800px;margin-bottom:56px}.contact-heading>p:not(.eyebrow){font-size:20px;color:var(--muted)}.contact-layout{display:grid;grid-template-columns:.83fr 1.17fr;gap:30px;align-items:stretch}.contact-side,.contact-form{padding:clamp(32px,4vw,65px);background:linear-gradient(148deg,#1f1d21,#121115);border:1px solid rgba(255,255,255,.16);box-shadow:0 25px 70px rgba(0,0,0,.33);border-radius:10px}.contact-side h3{font-size:38px;line-height:1.1;margin:21px 0}.contact-side>p:not(.eyebrow):not(.social-label){font-size:14px;color:var(--muted);font-weight:800;letter-spacing:.02em}.contact-method{margin-top:27px}.contact-method>span,.social-label{font-size:12px;font-weight:800;letter-spacing:.2em;color:var(--ember);display:block;margin-bottom:4px}.contact-method a,.contact-method strong{font-size:18px;font-weight:800;overflow-wrap:anywhere}.contact-method a:hover{color:var(--ember)}.social-label{margin-top:35px}.contact-socials{gap:8px}.contact-socials a,.footer-socials a{min-height:34px;padding:7px 12px;font-size:12px}.form-kicker{font-size:12px;color:var(--ember);font-weight:800;letter-spacing:.2em}.contact-form h3{font-size:46px;margin:14px 0 32px}.contact-form label{display:flex;flex-direction:column;font-size:14px;font-weight:800;gap:9px;margin-bottom:24px}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:19px}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;color:var(--text);background:#101013;border:1px solid #55545a;padding:15px 16px;border-radius:4px;font-size:17px;font-weight:600;line-height:1.4}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#afaba6}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--ember);outline:2px solid #e2723a44}.form-submit{margin-top:8px}.form-note,.form-status{font-size:14px;color:#dbd5cd;line-height:1.6;margin:22px 0 0}.form-status{color:#ffb590}.footer{background:#09090b;padding:78px 0 35px}.footer-top{display:grid;grid-template-columns:1.2fr .65fr 1fr;gap:100px;padding-bottom:70px}.footer-top>div{display:flex;flex-direction:column;align-items:flex-start}.footer-top>div>p:not(.footer-label){font-size:14px;color:#cfc9c4;line-height:1.7;font-weight:700}.footer-top a:not(.logo){font-size:15px;margin-bottom:10px;font-weight:700;color:#e9e4df}.footer-top a:hover{color:var(--ember)}.footer-label{font-size:12px;letter-spacing:.2em;color:var(--ember);font-weight:800;margin-bottom:22px}.footer-social-label{margin-top:29px;margin-bottom:10px}.footer-socials{gap:8px}.footer-top .footer-socials a{margin-bottom:0}.footer-bottom{border-top:1px solid var(--line);padding-top:25px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:15px;font-size:13px;color:#c8c3bd;font-weight:700}.contact-bar{position:fixed;bottom:0;left:0;right:0;height:66px;z-index:70;display:flex;background:#0e0e11;border-top:1px solid #59565a;box-shadow:0 -12px 35px rgba(0,0,0,.4)}.contact-bar a{flex:1;display:flex;align-items:center;justify-content:center;gap:12px;font-size:16px;font-weight:800;border-right:1px solid var(--line);transition:background .2s}.contact-bar a:hover{background:#242024;color:#fff}.contact-bar a:first-child{background:linear-gradient(110deg,#dc6c32,#a9421e)}.contact-bar span{font-size:22px}.reveal{opacity:0;transform:translateY(27px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}@keyframes kenburns{0%{transform:scale(1)}100%{transform:scale(1.08) translateX(-1.5%)}}@media(max-width:1400px){.primary-nav{gap:14px}.header-socials{gap:4px}.header-right{gap:10px}.header{padding:0 28px}.logo strong{font-size:18px}.logo-mark{font-size:35px}.header-phone{font-size:12px}}@media(max-width:1180px){.header-socials,.header-phone{display:none}.wrap{width:min(calc(100% - 66px),var(--max))}.primary-nav{gap:14px}.about-layout,.faq-layout{gap:60px}}@media(max-width:850px){.header{height:76px;padding:0 20px}.menu-button{display:block}.primary-nav{display:none;position:absolute;top:75px;left:0;right:0;background:#161518;padding:20px 27px 28px;flex-direction:column;align-items:stretch;gap:9px;border-bottom:1px solid var(--line)}.primary-nav.open{display:flex}.primary-nav a{padding:11px 0;font-size:17px}.header-right .button{padding:10px 13px}.hero{min-height:780px}.hero-inner{padding:95px 0}.hero-poster{background-position:61% center}.hero-scrim{background:linear-gradient(90deg,rgba(4,4,7,.9),rgba(6,5,9,.64) 60%,rgba(6,5,9,.22)),linear-gradient(0deg,#08070a,transparent 36%)}.hero-content{max-width:650px}.hero h1{font-size:clamp(50px,8.3vw,75px)}.about-layout,.faq-layout,.communities-layout,.contact-layout{grid-template-columns:1fr}.about-image{max-width:540px}.section{padding:100px 0}.three{grid-template-columns:1fr}.step-card{min-height:240px}.section-heading{flex-direction:column;align-items:start;gap:10px}.section-heading>p{max-width:700px}.community-grid{grid-template-columns:repeat(3,1fr)}.footer-top{grid-template-columns:1fr 1fr;gap:50px}.footer-top>div:first-child{grid-column:1/-1}}@media(max-width:570px){.wrap{width:calc(100% - 40px)}.logo{gap:8px}.logo-mark{font-size:30px}.logo strong{font-size:17px}.logo small{font-size:8px}.header-right .button{font-size:12px;padding:10px}.header-right .button span{display:none}.hero{min-height:790px}.hero-inner{padding:90px 0 90px;align-items:start}.hero-poster{background-position:77% center}.hero-scrim{background:linear-gradient(90deg,rgba(5,5,7,.92),rgba(5,5,7,.7) 63%,rgba(5,5,7,.21)),linear-gradient(0deg,#09090b,transparent 45%)}h1{font-size:49px!important;letter-spacing:-.055em;margin:25px 0}.hero-agent,.hero-location{font-size:14px}.hero-bottom{font-size:9px;gap:8px}.hero-bottom span:last-child{display:none}.actions{gap:10px}.button{font-size:14px;padding:14px 18px;gap:11px}.section{padding:84px 0}.about-copy h2,.section-heading h2,.communities h2,.faq-section h2,.contact-heading h2{font-size:clamp(43px,9.5vw,61px)}.about-image img{height:400px}.community-grid{grid-template-columns:repeat(2,1fr)}.community-grid a{font-size:12px}.faq-list summary{font-size:18px}.contact-side,.contact-form{padding:25px}.contact-form h3{font-size:39px}.form-columns{grid-template-columns:1fr;gap:0}.footer-top{grid-template-columns:1fr;gap:38px}.footer-top>div:first-child{grid-column:auto}.footer{padding-top:50px}.footer-bottom{flex-direction:column}.contact-bar{height:62px}.contact-bar a{font-size:14px}.contact-bar span{font-size:20px}body{padding-bottom:62px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Real, source-pixel portrait appears only when a real background video has loaded. */
.hero-person{position:absolute;right:-1%;bottom:0;height:min(90vh,790px);max-height:94%;width:auto;z-index:-1;opacity:0;object-fit:contain;object-position:bottom right;filter:drop-shadow(-15px 20px 25px rgba(0,0,0,.4));pointer-events:none}.video-ready .hero-person{opacity:1}.video-ready .hero-poster{opacity:0}@media(max-width:850px){.hero-person{height:65%;right:-4%}}@media(max-width:570px){.hero-person{height:54%;right:-17%}}

.mobile-socials{display:none}@media(max-width:850px){.mobile-socials{display:flex;gap:9px;margin-top:13px;padding-top:13px;border-top:1px solid var(--line)}.mobile-socials a{padding:7px 8px;font-size:12px;border:1px solid var(--line);border-radius:4px}}


/* Round 4 mobile-review correction: keep the desktop composition unchanged.
   On narrow screens, hero copy and Jake's photograph occupy separate panels. */
.hero-visual{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-visual .hero-poster,.hero-visual .hero-video,.hero-visual .hero-person{z-index:0}
.hero-visual .hero-scrim{z-index:1}
.hero-inner,.hero-bottom{z-index:2}
@media(max-width:570px){
  .hero{display:flex;flex-direction:column;justify-content:flex-start;min-height:0;height:auto;overflow:hidden;background:#0c0c0f}
  .hero-inner{position:relative;order:0;flex:0 0 auto;width:calc(100% - 40px);padding:43px 0 30px;align-items:stretch;background:transparent}
  .hero-content{max-width:100%;min-width:0;filter:none}
  .hero-eyebrow{display:flex;align-items:flex-start;width:100%;min-width:0;gap:11px;font-size:11px;letter-spacing:.12em;line-height:1.65;white-space:normal;overflow-wrap:normal;word-break:normal}
  .hero-eyebrow .eyebrow-line{width:30px;margin-top:9px}
  .hero h1{font-size:clamp(35px,10.2vw,44px)!important;line-height:1.065;letter-spacing:-.055em;margin:20px 0 22px;max-width:100%;text-wrap:initial;overflow-wrap:normal}
  .hero-agent{font-size:13px;line-height:1.48;margin-bottom:12px}
  .hero-location{font-size:13px;line-height:1.48;margin-bottom:22px}
  .hero .actions{gap:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero .actions a{padding:13px 10px;min-width:0;justify-content:center;gap:5px;white-space:nowrap;font-size:clamp(11px,3.1vw,13px)}
  .hero-visual{order:1;position:relative;inset:auto;flex:0 0 auto;width:100%;height:clamp(330px,92vw,470px);overflow:hidden;background:#211719}
  .hero-visual .hero-poster{background-position:77% 40%;animation:kenburns 28s ease-in-out infinite alternate}
  .hero-visual .hero-video{object-position:62% center}
  .hero-visual .hero-scrim{background:linear-gradient(0deg,rgba(9,8,11,.45),transparent 32%),linear-gradient(180deg,rgba(9,8,11,.08),transparent 30%)}
  .hero-visual .hero-person{height:100%;right:-4%}
  .hero-bottom{order:2;flex:0 0 auto;position:relative;min-height:42px;padding:16px 0;width:calc(100% - 40px)}
  .contact-bar{height:calc(64px + env(safe-area-inset-bottom, 0px));padding:4px max(8px,env(safe-area-inset-right, 0px)) calc(4px + env(safe-area-inset-bottom, 0px)) max(8px,env(safe-area-inset-left, 0px));gap:8px;box-sizing:border-box}
  .contact-bar a{min-width:0;flex:1 1 0;box-sizing:border-box;padding:0 5px;gap:8px;border:1px solid rgba(255,255,255,.18);border-radius:5px;white-space:nowrap;font-size:clamp(12px,3.7vw,15px)}
  .contact-bar a:first-child{border-color:transparent}
  .contact-bar span{font-size:18px;flex:none}
  body{padding-bottom:calc(72px + env(safe-area-inset-bottom, 0px))}
}


/* APPROVED SHORE — new standalone site, screenshot-led composition. */
.brand-unit{display:flex;align-items:center;gap:22px;min-width:0;flex-shrink:0}
.brand-unit>.logo{padding-right:20px;border-right:1px solid rgba(255,255,255,.36)}
.header-identity{display:flex;flex-direction:column;line-height:1.1;gap:6px;white-space:nowrap;min-width:0}
.header-identity strong{font-family:'DM Sans',sans-serif;font-size:clamp(16px,1.55vw,23px);font-weight:800;letter-spacing:-.045em}
.header-identity span{font-size:9px;font-weight:800;letter-spacing:.22em}
.header .logo-mark{display:inline-block;font-size:44px;line-height:.5;transform:scaleX(1.7) rotate(-12deg);margin-right:6px;color:var(--ember)}
.header .logo strong{font-family:'DM Sans',sans-serif;font-size:clamp(15px,1.8vw,23px);letter-spacing:-.07em;white-space:nowrap}
.header .logo small{font-size:9px;letter-spacing:.22em}
.header{height:84px;gap:16px;padding:0 clamp(18px,2vw,38px)}
.primary-nav{gap:clamp(9px,1.2vw,20px)}
.primary-nav a{font-size:12px}
.header-right{gap:10px}
.header-phone{font-size:12px}
.header-right .button{padding:12px 15px;white-space:nowrap}
.header .socials a{border:none;min-width:25px;min-height:26px;font-size:12px}
/* Match the approved preview: the opening viewport reveals the About section. */
@media(min-width:851px){
  .hero{height:clamp(475px,57vh,660px);min-height:475px;max-height:690px}
  .hero-inner{padding:12px 0 17px}
  .hero-content{max-width:770px}
  .hero-eyebrow{display:none}
  .hero h1{font-size:clamp(48px,5.3vw,78px);letter-spacing:-.065em;line-height:1.015;margin:8px 0 28px}
  .hero-agent{font-size:13px;margin-bottom:2px}
  .hero-location{font-size:13px;margin-bottom:16px}
  .hero-bottom{display:none}
  .hero .button{padding:12px 23px}
  .about{padding:38px 0 74px}
  .about-layout{grid-template-columns:.8fr 1.2fr;gap:clamp(35px,5vw,90px)}
  .about-image img{height:360px}
  .about-copy h2{font-size:clamp(43px,4.1vw,64px);margin:12px 0 17px}
  .about-copy p:not(.eyebrow){font-size:15px;line-height:1.5}
  .about .lead{font-size:17px!important}
  .about-signoff{margin:18px 0}
}
/* Edge-safe mobile; content sits in a separate dark panel above Jake's face. */
@media(max-width:1490px){.brand-unit{gap:13px}.brand-unit>.logo{padding-right:13px}.header-identity span{font-size:8px}.primary-nav{gap:10px}.header-right{gap:6px}}
@media(max-width:1275px){.header-identity{display:none}.brand-unit>.logo{border:0;padding-right:0}.header{padding:0 24px}.header .logo strong{font-size:21px}}
@media(max-width:1180px){.header-phone{display:none}.header-right .header-socials{display:flex}}
@media(max-width:1010px){.header-right .header-socials{display:none}}
@media(max-width:850px){
  .header{height:76px}
  .header .logo strong{font-size:20px}
  .primary-nav{top:75px;padding-bottom:25px}
  .primary-nav .header-socials{display:flex;position:static;justify-content:flex-start;padding-top:16px;margin-top:10px;border-top:1px solid var(--line);gap:8px}
  .primary-nav .header-socials a{min-width:38px;min-height:38px;border:1px solid rgba(255,255,255,.3)}
}
@media(max-width:570px){
  .header{padding:0 15px}
  .header .logo strong{font-size:17px}
  .hero .hero-ember{color:var(--ember)}
  .hero-visual{border-top:1px solid rgba(255,255,255,.12)}
  .hero-inner{padding-top:35px}
  .hero-bottom{display:none}
  .about{padding-top:58px}
  .header-right .button{padding:10px 12px;font-size:11px}
  .header .logo small{font-size:8px;letter-spacing:.16em}
}
/* The only changing text is the exact ember headline segment. */
.hero-ember{animation:ember-breathe 4s ease-in-out infinite}
@keyframes ember-breathe{
  0%,100%{text-shadow:0 0 2px rgba(226,114,58,.10),0 0 12px rgba(226,114,58,.04)}
  50%{text-shadow:0 0 9px rgba(226,114,58,.31),0 0 30px rgba(226,114,58,.15)}
}
@media(prefers-reduced-motion:reduce){.hero-ember{animation:none!important;text-shadow:none!important}.hero-poster{animation:none!important}}
/* Preserve Jake's full head in the wide, shallow desktop hero crop. */
@media(min-width:851px){.hero-visual .hero-poster{background-position:center top}}


/* Sunset video release: scenery-only responsive video, isolated portrait over it.
   The still poster matches the footage; the person never appears in the video. */
.hero-visual .hero-poster{
  background-image:url('assets/hero-sunset-poster.jpg');
  background-position:center center;
  animation:none;
}
.hero-visual .hero-person{opacity:1;}
/* Video appears after playback begins; the scenic still remains until then. */
.hero-visual .hero-video{opacity:0;transition:opacity .65s ease;}
.video-ready .hero-visual .hero-video{opacity:1;}
@media (min-width: 851px){
  .hero-visual .hero-poster{background-position:center center;}
}
@media (max-width: 570px){
  .hero-visual .hero-poster{background-position:center center;}
  .hero-visual .hero-video{object-position:center center;}
  .hero-visual .hero-person{opacity:1;}
}
@media (prefers-reduced-motion: reduce){
  .hero-visual .hero-video{display:none!important;}
  .hero-ember{animation:none!important;text-shadow:none!important;}
}

/* Requested Shore logo replacement; hero desktop rules remain unchanged. */
.brand-unit>.logo{padding-right:0;border-right:0}
.shore-logo{display:block;width:140px;height:70px;object-fit:contain}
.footer-logo .shore-logo{width:200px;height:100px}
@media(max-width:570px){
  .header .shore-logo{width:120px;height:60px}
  .hero{position:relative;display:flex;min-height:610px;height:auto;isolation:isolate}
  .hero-visual{position:absolute;inset:0;width:100%;height:100%;border:0}
  .hero-visual .hero-video{object-fit:cover;object-position:center}
  .hero-visual .hero-scrim{background:linear-gradient(90deg,rgba(5,5,8,.80),rgba(6,5,8,.45) 55%,rgba(8,8,12,.12)),linear-gradient(0deg,rgba(6,5,9,.88),transparent 50%)}
  .hero-inner{position:relative;order:0;flex:1;width:calc(100% - 40px);padding:30px 0 32px;background:transparent}
  .hero-content{width:100%;max-width:100%;filter:drop-shadow(0 4px 14px rgba(0,0,0,.5))}
  .hero-eyebrow{font-size:9px;letter-spacing:.1em}
  .hero h1{width:65%;font-size:clamp(27px,7.4vw,42px)!important;line-height:1.08;margin:22px 0 0;min-height:310px}
  .hero-visual .hero-person{width:auto;height:clamp(340px,105vw,490px);max-height:none;max-width:none;right:-14%;bottom:0;object-fit:contain;object-position:bottom right}
  .hero-agent{position:relative;font-size:12px;line-height:1.5;margin:16px 0 8px;max-width:100%}
  .hero-location{font-size:12px;line-height:1.5;margin-bottom:20px}
  .hero .actions{position:relative}
}

/* Keep mobile supporting copy and actions beside the bottom-anchored portrait. */
@media(max-width:570px){
  .hero-agent,.hero-location{width:30%;max-width:30%;overflow-wrap:normal}
  .hero .actions{width:30%;display:flex;flex-direction:column;align-items:stretch;gap:10px}
  .hero .actions a{width:100%;white-space:normal;font-size:11px;padding:13px 6px;gap:4px}
}

@media(max-width:570px){.hero-visual .hero-person{right:-24%}}

/* Footer brand spacing and phone logo alignment only. */
@media(max-width:570px){.footer-top>div:first-child>.footer-logo{align-self:center}}
@media(min-width:851px){.footer-top>div:first-child>.footer-logo+p{margin-top:32px}}
@media(max-width:570px){.footer-top .footer-identity{margin-top:24px}}

/* Hero fix 2026-11-09 (Jake's direction): About portrait swap + mobile hero geometry.
   About: the new standing portrait is near-square (1284x1222) and must show the
   full figure — head to below the belt — so it renders at natural aspect. */
.about-image img{height:auto;object-fit:contain}

/* Desktop hero already composes well; only the byline now breaks to two wide
   lines (HTML change). Mobile below is the rework. */
@media(max-width:570px){
  .hero{min-height:740px}
  .hero-inner{padding:26px 0 28px;align-items:stretch}
  .hero-content{display:flex;flex-direction:column;width:100%;max-width:100%}
  .hero-eyebrow{font-size:10px;letter-spacing:.14em}
  /* Headline: bigger, and pushed down so "Helping You Find More Than a House..."
     ends just above the top of Jake's head while "A PLACE TO CALL HOME." runs
     down the empty pocket to the left of his face. */
  .hero h1{width:100%;min-height:0;font-size:clamp(36px,10.2vw,42px)!important;line-height:1.07;margin:84px 0 0}
  .hero-visual .hero-person{height:430px;right:-30%}
  /* Byline: out of the narrow column — wide, two lines, down at torso/belt level. */
  .hero-agent{width:100%;max-width:100%;margin-top:auto;font-size:12.5px;line-height:1.5}
  .hero-location{width:100%;max-width:100%;font-size:12.5px;line-height:1.5;margin-bottom:20px}
  .hero .actions{width:100%;display:flex;flex-direction:row;flex-wrap:wrap;gap:9px}
  .hero .actions a{flex:1 1 30%;width:auto;white-space:normal;font-size:11px;padding:13px 6px}
}

/* Header fix 2026-11-10 (Jake's direction): on mobile the header is a
   space-between flex row, which stranded the CONTACT JAKE button mid-header
   with a wide gap before the hamburger. Push .header-right up against the
   hamburger with a small, even gap. Logo and hamburger do not move;
   spacing only, desktop untouched. */
@media(max-width:850px){
  .header{gap:11px}
  .header-right{margin-left:auto}
}

/* Signature header 2026-11-10 (Jake's direction): animated signature in the
   open bar space between The Shore logo and the nav cluster; on mobile it
   takes the slot between the logo and CONTACT JAKE. Desktop: nav cluster
   rides right against the social links with thin white dividers so the
   right side reads as one un-crowded group. */
/* Correction pass 2 — 2026-11-10 (Jake, 13:20 EST screenshots): round 1
   shrank the signature too far and its pale wash still boxed. This pass:
   (1) the animation asset is a TRUE-ALPHA build — the artwork's paper
   (measured luminance <=2/255) is hard-cut to alpha 0 below luminance 44
   with a steep ramp, so no rectangle or haze can exist over ANY backdrop
   (verified: slot corners pixel-exact on pure white, mid-gray, and the
   bar color); (2) the canvas is the FULL 1280x720 frame (no crop), so
   nothing can clip; (3) size goes back UP to the middle ground and the
   desktop signature is CENTERED in the gap: the embed is the header's
   only margin-left:auto + margin-right:auto flex item, so it sits at
   the true center between the logo and the right cluster (nav, socials,
   CONTACT JAKE), which now packs right with NO auto margin of its own.
   Iframe sized by height at every breakpoint; aspect 1280/720 sets the
   width — the full signature scales down intact, letterboxed by
   transparency. */
/* Geometry correction — 2026-11-10 (Jake, 13:20 EST): the full 1280x720
   frame wasted ~30% of the slot on empty margin (ink is 1084x502 of it),
   so the signature read too small. The asset is now the TRIMMED build
   (assets/signature-header-trim.html): canvas cropped to the ink box +
   ~3.5% margin = 1160x538 (aspect 2.156). Same strokes, pacing, screen
   blend, 10s cycle — only the viewport changed; the full-frame asset
   stays on disk as fallback (rollback = point the iframe back at
   assets/signature-header.html). Visible ink is now 502/538 = 93% of
   the embed height: heights below target ink ~54-56px desktop,
   ~43px at 390px mobile. */
.sig-embed{border:0;background:transparent;flex:none;overflow:hidden;pointer-events:none;height:60px;aspect-ratio:1160/538;width:auto;min-height:0;align-self:center;margin-left:auto;margin-right:auto}
.header .header-right>.socials{border-left:1px solid rgba(255,255,255,.45);padding-left:14px}
.header .header-right>.socials a+a{border-left:1px solid rgba(255,255,255,.28);padding-left:7px;margin-left:0}
@media(max-width:1400px){
  .sig-embed{height:58px}
}
@media(max-width:1180px){
  .sig-embed{height:54px}
}
@media(max-width:1010px){
  .sig-embed{height:50px}
}
@media(max-width:850px){
  /* Mobile middle ground: signature harness 44px tall (78px wide) —
     up from round 1's postage stamp; the Shore logo trims 120px ->
     100px so logo + signature + CONTACT JAKE + hamburger all stay
     fully on screen at 390px with room to spare. */
  .header .shore-logo{width:100px;height:50px}
  /* Geometry correction: trimmed aspect (2.156) at 46px tall = ~99px
     wide, visible ink ~43px — logo + signature + CONTACT JAKE +
     hamburger verified all on screen at 390px. */
  .sig-embed{height:46px}
}
