/* V2 Shorehome Const. Mockup: tactile surfaces and expressive motion. */
:root{--wine:#792b3e;--wine-light:#a54e60;--paper:#f6f3ee;--linen:#f2eee7;--v2-blue:#82a5b7;--v2-deep:#0a293d;--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23n)' opacity='.28' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
.textured{position:relative;isolation:isolate}.textured:before{content:"";position:absolute;inset:0;background-image:var(--grain);opacity:.2;mix-blend-mode:multiply;pointer-events:none;z-index:-1}
.eyebrow{font-size:12px;letter-spacing:.13em}.desktop-nav{font-size:14px}.button,.button-small,.text-link,.light-link{font-size:14px}
.button-wine{background:var(--wine);color:#fff9ef;border:1px solid var(--wine);min-height:60px;box-shadow:0 9px 22px #792b3e13}.button-wine:before{background:#aa4f62}
.section-intro p,.approach-copy>p:not(.large-copy),.inspiration-copy>p:not(.eyebrow){font-size:17px;line-height:1.85}.section-intro p+p{margin-top:18px}.large-copy{font-size:27px}.section-number{font-size:13px}.section-heading .eyebrow{margin-bottom:24px}.eyebrow-rule{width:55px}
.promise-bar{background:#e9e3d8;font-size:15px;padding-top:24px;padding-bottom:24px}.promise-bar b{font-size:25px}.promise-bar>span{gap:20px}
#header{border-bottom:1px solid #0c324614;background:#f6f3eef5}#header.scrolled{background:#f6f3eef5}
.mega-feature .eyebrow,.mega-label>a,.mega-links small,.mega-more,.mega-more>span,.mega-feature .text-link{font-size:12px}.mega-links>a>div{font-size:17px}.mega-footer p,.mega-footer .text-link{font-size:14px}.mega-more{gap:15px 22px}.mega-feature>img{filter:saturate(.88)}

/* The photographs continuously drift around a stable text column. */
.hero-v2{background:linear-gradient(105deg,#f5f1e9,#e9e5dc);color:var(--navy);height:calc(100svh - var(--header));min-height:860px;max-height:1060px;isolation:isolate}.hero-v2:before{z-index:0;opacity:.26}
.hero-v2 .hero-content{position:relative;z-index:3;width:53%;padding:45px 0 100px var(--gutter)}.hero-v2 .eyebrow{font-size:12px;letter-spacing:.12em;color:var(--wine);max-width:460px}
.hero-v2 h1{font-size:clamp(72px,6.2vw,112px);line-height:1.04;margin:27px 0 26px;letter-spacing:-.065em}.hero-v2 h1 em{font-weight:500;color:var(--wine)}
.hero-v2 .hero-description{font-size:17px;line-height:1.85;color:#465f6b;max-width:480px;padding-right:20px}.hero-v2 .hero-actions{gap:25px;margin-top:28px;align-items:center;flex-wrap:wrap}
.hero-secondary{font-size:14px;color:var(--navy);text-decoration:underline;text-underline-offset:6px;text-decoration-color:#792b3e69}.hero-v2 .hero-assurance{font-size:13px;color:#69808b;margin-top:24px;line-height:1.8}
.hero-drafting{position:absolute;left:42%;right:0;top:0;bottom:0;background-image:linear-gradient(#31566b0b 1px,transparent 1px),linear-gradient(90deg,#31566b0b 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(90deg,transparent,#000);animation:draftingDrift 36s linear infinite}
.hero-collage{position:absolute;top:5%;right:-1%;width:51%;height:84%;max-height:750px;perspective:1800px;z-index:2}.collage-block{position:absolute;pointer-events:none}
.collage-block.block-wine{width:51%;height:57%;right:4%;bottom:7%;background:var(--wine);transform:rotate(8deg);animation:plateFloat 15s ease-in-out infinite}.collage-block.block-blue{left:6%;top:4%;width:63%;height:73%;border:1px solid #52798a70;background:#83a5b71a;transform:rotate(-9deg);animation:plateFloat 20s -7s ease-in-out infinite reverse}
.hero-photo{position:absolute;overflow:hidden;box-shadow:0 28px 55px #0b2d422c;border:7px solid #fff9f0;background:var(--navy);will-change:transform}.hero-photo>img{height:100%;width:100%;object-fit:cover}.hero-photo:after{content:"";position:absolute;inset:64% 0 0;background:linear-gradient(transparent,#082738ac)}.hero-photo figcaption{position:absolute;left:19px;bottom:18px;right:16px;font-size:12px;color:white;z-index:1;letter-spacing:.035em}
.hero-photo-main{left:11%;top:18%;width:78%;height:58%;z-index:2;animation:photoDriftA 10s ease-in-out infinite}.hero-photo-main img{object-position:55% center}.hero-photo-detail{left:-1%;bottom:1%;width:46%;height:35%;z-index:4;animation:photoDriftB 12s -4s ease-in-out infinite}.hero-photo-outdoor{right:-4%;top:1%;width:46%;height:33%;z-index:3;animation:photoDriftC 13s -7s ease-in-out infinite}
.craft-seal{position:absolute;right:4%;bottom:3%;z-index:5;height:146px;width:146px;display:grid;place-items:center;border-radius:50%;background:#f0e8db;box-shadow:0 12px 24px #1e34481c}.craft-seal svg{position:absolute;inset:0;height:100%;width:100%;animation:sealTurn 40s linear infinite;fill:var(--wine);font-size:11px;letter-spacing:2px;font-weight:700}.craft-seal>span{font-size:30px;letter-spacing:-.06em;color:var(--wine);font-weight:600}
.hero-v2 .hero-bottom{border-color:#143d542a;font-size:12px;color:#54707d;z-index:6}.hero-v2 .scroll-cue{border-color:#792b3e40;color:var(--wine)}
@keyframes photoDriftA{0%,100%{transform:translate3d(0,0,0) rotate(-4deg)}50%{transform:translate3d(6px,-20px,0) rotate(-1deg)}}@keyframes photoDriftB{0%,100%{transform:translate3d(0,0,0) rotate(5deg)}50%{transform:translate3d(-5px,17px,0) rotate(2deg)}}@keyframes photoDriftC{0%,100%{transform:translate3d(0,0,0) rotate(5deg)}50%{transform:translate3d(-15px,-14px,0) rotate(8deg)}}@keyframes plateFloat{0%,100%{translate:0 0}50%{translate:12px -17px}}@keyframes sealTurn{to{transform:rotate(360deg)}}@keyframes draftingDrift{to{background-position:48px 48px}}

/* More room for useful descriptions and photographic detail. */
.services{background-color:#f4f0e7;background-image:repeating-linear-gradient(100deg,#aa8c6005 0,#aa8c6005 1px,transparent 1px,transparent 5px)}.services .section-heading{grid-template-columns:1fr 1fr;gap:6vw}.services .section-intro{max-width:550px}
.service-grid{gap:26px}.service-title h3{font-size:clamp(23px,1.9vw,32px)}.service-trigger>p{font-size:16px;line-height:1.85;padding-left:0;margin-top:16px}.service-title{min-height:73px}.service-number{font-size:12px;padding-top:5px}.image-label{font-size:12px;letter-spacing:.04em;right:48px;bottom:20px}.service-visual{aspect-ratio:4/5}.service-detail p{font-size:16px}.service-more{font-size:14px;margin-top:46px}
.approach{background-color:#e8e4db;background-image:repeating-linear-gradient(0deg,transparent 0,transparent 3px,#73665205 3px,#73665205 4px)}.values article>span{font-size:12px}.values p{font-size:16px;line-height:1.8}.values h3{font-size:30px}

/* A seamless moving photo ribbon and keyboard-accessible full-size viewer. */
.photo-story{background:#12384b;color:#f6f1e7;padding:0 0 42px;overflow:hidden}.photo-story:before{opacity:.2;mix-blend-mode:screen}.photo-story .section-pad{padding-top:95px;padding-bottom:60px;margin-bottom:0}.photo-story .section-heading{grid-template-columns:1.1fr 1fr;gap:7vw}.photo-story h2 em{color:#b6cbd7}.photo-story .eyebrow{color:#d8b7ac}.photo-story .section-intro p{color:#c5d5de;font-size:16px}
.photo-actions{display:flex;flex-wrap:wrap;align-items:center;gap:27px;margin-top:28px}.photo-actions .text-link{color:#fff4e7;border-color:#f6e1cb66;font-size:14px}.quiet-control{font-size:12px;color:#c4d1d9;text-decoration:underline;text-underline-offset:5px;padding:7px 0}.quiet-control:disabled{opacity:.6}
.photo-window{width:100%;overflow:hidden;padding:18px 0 35px}.photo-track{display:flex;width:max-content;animation:photoRibbon 48s linear infinite;will-change:transform}.photo-group{display:flex;gap:25px;padding-right:25px}
.moving-photo{position:relative;padding:0;display:block;overflow:hidden;width:clamp(300px,29vw,470px);height:clamp(310px,30vw,490px);border:1px solid #ffffff26;transform:rotate(-2deg);background:#173544}.moving-photo:nth-child(even){transform:rotate(2deg);margin-top:20px}.moving-photo:nth-child(3){transform:rotate(-.7deg)}.moving-photo>img{height:100%;width:100%;object-fit:cover;transition:transform 1.2s var(--ease);filter:saturate(.92)}.moving-photo:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#092b40e5)}.moving-photo>span{position:absolute;left:26px;bottom:28px;right:24px;z-index:1;text-align:left}.moving-photo small{display:block;font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:#ccd9e0;margin-bottom:11px}.moving-photo strong{font-size:clamp(26px,2.3vw,36px);line-height:1.12;letter-spacing:-.04em;font-weight:500}.moving-photo:hover>img{transform:scale(1.06)}
.photo-story.photos-paused .photo-track,.photo-story.viewer-open .photo-track,.photo-window:hover .photo-track{animation-play-state:paused}.photo-provenance{font-size:12px;color:#a5bbc8;padding:20px var(--gutter) 0;line-height:1.7}@keyframes photoRibbon{to{transform:translateX(-50%)}}
#photo-dialog{width:min(1200px,94vw);max-width:1200px;background:var(--paper);overflow:auto}#photo-dialog[open]{display:grid;grid-template-columns:1.55fr 1fr}#photo-dialog .dialog-close{background:#faf7eee8;box-shadow:0 0 0 1px #17384b22}.photo-dialog-image{min-height:570px;background:#102f42;display:flex;align-items:center;justify-content:center}.photo-dialog-image img{width:100%;height:100%;max-height:80vh;object-fit:contain}.photo-dialog-copy{padding:80px 36px 35px;display:flex;flex-direction:column;justify-content:center}.photo-dialog-copy .eyebrow{color:var(--wine);font-size:12px}.photo-dialog-copy h2{font-size:42px;margin:22px 0}.photo-dialog-copy>p{font-size:16px;color:var(--muted);line-height:1.85}.photo-dialog-nav{display:flex;gap:18px;margin:30px 0;flex-wrap:wrap}.photo-dialog-nav button{font-size:13px;padding:13px 0;border-bottom:1px solid #792b3e70;color:var(--wine)}.photo-dialog-copy .photo-dialog-credit{font-size:12px;border-top:1px solid #11324823;padding-top:20px;margin-top:auto}

/* Moving typography and drafting texture. */
.craft-interlude{position:relative;overflow:hidden;background:var(--wine);color:#f3e9db;padding:65px 0 55px;isolation:isolate}.craft-interlude:after{content:"";position:absolute;inset:0;background:var(--grain);opacity:.15;pointer-events:none;mix-blend-mode:screen;z-index:-1}.craft-lines{position:absolute;inset:-20%;z-index:-1;opacity:.3;background-image:repeating-linear-gradient(90deg,transparent 0,transparent 119px,#f6e6d83d 120px,transparent 121px),repeating-linear-gradient(0deg,transparent 0,transparent 119px,#f6e6d83d 120px,transparent 121px);transform:rotate(-7deg);animation:draftingDrift 22s linear infinite}
.craft-type{font-size:clamp(72px,11.5vw,205px);letter-spacing:-.055em;font-weight:650;line-height:.97;white-space:nowrap;pointer-events:none;padding:0 var(--gutter)}.craft-type>span{display:block;transform:translateX(var(--craft-shift,0px));will-change:transform}.craft-type>span+span{font-weight:500;color:transparent;-webkit-text-stroke:1px #e6d7c4;transform:translateX(calc(var(--craft-shift,0px) * -1));text-align:right}
.craft-interlude-copy{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin:40px var(--gutter) 0;padding-top:30px;border-top:1px solid #eddaca3b;align-items:start}.craft-interlude-copy .eyebrow{max-width:370px;line-height:1.8;color:#e0b7b2}.craft-interlude-copy>p:last-child{font-size:16px;line-height:1.85;max-width:580px;color:#efdfd5}
.living-banner{height:760px}.banner-content>p:not(.eyebrow){font-size:18px;line-height:1.9}.banner-caption{font-size:12px}.inspiration{background:var(--paper)}.image-credit{font-size:12px}.idea-card figcaption>span{font-size:12px}.gallery-controls button{font-size:14px}

/* Hover flips the cards automatically; controls remain for touch and keyboard. */
.possibilities{background:#e8e4db;background-image:repeating-linear-gradient(135deg,transparent 0,transparent 6px,#fff3 6px,#fff3 7px)}.capability-guide{font-size:14px;color:#607482;margin:-20px 0 28px}.touch-guide{display:none}.capabilities{gap:28px}.cap-front{background:#faf7f0;background-image:var(--grain);background-blend-mode:soft-light;border-top:3px solid var(--wine)}.cap-topline{margin-bottom:32px}.cap-index{font-size:12px;letter-spacing:.08em}.cap-description{font-size:16px;line-height:1.8}.cap-lead{font-size:18px}.capability li{font-size:15px;padding:12px 0}.cap-front,.cap-back{min-height:635px}.capability h3{font-size:clamp(34px,2.6vw,43px)}.cap-back-copy p{font-size:16px;line-height:1.85}.cap-back-copy .eyebrow,.cap-image-note{font-size:12px}.cap-image-note{letter-spacing:.07em}.cap-back-copy h4{font-size:clamp(33px,2.6vw,43px)}.cap-turn{transition:transform .85s cubic-bezier(.2,.75,.25,1)}.cap-flip-toggle{font-size:14px;font-weight:550;padding:19px 24px}.cap-project{font-size:14px;padding:19px 18px;white-space:nowrap}.capability-flip:hover .cap-lift{transform:translateY(-14px) scale(1.028)}
.process{background-image:var(--grain)}.journey-stage{background:#0a2c40;background-image:linear-gradient(#103c5260 1px,transparent 1px),linear-gradient(90deg,#103c5260 1px,transparent 1px);background-size:60px 60px}.journey-top .eyebrow,.journey-nav button,.journey-nav button>span,.journey-panel .eyebrow{font-size:12px}.journey-panel>p:not(.eyebrow){font-size:16px}.stage-details li{font-size:14px}.journey-takeaway{font-size:13px}.journey-bottom>p{font-size:12px}.journey-nav button{padding-left:11px;padding-right:9px;gap:8px}.process-heading>p{font-size:17px}.craft-marquee{background:#e5ddcf}.marquee-track>span{font-size:38px}.questions-intro>p:not(.eyebrow),.faq-answer p{font-size:16px;line-height:1.85}.faq-item h3{font-size:18px}

/* Scroll-composed color panels behind a transparent photographic group. */
.family-chapter{position:relative;background:var(--v2-deep);color:#fff8ee}.family-track{height:255vh;position:relative}.family-stage{position:sticky;top:var(--header);height:calc(100svh - var(--header));min-height:740px;max-height:1050px;overflow:hidden;isolation:isolate;--cream-x:0%;--blue-x:0%;--wine-x:0%;--ivory-x:0%;--people-y:0px;--people-scale:1;--family-progress:100%}
.family-backdrop{position:absolute;inset:0;z-index:-1;background:#0b2d42}.family-grid{position:absolute;inset:0;background-image:linear-gradient(#91acbf14 1px,transparent 1px),linear-gradient(90deg,#91acbf14 1px,transparent 1px),var(--grain);background-size:70px 70px,70px 70px,180px 180px;opacity:.7}.family-block{position:absolute;will-change:transform;box-shadow:0 25px 60px #031b2829;background-image:var(--grain);background-blend-mode:soft-light}
.family-block-cream{left:34%;top:10%;height:74%;width:54%;background-color:#e8dfd1;transform:translateX(var(--cream-x))}.family-block-blue{right:-6%;top:25%;height:63%;width:58%;background-color:#829dac;transform:translateX(var(--blue-x))}.family-block-wine{right:-2%;bottom:0;height:31%;width:72%;background-color:#792b3e;transform:translateX(var(--wine-x))}.family-block-ivory{left:42%;top:4%;height:9%;width:46%;background-color:#ece7de;transform:translateX(var(--ivory-x))}.family-outline{position:absolute;right:1%;top:15%;font-size:clamp(230px,29vw,510px);font-weight:500;letter-spacing:-.075em;line-height:1;color:transparent;-webkit-text-stroke:1px #244b6545}
.family-story{position:relative;z-index:3;width:36%;max-width:590px;padding:60px 0 108px var(--gutter)}.family-story:before{content:"";position:absolute;inset:0 -45px 0 0;z-index:-1;background:linear-gradient(90deg,#0b2d42 0%,#0b2d42f7 80%,transparent)}.family-story .eyebrow{color:#d0ac9f;font-size:12px;letter-spacing:.09em;line-height:1.8}.family-story h2{font-size:clamp(46px,4.8vw,78px);line-height:1.05;letter-spacing:-.05em;margin:23px 0 24px}.family-story h2 em{color:#d4b6a8;font-weight:500}.family-story>p:not(.eyebrow){font-size:16px;line-height:1.85;max-width:330px;color:#cfdae1;margin-top:18px}.family-link{display:inline-block;margin-top:27px;padding-bottom:8px;border-bottom:1px solid #ead6bf77;font-size:14px;color:#f5e4d1}
.family-people{position:absolute;width:78%;max-width:1400px;right:-5%;bottom:36px;z-index:2;transform:translateY(var(--people-y)) scale(var(--people-scale));transform-origin:center bottom;will-change:transform;pointer-events:none}.family-people img{width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 24px 19px #0a2a3524)}
.family-lower{position:absolute;bottom:0;left:0;right:0;z-index:4;display:flex;align-items:center;gap:25px;padding:23px var(--gutter);background:#082739ed;border-top:1px solid #fff2;color:#e7dccc}.family-lower>span:first-child{font-size:12px;letter-spacing:.16em;color:#cfaaa1}.family-lower strong{font-size:18px;letter-spacing:-.015em;font-weight:500}.family-progress{height:2px;background:#ffffff23;max-width:270px;width:22%;margin-left:auto}.family-progress i{display:block;width:var(--family-progress);height:100%;background:#cfa79e}.family-placeholder-note{padding:17px var(--gutter);font-size:12px;line-height:1.7;color:#9fb4c2;background:#082739;border-top:1px solid #ffffff14}

.local-section{grid-template-columns:1.1fr 1fr;gap:8vw;background:#ece6db;align-items:start;overflow:visible}.local-section:before{width:auto;height:auto;right:0;top:0;border:none;border-radius:0;z-index:-1}.local-copy{max-width:none}.local-copy h2{font-size:clamp(40px,4vw,66px)}.local-copy>p:not(.eyebrow){font-size:16px;line-height:1.85}.local-copy .eyebrow{font-size:12px}.location-controls{font-size:12px;margin-top:20px}.location-marker{background:var(--wine)}#location-pause{font-size:12px}.location-list summary{font-size:14px}.location-list ul{font-size:14px}.location-list p{font-size:12px}
.local-detail{position:relative;padding:37px 38px;background:#d9e0dc;background-image:var(--grain);border-top:4px solid var(--wine);margin-top:10px;box-shadow:15px 15px 0 #f8f3e878}.local-detail-number{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--wine)}.local-detail h3{font-size:clamp(34px,3.4vw,52px);line-height:1.08;letter-spacing:-.045em;margin:26px 0}.local-detail p{font-size:16px;color:#476370;line-height:1.85;margin-top:19px}.local-detail .button{margin-top:29px;font-size:14px;min-height:57px}.local-coordinate{font-size:12px;letter-spacing:.08em;line-height:1.8;color:#607c86;border-top:1px solid #20465d23;margin-top:32px;padding-top:23px}
.contact-content>p:not(.eyebrow):not(.consultation-note){font-size:18px;line-height:1.85;max-width:600px}.contact .consultation-note{font-size:14px}.contact-direct>span{font-size:13px}.footer-main nav{font-size:14px}.footer-bottom,.review-note,.review-note button{font-size:12px}.review-note{padding-top:17px;padding-bottom:17px}.dialog-main .eyebrow,.project-invitation,.project-choice,#project-guidance,.phone-link{font-size:14px}.request-helper,.planner-footnote{font-size:12px}.project-choice{padding:16px}

[data-v2-motion]:not(.motion-visible) .hero-photo,[data-v2-motion]:not(.motion-visible) .craft-seal svg,[data-v2-motion]:not(.motion-visible) .collage-block,[data-v2-motion]:not(.motion-visible) .photo-track,[data-v2-motion]:not(.motion-visible) .craft-lines,[data-v2-motion]:not(.motion-visible) .hero-drafting{animation-play-state:paused}.page-hidden *,.page-hidden *:before,.page-hidden *:after{animation-play-state:paused!important}
@media(min-width:1800px){.hero-v2 .hero-content{width:50%}.hero-v2 h1{font-size:116px}.hero-v2 .hero-description{max-width:590px;font-size:19px}.hero-collage{right:1%;width:51%}.hero-photo figcaption{font-size:14px}.family-story{width:37%}.family-story>p:not(.eyebrow){font-size:18px;max-width:430px}.family-people{width:78%;right:-3%}.family-lower strong{font-size:21px}.cap-front,.cap-back{min-height:660px}}
@media(min-width:901px) and (max-height:780px){.hero-v2{min-height:825px}.family-stage{min-height:620px}.family-story{padding-top:35px;padding-bottom:95px}.family-story h2{font-size:48px;margin-top:18px;margin-bottom:20px}.family-story>p:not(.eyebrow){font-size:14px;line-height:1.7;margin-top:14px}.family-link{margin-top:20px;font-size:13px}.family-people{max-width:1050px}.journey-panel>p:not(.eyebrow){font-size:14px}.stage-details li{font-size:13px}.journey-bottom>p{font-size:12px}.journey-panel h3{font-size:31px}}
@media(max-width:1200px){.hero-v2 h1{font-size:clamp(68px,7vw,87px)}.hero-v2 .hero-description{font-size:16px;max-width:430px}.hero-v2 .hero-content{width:53%}.hero-v2 .hero-actions{gap:18px;align-items:start;flex-direction:column}.hero-v2 .hero-assurance{font-size:12px}.hero-collage{height:78%;top:8%;width:50%;right:-2%}.hero-photo{border-width:5px}.hero-photo figcaption{font-size:12px;left:13px;bottom:13px}.craft-seal{height:120px;width:120px;right:7%;bottom:4%}.hero-v2 .eyebrow{font-size:12px;max-width:360px}.service-title h3{font-size:27px}.cap-description,.cap-back-copy p{font-size:15px}.cap-flip-toggle,.cap-project{font-size:12px;padding:18px 17px}.cap-front,.cap-back{min-height:650px}.capability h3,.cap-back-copy h4{font-size:34px}.family-story{width:37%;padding-left:var(--gutter)}.family-story h2{font-size:56px}.family-story>p:not(.eyebrow){font-size:15px}.family-people{right:-9%;width:81%}.family-block-cream{left:38%}.local-section{gap:5vw}.local-detail{padding:30px}.local-copy h2{font-size:43px}.location-window{font-size:.85em}}
@media(max-width:1000px){.desktop-nav{gap:22px;font-size:13px}.header-cta{font-size:13px}.hero-v2 .hero-content{width:55%}.hero-v2 h1{font-size:72px}.hero-collage{width:49%;right:-4%;height:72%;top:15%}.hero-photo-main{left:9%;width:86%;height:53%;top:16%}.hero-photo-outdoor{width:57%;height:27%}.hero-photo-detail{width:56%;height:34%;bottom:10%}.craft-seal{bottom:0;width:110px;height:110px}.hero-v2 .hero-assurance{max-width:340px}.promise-bar{font-size:13px}.service-grid{gap:35px 25px}.journey-nav button,.journey-nav button>span{font-size:11px}.family-story>p:not(.eyebrow){font-size:14px}.family-story h2{font-size:49px}.family-people{right:-11%;width:83%}.local-section{gap:35px}}
@media(max-width:900px){
 .hero-v2{height:auto;min-height:1080px;max-height:none;display:block;padding-bottom:580px}.hero-v2 .hero-content{width:auto;max-width:720px;padding:50px var(--gutter) 0}.hero-v2 h1{font-size:78px;line-height:1.02;margin:25px 0}.hero-v2 h1 .line{display:inline}.hero-v2 h1 .line>span{display:inline}.hero-v2 h1 .line:first-child{display:block}.hero-v2 .hero-description{max-width:650px;padding-right:0;font-size:17px}.hero-v2 .hero-actions{flex-direction:row;align-items:center;gap:27px}.hero-v2 .hero-assurance{font-size:13px;max-width:none}
 .hero-collage{top:auto;bottom:90px;left:18%;right:auto;width:75%;height:435px;max-width:690px}.hero-photo-main{left:6%;top:8%;height:74%;width:80%}.hero-photo-detail{left:-13%;bottom:1%;width:44%;height:51%}.hero-photo-outdoor{right:-5%;top:-5%;width:43%;height:45%}.craft-seal{right:7%;bottom:0;width:122px;height:122px}.hero-v2 .hero-bottom{font-size:12px;padding:22px 0}.hero-v2 .hero-bottom>span{max-width:none}.hero-drafting{left:0;mask-image:linear-gradient(0deg,black,transparent 80%)}
 .services .section-heading{grid-template-columns:1fr 1fr;gap:35px}.service-trigger>p{font-size:16px}.service-title h3{font-size:28px}.service-visual{aspect-ratio:5/4}.promise-bar{font-size:13px;gap:15px}.promise-bar>span{gap:12px}
 .photo-story .section-heading{grid-template-columns:1fr 1fr;gap:35px}.photo-story h2{font-size:49px}.photo-story .section-pad{padding-top:80px;padding-bottom:45px}.photo-story .section-intro p{font-size:16px}.moving-photo{width:390px;height:400px}.photo-group{gap:22px;padding-right:22px}.photo-track{animation-duration:46s}
 .craft-type{font-size:12vw}.craft-interlude-copy{gap:35px}.craft-interlude-copy>p:last-child{font-size:16px}.craft-interlude-copy .eyebrow{font-size:12px}
 .cap-front{display:grid;min-height:395px;padding:30px}.cap-back{min-height:395px}.capability h3{font-size:36px}.capability li{font-size:15px}.cap-description{font-size:15px}.cap-back-copy{max-width:650px}.cap-back-copy h4{font-size:39px}.cap-front .cap-lead{font-size:17px}.cap-actions{min-height:63px}.cap-flip-toggle,.cap-project{font-size:14px;padding:19px 30px}
 .journey-panel>p:not(.eyebrow){font-size:16px}.stage-details li{font-size:14px}.journey-takeaway{font-size:13px}.journey-top .eyebrow{font-size:12px}
 .family-track{height:auto}.family-stage{position:relative;top:auto;height:1050px;min-height:0;max-height:none}.family-story{width:100%;max-width:750px;padding:55px var(--gutter) 0}.family-story h2{font-size:55px;margin:22px 0;max-width:600px}.family-story>p:not(.eyebrow){font-size:16px;max-width:620px}.family-story .eyebrow{max-width:600px}.family-people{bottom:63px;right:-3%;width:96%;max-width:850px;transform:none!important}.family-block-cream{left:10%;top:45%;width:76%;height:43%}.family-block-blue{top:53%;height:36%;width:68%;right:-4%}.family-block-wine{height:20%;width:90%;bottom:5%}.family-block-ivory{left:18%;top:41%;height:8%;width:64%}.family-outline{font-size:420px;top:45%;right:3%}.family-lower{gap:20px}.family-lower strong{font-size:18px}.family-lower .family-progress{display:none}
 .local-section{grid-template-columns:1fr 1fr;gap:35px}.local-copy h2{font-size:42px}.location-window{font-size:28px;height:1.3em}.local-copy>p:not(.eyebrow){font-size:16px}.location-controls{flex-wrap:wrap;gap:9px;font-size:12px}.location-controls>span:nth-child(2){flex:1}.location-list ul{grid-template-columns:1fr;font-size:14px}.local-detail{padding:27px}.local-detail h3{font-size:38px}.local-detail p{font-size:16px}
 #photo-dialog[open]{grid-template-columns:1fr}.photo-dialog-image{min-height:0;max-height:52vh}.photo-dialog-image img{height:48vh;max-height:48vh}.photo-dialog-copy{padding:30px}.photo-dialog-copy h2{font-size:36px;margin:17px 0}.photo-dialog-copy .photo-dialog-credit{margin-top:5px}.photo-dialog-nav{margin:23px 0}
}
@media(max-width:600px){
 .eyebrow{font-size:12px;letter-spacing:.1em}.section-pad{padding-top:70px;padding-bottom:70px}.section-heading h2{font-size:45px}.section-intro p,.approach-copy>p:not(.large-copy),.inspiration-copy>p:not(.eyebrow){font-size:16px}
 .hero-v2{min-height:1070px;padding-bottom:395px}.hero-v2 .hero-content{padding:39px var(--gutter) 0}.hero-v2 .eyebrow{font-size:11px;letter-spacing:.06em;max-width:320px}.hero-v2 h1{font-size:clamp(53px,12.9vw,75px);margin:26px 0 24px;line-height:1.05}.hero-v2 h1 .line{display:block}.hero-v2 h1 .line>span{display:block}.hero-v2 .hero-description{font-size:16px;line-height:1.8;max-width:430px}.hero-v2 .hero-actions{align-items:start;flex-direction:column;gap:18px;margin-top:24px}.hero-v2 .button{font-size:14px;padding:18px 22px;min-height:58px}.hero-secondary{font-size:14px}.hero-v2 .hero-assurance{font-size:12px;margin-top:20px}
 .hero-collage{height:310px;bottom:75px;left:14%;width:83%}.hero-photo-main{left:4%;top:10%;height:70%;width:87%}.hero-photo-outdoor{width:47%;height:41%;right:-4%;top:0}.hero-photo-detail{width:45%;height:49%;left:-11%;bottom:0}.hero-photo figcaption{font-size:10px;left:10px;bottom:9px;right:8px}.hero-photo-outdoor figcaption{display:none}.hero-photo{border-width:4px}.craft-seal{width:83px;height:83px;right:9%;bottom:0}.craft-seal>span{font-size:23px}.craft-seal svg{font-size:11px}.hero-v2 .hero-bottom>span{display:none}.hero-v2 .hero-bottom a{justify-content:space-between;width:100%;font-size:12px}.hero-v2 .hero-bottom{padding:16px 0}.hero-v2 .scroll-cue{height:34px;width:25px}
 .promise-bar{display:grid;font-size:14px;gap:9px;padding:25px var(--gutter)}.promise-bar b{font-size:20px}.services .section-heading{grid-template-columns:1fr;gap:26px}.service-grid{grid-template-columns:1fr;gap:36px}.service-visual{aspect-ratio:1.28}.service-title{min-height:0;margin:22px 0 13px;gap:12px}.service-title h3{font-size:32px}.service-title h3 br{display:none}.service-number{font-size:13px;padding-top:4px}.detail-plus{font-size:23px}.service-trigger>p{font-size:16px;line-height:1.8;margin-top:13px}.image-label{font-size:12px;left:18px;bottom:21px}.round-arrow{height:34px;width:34px;right:17px;bottom:17px}.service-more{font-size:14px;max-width:100%;line-height:1.65}
 .photo-story .section-heading{grid-template-columns:1fr;gap:28px}.photo-story h2{font-size:45px}.photo-story .section-pad{padding-top:70px;padding-bottom:37px}.photo-story .eyebrow{font-size:11px}.photo-actions{gap:20px;margin-top:23px}.photo-actions .text-link{font-size:14px}.quiet-control{font-size:12px}.moving-photo{width:78vw;height:91vw;max-height:420px}.moving-photo>span{left:21px;bottom:25px}.moving-photo strong{font-size:30px}.moving-photo small{font-size:12px}.photo-provenance{font-size:12px;padding-top:12px}.photo-story{padding-bottom:28px}.photo-group{gap:18px;padding-right:18px}.photo-track{animation-duration:42s}
 .values p{font-size:15px}.values h3{font-size:25px}.values article{grid-template-columns:1fr}.values article>span{font-size:12px}.approach-grid{gap:38px}.statement{font-size:45px}.craft-interlude{padding:43px 0}.craft-type{font-size:12.6vw;padding:0 4vw;line-height:1.07}.craft-interlude-copy{grid-template-columns:1fr;gap:20px;margin-top:28px;padding-top:24px}.craft-interlude-copy>p:last-child{font-size:16px;line-height:1.85}.craft-interlude-copy .eyebrow{font-size:12px}.living-banner{height:660px}.banner-content>p:not(.eyebrow){font-size:16px}.banner-content h2{font-size:59px}.banner-caption{font-size:12px}.image-credit{font-size:12px;line-height:1.7}
 .possibilities h2{font-size:42px}.capability-guide{font-size:14px;margin:-4px 0 26px}.cap-front{display:block;min-height:690px;padding:30px 26px 20px}.cap-back{min-height:690px}.capability h3{font-size:40px;max-width:280px}.cap-description{font-size:16px;line-height:1.85}.cap-lead{font-size:18px}.capability ul{margin-top:25px}.capability li{font-size:16px;padding:12px 0}.cap-back-copy{padding:32px 26px}.cap-back-copy h4{font-size:39px}.cap-back-copy p{font-size:17px;line-height:1.85}.cap-flip-toggle,.cap-project{padding:18px;font-size:12px}.cap-flip-toggle{font-size:13px}
 .journey-panel h3{font-size:35px}.journey-panel>p:not(.eyebrow){font-size:16px;line-height:1.85}.stage-details li{font-size:14px}.journey-takeaway{font-size:13px}.journey-bottom>p{font-size:12px}.journey-top .eyebrow{font-size:11px}.journey-panel .eyebrow{font-size:12px}.process-heading>p{font-size:16px}.faq-item h3{font-size:17px}.faq-answer p{font-size:16px}
 .family-stage{height:1000px}.family-story{padding-top:43px;padding-bottom:0;max-width:none}.family-story .eyebrow{font-size:12px;max-width:300px}.family-story h2{font-size:52px;max-width:330px;line-height:1.03;margin:23px 0}.family-story>p:not(.eyebrow){font-size:16px;line-height:1.8;max-width:390px}.family-link{font-size:14px;margin-top:24px}.family-people{width:116%;max-width:none;right:-8%;bottom:72px}.family-block-cream{top:61%;left:10%;height:27%;width:78%}.family-block-blue{top:69%;height:20%;width:70%}.family-block-wine{height:19%;bottom:6%;width:94%}.family-block-ivory{top:58%;left:24%;height:5%;width:55%}.family-outline{font-size:270px;top:64%;right:5%}.family-lower{flex-wrap:wrap;gap:8px 20px;padding-top:15px;padding-bottom:15px}.family-lower strong{font-size:17px}.family-lower>span:first-child{font-size:11px}.family-placeholder-note{font-size:12px}
 .local-section{grid-template-columns:1fr;gap:44px}.local-copy h2{font-size:45px}.location-window{font-size:clamp(27px,8.5vw,42px)}.location-controls{font-size:12px}.location-controls>span:nth-child(2){max-width:240px}.location-list ul{grid-template-columns:1fr 1fr;font-size:13px}.local-copy>p:not(.eyebrow){font-size:16px}.local-detail h3{font-size:41px}.local-detail{padding:30px 27px}.local-detail p{font-size:16px}.local-detail .button{font-size:14px}.local-coordinate{font-size:12px}
 .contact-content>p:not(.eyebrow):not(.consultation-note){font-size:17px;max-width:390px}.contact{min-height:770px}.contact-content h2{font-size:51px}.contact .eyebrow{font-size:12px;max-width:320px}.footer-bottom{font-size:11px;gap:15px}.review-note,.review-note button{font-size:11px;line-height:1.7}.review-note{align-items:start;flex-direction:column;gap:6px}.mega-links>a>div{font-size:17px}.mega-links small{font-size:12px}.mega-more{font-size:12px}.mobile-extra{font-size:14px}.photo-dialog-image img{height:38vh;max-height:38vh}.photo-dialog-copy{padding:26px}.photo-dialog-copy h2{font-size:32px}.photo-dialog-copy>p{font-size:15px}.photo-dialog-nav{gap:20px}.photo-dialog-nav button{font-size:12px}.photo-dialog-copy .photo-dialog-credit{font-size:12px}
}
@media(max-width:360px){.hero-v2{padding-bottom:355px;min-height:1100px}.hero-collage{height:275px}.hero-v2 h1{font-size:52px}.hero-v2 .hero-description{font-size:16px}.family-stage{height:1060px}.family-story h2{font-size:47px}.family-block-cream{top:66%;height:23%}.family-block-blue{top:73%;height:16%}.family-block-ivory{top:63%}.family-outline{top:68%}.cap-front,.cap-back{min-height:760px}.cap-flip-toggle,.cap-project{font-size:12px;padding:17px 13px}}
@media(hover:none),(pointer:coarse){.fine-guide{display:none}.touch-guide{display:inline}.capability-flip:hover .cap-lift{transform:none}}
.motion-paused .family-track{height:auto}.motion-paused .family-stage{position:relative;top:auto}.motion-paused .family-block,.motion-paused .family-people{transform:none!important}.motion-paused .hero-photo,.motion-paused .collage-block{animation:none!important}.motion-paused .craft-type>span{transform:none!important}.motion-paused .photo-track{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.family-track{height:auto}.family-stage{position:relative;top:auto}.family-block,.family-people{transform:none!important}.hero-photo,.collage-block{animation:none!important}.craft-type>span{transform:none!important}.photo-track{animation:none!important}.cap-turn{transition:none!important}}
@media(scripting:none){.photo-track{animation:none}.photo-actions{display:none}.family-track{height:auto}.family-stage{position:relative;top:auto}.family-block,.family-people{transform:none}.hero-photo,.collage-block{animation:none}}

/* In compact layouts, the portrait follows the copy without covering faces. */
@media(max-width:900px){.family-stage{height:auto;min-height:0}.family-story{padding-bottom:0}.family-people{position:relative;right:auto;bottom:auto;width:96%;max-width:none;margin:42px 0 0 4%;transform:none!important}.family-lower{position:relative;bottom:auto;left:auto;right:auto}.family-block-cream{top:auto;bottom:9%;height:35%}.family-block-blue{top:auto;bottom:7%;height:30%}.family-block-wine{bottom:3%;height:23%}.family-block-ivory{top:auto;bottom:40%;height:6%}.family-outline{top:auto;bottom:10%}}
@media(max-width:600px){.family-people{width:112%;margin-left:-6%;margin-top:45px}.family-block-cream{bottom:9%;height:24%}.family-block-blue{bottom:7%;height:19%}.family-block-wine{bottom:3%;height:18%}.family-block-ivory{bottom:32%;height:5%}.family-lower{padding-top:18px;padding-bottom:18px}.family-stage{height:auto}}

/* Keep the reading column independent of the page gutter at every width.
   The lower strip occupies its own row, so longer copy cannot sit beneath it. */
.family-stage{
 display:grid;
 grid-template-rows:minmax(min-content,1fr) auto;
 height:auto;
 min-height:clamp(740px,calc(100svh - var(--header)),1050px);
 max-height:none;
}
.family-story{
 grid-row:1;
 align-self:center;
 width:min(38vw,480px);
 max-width:none;
 margin-left:var(--gutter);
 padding:48px 0;
}
.family-story:before{
 left:calc(-1 * var(--gutter));
 background:linear-gradient(90deg,#0b2d42 0,#0b2d42 calc(100% - 45px),transparent 100%);
}
.family-story .eyebrow{display:block}
.family-story>p:not(.eyebrow){max-width:100%;font-size:clamp(16px,1vw,18px);line-height:1.8}
.family-lower{position:relative;inset:auto;grid-row:2;align-self:end}
@media(min-width:901px) and (max-height:780px){
 .family-story{padding-top:32px;padding-bottom:32px}
 .family-stage{min-height:620px}
}
@media(max-width:900px){
 .family-stage{display:block;min-height:0}
 .family-story{width:auto;max-width:750px;margin-left:0;padding:55px var(--gutter) 0}
 .family-story:before{left:0}
 .family-story>p:not(.eyebrow){font-size:16px;max-width:620px}
}
@media(max-width:600px){
 .family-story{padding-top:43px;max-width:none}
 .family-story>p:not(.eyebrow){max-width:390px}
}

/* Selected Shorehome family photo: retain all four people across viewport sizes. */
@media(min-width:901px){
 .family-people{width:calc(100% - var(--gutter) - min(38vw,480px) - 28px);max-width:1100px;right:8px;bottom:67px}
 .family-people img{width:100%;height:auto;object-fit:contain}
}
@media(max-width:900px){.family-people{width:100%;margin-left:0;margin-right:0;right:auto}}
@media(max-width:600px){.family-people{width:100%;margin-left:0;margin-top:38px}}
