@font-face{font-family:Montserrat;src:url('assets/fonts/montserrat-regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Montserrat;src:url('assets/fonts/montserrat-semibold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Montserrat;src:url('assets/fonts/montserrat-bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
:root{--paper:#ffffff;--ink:#000000;--yellow:#f1eb5f;--sand:#cfb69d;--muted:#666666;--line:#dddddd;--gutter:7%;--ease:cubic-bezier(.22,.68,0,1.01)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Montserrat,"Avenir Next",sans-serif;font-size:14px;line-height:1.8;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img,video{max-width:100%;display:block}figure,p,h1,h2,h3{margin:0}button{color:inherit}button:disabled{cursor:default}::selection{background:var(--yellow);color:var(--ink)}[hidden]{display:none!important}:focus-visible{outline:2px solid currentColor;outline-offset:6px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:10px;left:20px;z-index:200;background:var(--yellow);padding:12px 20px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}
h1,h2,h3{font-weight:400}h2{font-size:clamp(38px,4.2vw,68px);line-height:1.12;letter-spacing:-.055em}h3{font-size:27px;line-height:1.25;letter-spacing:-.04em}.eyebrow{text-transform:uppercase;font-size:9px;letter-spacing:.16em;font-weight:600;line-height:1.6}.section-pad{padding:118px var(--gutter)}.section-intro,.leasing-heading{display:grid;grid-template-columns:1fr 2fr;gap:7%}.section-intro>.eyebrow,.leasing-heading>.eyebrow{padding-top:12px}.tiny-symbol{display:block;width:30px;height:32px;background:url('assets/brand/symbol-primary.svg') center/contain no-repeat;margin-bottom:30px}.intro-copy{max-width:560px;margin-top:30px;line-height:1.95;color:#555555}.underlined{position:relative;display:inline-block;isolation:isolate}.underlined:after{content:"";height:.18em;background:var(--yellow);position:absolute;left:-2px;right:-3px;bottom:.04em;z-index:-1;transform:rotate(-2deg)}.button{display:inline-flex;justify-content:space-between;gap:30px;align-items:center;padding:17px 23px;min-height:54px;font-size:11px;font-weight:600;line-height:1.4;transition:background .25s,transform .25s;border:1px solid transparent}.button>span,.text-link>span{font-size:19px;font-weight:400;transition:transform .25s}.button:hover>span,.text-link:hover>span{transform:translate(3px,-3px)}.button-yellow{background:var(--yellow);color:var(--ink)}.button-yellow:hover{background:#f8f58b}.button-glass{border-color:#ffffff90;background:#00000030;color:white;backdrop-filter:blur(7px)}.button-glass:hover{background:#ffffff20}.button-ink{background:var(--ink);color:var(--paper)}.button-ink:hover{background:#222222}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;font-size:11px;font-weight:600;padding:12px 0;border-bottom:1px solid currentColor;line-height:1.4;min-height:44px}.small-copy{font-size:11px;line-height:1.8;color:var(--muted)}
.site-header{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:20px 4.5%;color:white;transition:background .3s,padding .3s,box-shadow .3s}.header-brand{position:relative;display:block;width:51px;height:58px;flex:none}.header-brand img{position:absolute;width:100%;height:100%;object-fit:contain;transition:opacity .3s}.brand-dark{opacity:0}.site-header.is-scrolled{padding-top:12px;padding-bottom:12px;background:rgba(255,255,255,.96);color:var(--ink);box-shadow:0 1px 0 #00000014;backdrop-filter:blur(14px)}.site-header.is-scrolled .brand-light{opacity:0}.site-header.is-scrolled .brand-dark{opacity:1}#site-nav{display:flex;gap:32px;align-items:center}#site-nav>a{font-size:10px;letter-spacing:.015em;position:relative;min-height:44px;display:flex;align-items:center}#site-nav>a:not(.nav-contact):after{content:"";position:absolute;bottom:7px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}#site-nav>a:hover:after{transform:scaleX(1)}#site-nav .nav-contact{border:1px solid #ffffff70;gap:28px;padding:0 17px}.is-scrolled #site-nav .nav-contact{border-color:#00000060}.menu-toggle,.mobile-nav-note{display:none}
.hero{min-height:740px;height:100svh;max-height:1250px;position:relative;overflow:hidden;color:white;background:#000000}.hero-poster,.hero-video,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-poster img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}.hero-video{opacity:0;transition:opacity 1.2s}.hero-video.is-visible{opacity:1}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.41),rgba(0,0,0,.12) 57%,transparent),linear-gradient(180deg,#0000002a,transparent 25%,transparent 65%,#00000066)}.hero-content{position:absolute;left:var(--gutter);top:45%;transform:translateY(-25%)}.hero-content .eyebrow{font-size:9px;letter-spacing:.18em;margin-bottom:25px}.hero h1{font-size:clamp(56px,7.25vw,118px);line-height:1.04;letter-spacing:-.065em;text-wrap:balance;text-shadow:0 2px 30px #00000020}.hero-description{font-size:13px;margin-top:28px;letter-spacing:.015em}.hero-bottom{position:absolute;bottom:30px;left:var(--gutter);right:4.5%;display:flex;justify-content:space-between;align-items:center}.scroll-link{display:flex;align-items:center;gap:15px;font-size:9px;min-height:44px}.scroll-line{height:37px;width:1px;background:#ffffff80;position:relative;overflow:hidden}.scroll-line:after{content:"";position:absolute;width:1px;height:14px;top:-15px;background:white;animation:shoreline 2.8s infinite}@keyframes shoreline{to{transform:translateY(70px)}}.motion-toggle{border:0;background:#00000028;backdrop-filter:blur(8px);padding:12px 15px;color:white;display:flex;align-items:center;gap:9px;font-size:9px;min-height:44px}.motion-dot{width:6px;height:6px;border:1px solid white;border-radius:50%}.motion-toggle[aria-pressed="true"] .motion-dot{background:white}
.beach{padding-bottom:0}.beach-composition{margin-top:70px;display:grid;grid-template-columns:1fr .27fr .32fr;grid-template-rows:auto auto;gap:0 4%;position:relative}.beach-wide{grid-column:1/3;grid-row:1;position:relative;margin-right:9%}.beach-wide img{width:100%;height:530px;object-fit:cover;object-position:50% 55%}.beach-wide figcaption{font-size:9px;padding-top:16px;letter-spacing:.03em}.beach-portrait{grid-column:3;grid-row:1/3;margin-top:140px;position:relative}.beach-portrait img{width:100%;height:340px;object-fit:cover}.image-index{display:block;font-size:8px;margin-top:14px}.beach-caption{grid-column:1/3;grid-row:2;margin-top:46px;margin-left:18%;max-width:360px}.beach-caption p{font-size:22px;letter-spacing:-.025em;line-height:1.5}.beach-caption .text-link{margin-top:14px}.small-rule{display:block;width:34px;height:3px;background:var(--yellow);margin-bottom:20px}.sand-fringe{isolation:isolate}.coastal-note{display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:.12em;text-transform:uppercase;margin-top:83px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cafe{display:grid;grid-template-columns:1.05fr .85fr;gap:12%;align-items:center;padding-top:120px;padding-bottom:130px}.cafe-photo{position:relative}.cafe-photo>img{width:100%;height:660px;object-fit:cover}.photo-label{position:absolute;bottom:23px;left:-15px;background:var(--yellow);padding:12px 20px;font-size:9px;transform:rotate(-3deg);color:#000000}.cafe-story h2{font-size:16px;letter-spacing:-.01em;margin:28px 0 14px;font-weight:600}.section-statement{font-size:clamp(35px,3.4vw,55px);line-height:1.18;letter-spacing:-.05em;margin-bottom:27px}.cafe-story>p:not(.eyebrow):not(.section-statement){color:#555555;line-height:1.95;max-width:400px}.cafe-story>.text-link{margin-top:20px}.cafe-details{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:50px}.cafe-mark{width:90px;height:118px;object-fit:contain}.drink-photo{width:43%;margin-right:12px;transform:rotate(5deg);background:#fff;padding:7px 7px 22px;box-shadow:1px 5px 15px #00000014}.drink-photo img{width:100%;height:190px;object-fit:cover}
.loop{position:relative;isolation:isolate;display:grid;grid-template-columns:.85fr 1fr;gap:14%;align-items:center;background:var(--paper);color:var(--ink);overflow:hidden;padding-top:105px;padding-bottom:105px}.loop-copy{padding:10px 0 45px}.loop h2{margin-top:35px;font-size:clamp(39px,4.65vw,75px)}.loop h2 span{color:var(--ink);background:linear-gradient(transparent 83%,var(--yellow) 83% 96%,transparent 96%)}.loop-name{font-size:15px;font-weight:600;margin-top:33px;margin-bottom:15px}.loop-copy>p:not(.eyebrow):not(.loop-name){max-width:350px;color:#555555;line-height:1.95}.loop-copy>.small-copy{margin-top:20px}.loop-copy>.text-link{margin-top:25px;color:var(--ink)}.loop-photo{position:relative;margin-left:20px}.loop-photo img{height:575px;width:100%;object-fit:cover}.loop-photo figcaption{font-size:9px;margin-top:15px;color:#555555}
.sand-section{position:relative;isolation:isolate;height:100svh;min-height:780px;max-height:1100px;overflow:hidden;background:var(--sand);color:#493e32}.sand-surface{position:absolute;inset:0;background:#cfb69d url('assets/sand-material.webp') center/cover;touch-action:pan-y;cursor:crosshair}#sand-canvas{display:block;width:100%;height:100%;opacity:0;transition:opacity .6s}.sand-surface[data-sand-renderer="webgl-heightfield"] #sand-canvas{opacity:1}.sand-heading{position:absolute;top:10%;left:var(--gutter);pointer-events:none;user-select:none;max-width:70%}.sand-heading .eyebrow{color:#65523e;margin-bottom:25px}.sand-heading h2{font-size:clamp(40px,4.4vw,66px);line-height:1.12;color:#493e32}.sand-introduction{font-size:11px;color:#65513f;margin-top:22px}.sand-location{position:absolute;right:var(--gutter);top:12%;font-size:8px;line-height:2;letter-spacing:.12em;text-transform:uppercase;text-align:right;pointer-events:none;user-select:none}.sand-footer{position:absolute;bottom:45px;left:var(--gutter);right:var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:35px;pointer-events:none}.sand-hint{font-size:10px;line-height:1.7;max-width:310px;color:#604c39;user-select:none}.sand-actions{display:flex;gap:10px;pointer-events:auto}.sand-actions button{border:1px solid #765e4359;background:#e6ccb449;backdrop-filter:blur(8px);min-height:48px;padding:13px 19px;color:#554432;font-size:10px;display:flex;align-items:center;justify-content:center;gap:16px;transition:background .2s}.sand-actions button>span{font-size:16px}.sand-actions button:hover{background:#f0dcc7b8}.sand-actions button[aria-pressed="true"]{background:#493e32;color:#f2e4d4;border-color:#493e32}.sand-actions button:disabled{opacity:.5}.sand-surface[data-sand-state="fallback"]{cursor:default}.sand-noscript{position:absolute;top:50%;width:100%;text-align:center;font-size:16px}
.leasing{padding-top:130px}.leasing-heading .button{margin-top:32px}.leasing-photo{position:relative;margin-top:70px}.leasing-photo img{width:100%;height:auto;max-height:580px;object-fit:cover}.leasing-photo figcaption{position:absolute;bottom:24px;left:28px;color:white;font-size:11px;background:#00000073;backdrop-filter:blur(9px);padding:9px 15px}
.gallery{padding-top:15px;padding-bottom:115px}.gallery-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:40px}.gallery-heading .eyebrow{margin-bottom:20px}.gallery-heading h2{font-size:clamp(34px,3.5vw,55px)}.gallery-grid{display:grid;grid-template-columns:1fr .9fr 1.2fr .9fr;gap:20px;align-items:start}.gallery-item{position:relative;display:block;overflow:hidden}.gallery-item img{height:350px;width:100%;object-fit:cover;transition:transform .7s var(--ease)}.gallery-item:nth-child(2){margin-top:50px}.gallery-item:nth-child(3){margin-top:22px}.gallery-item:nth-child(3) img{height:265px}.gallery-item:nth-child(4){margin-top:90px}.gallery-item:nth-child(4) img{height:290px}.gallery-item:hover img{transform:scale(1.045)}.gallery-item>span{position:absolute;inset:auto 0 0;display:flex;align-items:center;justify-content:flex-end;padding:13px 15px;background:linear-gradient(transparent,#00000066);color:white;font-size:9px}.gallery-item b{font-size:19px;font-weight:400}
.visit{background:#ffffff;position:relative;display:grid;grid-template-columns:.9fr 1fr;gap:13%;padding-top:110px;padding-bottom:115px;overflow:hidden}.visit-copy .eyebrow{margin-bottom:30px}.visit h2{font-size:clamp(48px,5.2vw,84px)}.visit-copy>p:not(.eyebrow){max-width:350px;margin-top:30px}.visit-info{display:grid;gap:26px;margin-top:40px}.visit-info h3{font-size:10px;font-weight:600;letter-spacing:.03em;margin-bottom:12px}.visit-info p{font-size:11px;line-height:1.9}.visit-info .small-copy{margin-top:8px;font-size:10px}.visit-info a{display:block;width:fit-content;font-size:12px;min-height:36px;border-bottom:1px solid #00000040;margin-bottom:7px;line-height:2.5}.visit-info a:hover{border-color:var(--ink)}.enquiry-form{padding-top:6px}.enquiry-form h3{font-size:25px;line-height:1.4}.form-intro{font-size:11px;color:#555555;margin-top:7px;margin-bottom:0}.form-required{font-size:10px;color:#555555;margin:10px 0 30px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{margin-bottom:24px;min-width:0}.field label{display:block;font-size:10px;font-weight:600;margin-bottom:7px}.optional{font-weight:400;opacity:.7}.field input,.field select,.field textarea{display:block;width:100%;min-width:0;border:0;border-bottom:1px solid #999999;border-radius:0;padding:10px 0 12px;background:transparent;color:var(--ink);font-size:12px;min-height:44px;outline-offset:4px}.field textarea{resize:vertical;min-height:105px}.field input::placeholder,.field textarea::placeholder{color:#666666;opacity:1}.field select{padding-right:20px}.enquiry-form .button{margin-top:4px;width:100%}.form-note{font-size:11px;line-height:1.8;color:#555555;margin-top:15px;max-width:370px}.form-status{font-size:11px;margin-top:15px}.form-status:empty{display:none}
.site-footer{padding:75px var(--gutter) 0;position:relative;overflow:hidden;background:#ffffff}.footer-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:55px;gap:30px}.footer-top>a>img{height:105px;width:93px}.footer-top>p{font-size:33px;line-height:1.18;letter-spacing:-.045em;margin-left:auto;margin-right:16%}.footer-top>p>span{color:#666666}.back-top{width:48px;height:48px;border:1px solid #00000050;display:grid;place-items:center;font-size:22px}.back-top:hover{background:var(--yellow)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:22px 0 27px;font-size:8px;letter-spacing:.02em}.footer-bottom a{min-height:30px;display:flex;align-items:center}
#gallery-dialog{background:var(--ink);color:white;border:0;padding:20px;width:min(1000px,94vw);max-height:94svh;overflow:auto}#gallery-dialog::backdrop{background:#000000ed;backdrop-filter:blur(10px)}#gallery-image{width:100%;height:75svh;object-fit:contain}.gallery-close{position:absolute;right:15px;top:15px;border:1px solid #ffffff60;background:#000000c9;color:white;width:44px;height:44px;font-size:27px;z-index:1}.gallery-dialog-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-top:15px}.gallery-dialog-bottom button{background:transparent;color:white;border:1px solid #ffffff60;min-width:44px;height:44px;font-size:20px}.gallery-dialog-bottom p{text-align:center;font-size:11px}.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform 1s var(--ease)}.js .reveal.is-visible{opacity:1;transform:translateY(0)}
@media(min-width:1600px){:root{--gutter:max(7%,calc((100% - 1440px)/2))}}
@media(max-width:1100px){:root{--gutter:6%}.section-pad{padding-top:90px;padding-bottom:90px}.beach{padding-bottom:0}#site-nav{gap:23px}.hero h1{font-size:76px}.beach-wide img{height:420px}.beach-portrait img{height:300px}.beach-portrait{margin-top:125px}.beach-composition{grid-template-columns:1fr .12fr .38fr}.cafe{gap:8%}.cafe-photo>img{height:550px}.cafe-details{margin-top:35px}.drink-photo img{height:145px}.loop{gap:8%}.loop-photo{margin-left:0}.loop-photo img{height:500px}.loop h2{font-size:49px}.sand-footer{gap:25px}.sand-hint{max-width:225px}.sand-actions button{padding:13px 15px;font-size:9px}.gallery{padding-top:10px}.gallery-grid{gap:14px}.gallery-item img{height:290px}.gallery-item:nth-child(3) img{height:230px}.gallery-item:nth-child(4) img{height:250px}.visit{gap:9%}.enquiry-form h3{font-size:23px}}
@media(max-width:800px){:root{--gutter:7%}html{scroll-padding-top:82px}body{font-size:12px}.section-pad{padding-top:75px;padding-bottom:75px}h2{font-size:43px}.eyebrow{font-size:8px}.site-header{padding:16px 6%;}.site-header.is-scrolled{padding:12px 6%}.header-brand{width:42px;height:48px}.menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:44px;height:44px;border:1px solid #ffffff70;background:transparent;z-index:2}.menu-toggle span{display:block;width:19px;height:1px;background:currentColor;transition:transform .25s}.is-scrolled .menu-toggle{border-color:#00000060}#site-nav{display:none}.js #site-nav{display:flex;position:fixed;inset:0;height:100svh;padding:130px 9% 50px;background:var(--paper);color:var(--ink);align-items:flex-start;justify-content:center;gap:10px;flex-direction:column;visibility:hidden;opacity:0;transform:translateY(-12px);transition:opacity .3s,transform .3s,visibility .3s;z-index:-1}.js #site-nav.is-open{visibility:visible;opacity:1;transform:translateY(0)}#site-nav>a{font-size:32px;letter-spacing:-.045em;min-height:55px}#site-nav .nav-contact{border:0;border-top:1px solid var(--line);padding:12px 0 0;margin-top:15px;gap:60px}.mobile-nav-note{display:block;font-size:10px;line-height:1.8;margin-top:30px}.menu-open .site-header{color:var(--ink)}.menu-open .brand-dark{opacity:1}.menu-open .brand-light{opacity:0}.menu-open .menu-toggle{border-color:#00000060}.menu-open .menu-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.hero{min-height:690px;max-height:1100px}.hero h1{font-size:clamp(54px,9.5vw,78px)}.hero-content{top:43%;left:7%;right:7%;transform:translateY(-15%)}.hero-content .eyebrow{font-size:8px;letter-spacing:.11em}.hero-description{font-size:11px;max-width:250px;line-height:1.7;margin-top:23px}.button{font-size:10px;padding:16px 18px;gap:25px;min-height:52px}.hero-bottom{left:7%;right:7%;bottom:24px}.scroll-link{font-size:8px;gap:12px}.motion-toggle{font-size:8px;padding:10px 12px}.hero-shade{background:linear-gradient(90deg,#0000005c,#00000020),linear-gradient(180deg,#00000020,transparent 24%,transparent 65%,#00000080)}.section-intro,.leasing-heading{grid-template-columns:1fr;gap:26px}.tiny-symbol{display:inline-block;width:20px;height:23px;vertical-align:middle;margin:0 12px 0 0}.section-intro>.eyebrow,.leasing-heading>.eyebrow{padding:0}.intro-copy{margin-top:23px;font-size:12px;line-height:1.95}.beach{padding-bottom:0}.beach-composition{grid-template-columns:1fr .8fr;grid-template-rows:auto auto;margin-top:40px;gap:32px 20px}.beach-wide{grid-column:1/-1;margin-right:8%;grid-row:1}.beach-wide img{height:auto;aspect-ratio:1.3;object-fit:cover}.beach-wide figcaption{font-size:8px;padding-top:15px}.beach-portrait{grid-column:2;grid-row:2;margin:0}.beach-portrait img{height:auto;aspect-ratio:.62}.image-index{font-size:7px}.beach-caption{grid-column:1;grid-row:2;margin:23px 0 0;align-self:center}.beach-caption p{font-size:17px}.beach-caption .text-link{font-size:9px;gap:10px}.small-rule{margin-bottom:17px}.coastal-note{margin-top:45px;font-size:6px;letter-spacing:.05em;gap:15px;padding:20px 0}.coastal-note img{width:22px;height:26px}.cafe{grid-template-columns:1fr;gap:42px;padding-top:70px}.cafe-photo{margin-right:8%}.cafe-photo>img{height:auto;max-height:670px;aspect-ratio:.86;object-fit:cover;object-position:50% 58%}.photo-label{font-size:8px;bottom:25px;left:-9px;padding:10px 16px}.cafe-story{position:relative}.cafe-story h2{margin:25px 0 12px;font-size:14px}.section-statement{font-size:39px}.cafe-story>p:not(.eyebrow):not(.section-statement){max-width:440px}.cafe-details{justify-content:flex-start;gap:55px;margin-top:36px}.cafe-mark{width:70px;height:90px}.drink-photo{width:38%;max-width:160px;margin-left:35px}.drink-photo img{height:170px}.loop{grid-template-columns:1fr;gap:15px;padding-top:75px;padding-bottom:65px}.loop-copy{padding-bottom:30px}.loop h2{font-size:48px;margin-top:26px}.loop-name{margin-top:28px}.loop-copy>p:not(.eyebrow):not(.loop-name){max-width:450px}.loop-photo{margin-left:12%;margin-right:0}.loop-photo img{height:auto;aspect-ratio:.85;max-height:640px;object-fit:cover}.loop-photo figcaption{font-size:8px}.sand-section{height:100svh;min-height:740px;max-height:1000px}.sand-heading{top:10%;max-width:90%}.sand-heading h2{font-size:clamp(36px,8.5vw,55px)}.sand-heading .eyebrow{font-size:8px;margin-bottom:24px}.sand-introduction{font-size:10px;margin-top:20px;max-width:220px}.sand-location{top:auto;bottom:200px;font-size:7px}.sand-footer{display:block;bottom:28px}.sand-hint{font-size:9px;max-width:none;min-height:32px;margin-bottom:15px}.sand-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sand-actions button{font-size:9px;padding:12px;min-height:45px;gap:8px}.sand-actions #sand-touch:not([hidden]){grid-column:1/-1}.leasing-heading .button{margin-top:27px}.leasing-photo{margin-top:40px}.leasing-photo img{height:300px;object-fit:cover}.leasing-photo figcaption{position:static;color:#666666;background:none;backdrop-filter:none;padding:20px 0 0;font-size:8px}.gallery{padding-top:0;padding-bottom:75px}.gallery-heading{display:block;margin-bottom:28px}.gallery-heading .eyebrow{margin-bottom:18px}.gallery-heading h2{font-size:37px}.gallery-heading .text-link{margin-top:13px;font-size:10px}.gallery-grid{grid-template-columns:1fr 1fr;gap:16px}.gallery-item img{height:255px}.gallery-item:nth-child(2){margin-top:35px}.gallery-item:nth-child(3){margin-top:-20px}.gallery-item:nth-child(3) img{height:210px}.gallery-item:nth-child(4){margin-top:15px}.gallery-item:nth-child(4) img{height:240px}.visit{grid-template-columns:1fr;gap:48px}.visit h2{font-size:57px}.visit-copy>p:not(.eyebrow){font-size:12px;margin-top:25px;max-width:390px}.visit-info{grid-template-columns:1fr;gap:23px;margin-top:30px}.visit-copy{position:relative}.visit-info a{font-size:11px}.enquiry-form{border-top:1px solid #cccccc;padding-top:38px}.enquiry-form h3{font-size:25px}.form-intro{margin-bottom:0}.form-row{grid-template-columns:1fr;gap:0}.field{margin-bottom:22px}.field input,.field select,.field textarea{font-size:16px}.field label{font-size:10px}.form-note{font-size:11px}.site-footer{padding:55px 7% 0}.footer-top{gap:20px;padding-bottom:40px}.footer-top>a>img{width:62px;height:70px}.footer-top>p{font-size:23px;margin-left:auto;margin-right:0}.back-top{width:40px;height:44px;font-size:18px;flex-shrink:0}.footer-bottom{flex-wrap:wrap;font-size:7px;gap:10px;padding:18px 0}.footer-bottom>span:nth-child(2){display:none}#gallery-dialog{padding:12px;width:96vw}.gallery-dialog-bottom p{font-size:9px}#gallery-image{height:70svh}.gallery-close{top:10px;right:10px}}
@media(max-width:360px){.hero h1{font-size:50px}.beach-caption p{font-size:15px}.sand-heading h2{font-size:33px}.sand-actions button{font-size:8px}.sand-location{bottom:220px}.footer-top>p{font-size:20px}.visit-info a{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}
/* Keep controls and navigation usable on short screens and without scripts. */
.site-header:not(.is-scrolled){background:linear-gradient(#000000b3,#00000055 82%,transparent)}
html:not(.js) .menu-toggle,html:not(.js) .motion-toggle,html:not(.js) .sand-actions{display:none}
@media(max-width:800px){.js #site-nav{overflow-y:auto;overscroll-behavior:contain;justify-content:flex-start;padding-top:115px}.js #site-nav>a{flex-shrink:0}html:not(.js) #site-nav{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end;margin-left:25px}html:not(.js) #site-nav>a{font-size:10px;min-height:32px}html:not(.js) #site-nav .nav-contact{border:0;margin:0;padding:0;gap:5px}html:not(.js) .mobile-nav-note{display:none}}

.visit-info a{min-height:44px;display:flex;align-items:center;gap:8px}.back-top{min-width:44px}.footer-bottom a{min-height:44px}

/* Sand becomes part of the page edges; the lettering beach remains its own space. */
.beach,.cafe,.leasing,.gallery,.visit,.site-footer{position:relative;isolation:isolate}
.beach,.cafe,.leasing,.gallery{overflow:clip}
.sand-drift{position:absolute;pointer-events:none;user-select:none;z-index:-1;overflow:hidden;background:#cfb69d url('assets/sand-material.webp') center/550px;contain:paint}
.sand-drift canvas{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.sand-drift--shore{top:-1px;left:0;width:100%;height:90px;mask-image:linear-gradient(#000 0 12%,#000c 42%,transparent 95%)}
.sand-drift--beach-margin{left:-48px;top:180px;width:150px;height:450px;mask-image:radial-gradient(ellipse 90% 48% at 0 50%,#000 10%,#000d 40%,transparent 100%)}
.sand-drift--cafe-margin{right:-48px;top:11%;width:155px;height:560px;mask-image:radial-gradient(ellipse 90% 48% at 100% 50%,#000 10%,#000d 40%,transparent 100%)}
.sand-drift--leasing-margin{left:-45px;top:190px;width:145px;height:480px;mask-image:radial-gradient(ellipse 90% 48% at 0 50%,#000 10%,#000b 40%,transparent 100%)}
.sand-drift--gallery-margin{right:-45px;top:10px;width:145px;height:540px;mask-image:radial-gradient(ellipse 90% 48% at 100% 50%,#000 10%,#000b 40%,transparent 100%)}
.sand-drift--photo{inset:14px -23px -18px 18px;mask-image:linear-gradient(to left,transparent,#0009 9px,#000 21px,transparent 43px),linear-gradient(to top,transparent,#0008 9px,#000 20px,transparent 43px)}
.beach-wide .sand-drift--photo{bottom:24px}
.sand-drift--footer{left:0;right:0;bottom:0;height:220px;mask-image:linear-gradient(transparent,#0006 30%,#000d 72%,#000)}
.footer-top,.footer-bottom{position:relative;z-index:1}
.site-footer{padding-bottom:15px}
.footer-bottom{border-top-color:#0003}
.leasing-invitation{display:grid;grid-template-columns:1fr 1.35fr;gap:14%;align-items:center;margin-top:80px;padding-top:44px;border-top:1px solid var(--line)}
.leasing-invitation h3{font-size:36px;margin-top:20px}
.leasing-invitation>div>p:not(.eyebrow){max-width:470px;line-height:1.9;color:#555}
.leasing-invitation .button{margin-top:25px}
.leasing-invitation .small-copy{margin-top:18px;font-size:10px}
@media(max-width:800px){
 .sand-drift--shore{height:56px}
 .sand-drift--beach-margin{left:-38px;top:170px;width:72px;height:370px}
 .sand-drift--cafe-margin{right:-38px;top:15%;width:78px;height:430px}
 .sand-drift--leasing-margin{left:-39px;top:175px;width:74px;height:395px}
 .sand-drift--gallery-margin{right:-38px;top:160px;width:76px;height:390px}
 .sand-drift--photo{inset:11px -17px -14px 12px;mask-image:linear-gradient(to left,transparent,#0009 7px,#000 13px,transparent 32px),linear-gradient(to top,transparent,#0009 7px,#000 13px,transparent 32px)}
 .beach-wide .sand-drift--photo{bottom:23px}.leasing-photo .sand-drift--photo{bottom:24px}
 .sand-drift--footer{height:180px}
 .leasing-invitation{grid-template-columns:1fr;gap:24px;margin-top:48px;padding-top:30px}
 .leasing-invitation h3{font-size:32px;margin-top:16px}
 .leasing-invitation .button{margin-top:22px}
 .site-footer{padding-top:64px}
}

/* Soft sand spills connect photographs and the lower sections. */
.photo-sand-frame{position:relative;isolation:isolate}
.beach-portrait{align-self:start}
.sand-drift--loop-bank{width:48%;height:260px;right:-4%;bottom:-10px;mask-image:radial-gradient(ellipse 59% 48% at 62% 55%,#000b 12%,#0007 49%,transparent 100%)}
.sand-drift--gallery-bed{left:-7%;bottom:-70px;width:112%;height:520px;mask-image:radial-gradient(ellipse 33% 37% at 28% 57%,#000 10%,#000b 47%,transparent 100%),radial-gradient(ellipse 32% 34% at 72% 56%,#000e 12%,#0009 49%,transparent 100%)}
.gallery{padding-bottom:145px}
.sand-drift--contact-bank{left:-9%;bottom:-80px;width:70%;height:650px;mask-image:radial-gradient(ellipse 52% 48% at 19% 61%,#000e 12%,#0009 47%,transparent 100%),radial-gradient(ellipse 29% 24% at 67% 75%,#0009 10%,#0005 38%,transparent 100%)}
.visit-copy,.enquiry-form{position:relative;z-index:1}
@media(max-width:800px){
 .sand-drift--loop-bank{width:80%;height:210px;right:-16%;bottom:0}
 .sand-drift--gallery-bed{left:-17%;bottom:-40px;width:140%;height:570px;mask-image:radial-gradient(ellipse 36% 45% at 24% 50%,#000d 10%,#0009 45%,transparent 100%),radial-gradient(ellipse 31% 30% at 71% 61%,#000d 12%,#0008 45%,transparent 100%)}
 .gallery{padding-bottom:105px}
 .sand-drift--contact-bank{left:-23%;top:145px;bottom:auto;width:122%;height:575px;mask-image:radial-gradient(ellipse 30% 45% at 14% 46%,#000d 12%,#0007 47%,transparent 100%),radial-gradient(ellipse 33% 21% at 67% 71%,#000c 10%,#0006 40%,transparent 100%)}
}

.visit-info .small-copy{color:#333333}

/* Readable, branded invitation to play with the sand. */
.sand-section{height:calc(100svh - 80px);min-height:640px;max-height:920px;color:#171511}
.sand-heading{top:8%}
.sand-heading .eyebrow{color:#171511;font-size:11px;margin-bottom:18px}
.sand-heading h2{color:#171511;font-size:clamp(40px,4.3vw,64px)}
.sand-introduction{font-size:14px;font-weight:600;line-height:1.6;color:#171511;margin-top:18px}
.sand-location{top:10%;font-size:11px;font-weight:600;color:#171511;letter-spacing:.04em;line-height:1.7}
.sand-footer{bottom:28px;gap:24px;padding:0;border:0;background:transparent;box-shadow:none;align-items:center;pointer-events:none}
.sand-play-copy{flex:1;min-width:0}
.sand-play-label{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:14px;line-height:1.4}
.sand-play-label img{width:25px;height:28px;flex:none}
.sand-play-label strong{font-weight:600}
.sand-hint{font-size:12px;font-weight:400;line-height:1.55;max-width:390px;color:var(--ink);margin:5px 0 0 35px}
.sand-actions{gap:10px;flex-shrink:0}
.sand-actions button{min-height:54px;border:1px solid var(--ink);background:transparent;color:var(--ink);backdrop-filter:none;font-size:12px;font-weight:600;padding:14px 19px;gap:16px;line-height:1.4;white-space:nowrap}
.sand-actions #sand-new{background:var(--yellow)}
.sand-actions button:hover{background:#f8f58b}
.sand-actions button:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.sand-actions button[aria-pressed="true"]{background:var(--ink);color:var(--yellow);border-color:var(--ink)}
.sand-actions button:disabled{opacity:1;color:#59554b;background:transparent;border-color:#756f63}
/* Give the cafe mark a clear place and tie its photos together with sand. */
.cafe-title-row{display:flex;align-items:center;gap:18px;margin:25px 0 18px}
.cafe-title-row .cafe-mark{width:46px;height:61px;flex:none}
.cafe-title-row h2{margin:0}
.cafe-details{justify-content:flex-end;margin-top:30px}
.sand-drift--cafe-bed{left:3%;bottom:-80px;width:77%;height:360px;mask-image:radial-gradient(ellipse 40% 43% at 30% 47%,#000b 8%,#0006 46%,transparent 100%),radial-gradient(ellipse 34% 35% at 70% 54%,#000a 9%,#0005 44%,transparent 100%)}
@media(max-width:800px){
 .sand-section{height:calc(100svh - 82px);min-height:740px;max-height:950px}
 .sand-heading{top:35px;left:7%;max-width:86%}
 .sand-heading .eyebrow{font-size:10px;letter-spacing:.12em;margin-bottom:12px}
 .sand-heading h2{font-size:clamp(32px,8.5vw,44px);line-height:1.12}
 .sand-introduction{font-size:12px;font-weight:600;margin-top:14px;max-width:none}
 .sand-location{top:198px;bottom:auto;left:7%;right:auto;font-size:11px;letter-spacing:0;text-transform:none;text-align:left}
 .sand-location br{display:none}.sand-location br:after{content:' '}
 .sand-footer{left:5%;right:5%;bottom:max(22px,env(safe-area-inset-bottom));padding:0;display:block}
 .sand-play-label{font-size:13px;gap:8px}
 .sand-play-label img{width:22px;height:25px}
 .sand-hint{font-size:12px;line-height:1.5;max-width:none;margin:6px 0 12px;min-height:36px}
 .sand-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .sand-actions button{font-size:11px;min-height:48px;padding:12px 8px;gap:7px}
 .sand-actions #sand-touch:not([hidden]){grid-column:1/-1;background:var(--yellow)}
 .sand-actions #sand-new{background:transparent}
 .sand-actions #sand-touch[aria-pressed="true"]{background:var(--ink);color:var(--yellow)}
 .sand-actions button:disabled,.sand-actions #sand-touch:disabled{background:transparent;color:#59554b;border-color:#756f63}
 .cafe{gap:32px;padding-top:58px;padding-bottom:75px}
 .cafe-photo{margin-right:0}.cafe-photo>img{aspect-ratio:1.05;max-height:520px}
 .cafe-story{display:flex;flex-direction:column;isolation:isolate}
 .cafe-title-row{gap:14px;margin:18px 0 20px}
 .cafe-title-row .cafe-mark{width:42px;height:56px}
 .cafe-title-row h2{font-size:16px;margin:0}
 .cafe-story .section-statement{font-size:clamp(32px,8.6vw,44px);margin-bottom:20px}
 .cafe-story>p:not(.eyebrow):not(.section-statement){font-size:13px;line-height:1.8;color:#333;max-width:none}
 .cafe-details{order:1;display:block;margin-top:24px}
 .drink-photo{width:100%;max-width:none;margin:0;transform:none;padding:0;background:transparent;box-shadow:none}
 .drink-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:50% 88%}
 .cafe-story>.text-link{order:2;align-self:flex-start;margin-top:18px;font-size:12px}
 .sand-drift--cafe-bed{left:-18%;bottom:-35px;width:136%;height:610px;mask-image:radial-gradient(ellipse 43% 43% at 46% 54%,#000e 10%,#0009 45%,transparent 100%),radial-gradient(ellipse 32% 29% at 79% 40%,#0009 10%,#0005 44%,transparent 100%)}
 .sand-drift--beach-margin{left:-28%;top:375px;width:122%;height:330px;mask-image:radial-gradient(ellipse 45% 47% at 35% 52%,#000c 10%,#0006 45%,transparent 100%)}
 .sand-drift--cafe-margin{right:-28%;top:25%;width:94%;height:360px;mask-image:radial-gradient(ellipse 48% 47% at 75% 50%,#000a 8%,#0005 45%,transparent 100%)}
 .sand-drift--leasing-margin{left:-28%;top:300px;width:125%;height:420px;mask-image:radial-gradient(ellipse 45% 47% at 28% 52%,#000c 10%,#0007 45%,transparent 100%)}
 .sand-drift--loop-bank{right:-23%;bottom:-15px;width:128%;height:350px;mask-image:radial-gradient(ellipse 46% 45% at 61% 55%,#000e 10%,#0008 46%,transparent 100%)}
}
@media(max-width:360px){.sand-actions button>span{display:none}.sand-heading h2{font-size:31px}.sand-location{top:186px}.sand-actions button{font-size:11px}}

@media(max-width:800px){.sand-actions button{font-size:12px}}

/* Feedback pass: legibility, a clearer route through the coast, and a continuous ending. */
body{font-size:15px}
.eyebrow{font-size:12px;letter-spacing:.12em}
.button,.text-link{font-size:13px}
.small-copy{font-size:13px}
#site-nav>a{font-size:13px}
#site-nav{gap:30px}
#site-nav>a[aria-current="location"]:after{transform:scaleX(1)}
.site-header.is-scrolled #site-nav>a:not(.nav-contact):after{height:7px;bottom:3px;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='7' viewBox='0 0 90 7'%3E%3Cpath d='M0 4 Q11 0 22 4 T44 4 T66 4 T90 4' fill='none' stroke='%23cfb69d' stroke-width='1.5'/%3E%3Cpath d='M0 4 Q11 0 22 4' fill='none' stroke='%23f1eb5f' stroke-width='2'/%3E%3C/svg%3E") left center/90px 7px repeat-x}
.hero h1{font-size:clamp(56px,6.65vw,106px)}
.hero-content .eyebrow{font-size:12px;letter-spacing:.13em}
.hero-description{font-size:16px}
.scroll-link,.motion-toggle{font-size:12px}
.beach-wide{margin-right:6%}
.beach-wide figcaption,.image-index,.photo-label,.loop-photo figcaption,.leasing-photo figcaption{font-size:12px;line-height:1.65}
.beach-composition{isolation:isolate}
.sand-drift--footpath{left:64%;top:25%;width:29%;height:72%;mask-image:radial-gradient(ellipse 42% 42% at 48% 45%,#000a 8%,#0008 40%,transparent 100%)}
.coastal-note{font-size:12px;letter-spacing:.04em;text-transform:none}
.leasing-invitation .small-copy{font-size:13px}
.leasing{padding-bottom:85px}
.gallery{padding-top:12px;padding-bottom:88px}
.gallery-heading{margin-bottom:32px}
.gallery-grid{grid-template-columns:repeat(4,1fr);gap:22px}
.gallery-item:nth-child(n){margin-top:0}
.gallery-item:nth-child(even){margin-top:28px}
.gallery-item img{height:330px}
.gallery-item:nth-child(3) img{height:280px}
.gallery-item:nth-child(4) img{height:300px}
.sand-drift--gallery-bed{bottom:0;height:430px}
.visit{padding-top:78px;padding-bottom:68px;overflow:visible}
.visit-info h3,.field label{font-size:12px}
.visit-info p,.visit-info .small-copy,.visit-info a{font-size:14px}
.form-intro,.form-required,.form-note,.form-status{font-size:12px}
.field input,.field select,.field textarea{font-size:15px}
.sand-drift--contact-bank{left:-9%;bottom:-190px;width:78%;height:740px;mask-image:radial-gradient(ellipse 54% 44% at 24% 48%,#000d 12%,#0009 47%,transparent 100%),radial-gradient(ellipse 29% 29% at 68% 54%,#0008 10%,#0004 40%,transparent 100%)}
.site-footer{background:transparent;padding-top:44px}
.sand-drift--footer{height:100%;mask-image:linear-gradient(transparent,#0005 37%,#000c 80%,#000)}
.footer-bottom{font-size:12px;letter-spacing:0;border-top-color:#00000018}
.footer-bottom a{font-size:13px}
.gallery-dialog-bottom p{font-size:13px}
@media(min-width:801px) and (max-width:1100px){
 #site-nav{gap:22px}.hero h1{font-size:70px}
 .gallery-item img{height:280px}.gallery-item:nth-child(3) img{height:230px}.gallery-item:nth-child(4) img{height:260px}
}
@media(max-width:800px){
 body{font-size:14px}.eyebrow{font-size:11px}
 #site-nav>a{font-size:30px}#site-nav .nav-contact{gap:16px;width:100%;justify-content:space-between}.site-header.is-scrolled #site-nav>a:not(.nav-contact):after{bottom:3px}
 .mobile-nav-note{font-size:13px}
 .hero h1{font-size:clamp(50px,9vw,72px)}
 .hero-content .eyebrow{font-size:11px;letter-spacing:.07em}
 .hero-description{font-size:14px;max-width:290px}
 .scroll-link,.motion-toggle{font-size:11px}.scroll-link{gap:10px}.motion-toggle{padding:10px}
 .button,.text-link,.beach-caption .text-link,.gallery-heading .text-link{font-size:13px}
 .intro-copy,.cafe-story>p:not(.eyebrow):not(.section-statement),.visit-copy>p:not(.eyebrow){font-size:14px}
 .beach-wide{margin-right:4%}.beach-wide figcaption,.image-index,.photo-label,.loop-photo figcaption,.leasing-photo figcaption{font-size:12px}
 .beach-portrait{margin-top:0}.beach-caption .text-link{gap:12px}
 .sand-drift--footpath{left:34%;top:30%;width:70%;height:64%;mask-image:radial-gradient(ellipse 43% 43% at 50% 46%,#000a 8%,#0007 40%,transparent 100%)}
 .coastal-note{font-size:11px;gap:16px;line-height:1.6;letter-spacing:0}.coastal-note>span{max-width:38%}
 .sand-heading .eyebrow{font-size:11px}.sand-introduction,.sand-hint{font-size:13px}
 .leasing{padding-bottom:58px}.leasing-invitation .small-copy{font-size:12px}
 .gallery{padding-top:10px;padding-bottom:70px}.gallery-heading{margin-bottom:26px}
 .gallery-heading .text-link{margin-top:15px}
 .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}
 .gallery-item:nth-child(n){margin-top:0}.gallery-item:nth-child(even){margin-top:24px}
 .gallery-item img{height:230px}.gallery-item:nth-child(3) img{height:190px}.gallery-item:nth-child(4) img{height:210px}
 .sand-drift--gallery-bed{bottom:0;height:430px}
 .visit{padding-top:65px;padding-bottom:48px}
 .visit-info h3,.field label{font-size:12px}.visit-info p,.visit-info .small-copy,.visit-info a{font-size:14px}
 .form-intro,.form-required,.form-note,.form-status{font-size:12px}
 .field input,.field select,.field textarea{font-size:16px}
 .sand-drift--contact-bank{left:-23%;top:auto;bottom:-175px;width:122%;height:710px;mask-image:radial-gradient(ellipse 40% 43% at 17% 50%,#000c 12%,#0007 47%,transparent 100%),radial-gradient(ellipse 33% 25% at 65% 64%,#0008 10%,#0004 40%,transparent 100%)}
 .site-footer{padding-top:40px}.footer-top{gap:18px}.footer-top>p{font-size:23px}
 .footer-bottom{font-size:11px;gap:8px 20px}.footer-bottom a{font-size:13px}
 .gallery-dialog-bottom p{font-size:12px}
}
@media(max-width:360px){
 .hero h1{font-size:46px}.hero-content .eyebrow{font-size:10px;letter-spacing:.04em}
 .hero-bottom{left:5%;right:5%}.scroll-link,.motion-toggle{font-size:10px}
 .beach-caption p{font-size:16px}.beach-caption .text-link{font-size:12px}
 .gallery-item img{height:200px}.gallery-item:nth-child(3) img{height:165px}.gallery-item:nth-child(4) img{height:180px}
 .footer-top{gap:12px}.footer-top>p{font-size:20px}.footer-top>a>img{width:52px;height:62px}
}

/* Sand follows the invitation and the welcome, including the stacked mobile layout. */
.leasing-invitation,.visit-copy{position:relative;isolation:isolate}
.sand-drift--invitation{
 left:-8%;top:-18px;width:72%;height:calc(100% + 45px);
 mask-image:radial-gradient(ellipse 43% 40% at 27% 55%,#0009 10%,#0005 46%,transparent 100%),radial-gradient(ellipse 31% 34% at 65% 59%,#0007 8%,#0003 44%,transparent 100%);
}
.sand-drift--visit-welcome{
 left:-14%;top:-28px;width:122%;height:min(100%,660px);
 mask-image:radial-gradient(ellipse 36% 43% at 63% 46%,#000a 9%,#0005 46%,transparent 100%),radial-gradient(ellipse 37% 24% at 38% 74%,#0008 8%,#0003 43%,transparent 100%);
}
.shoreline-link{position:relative}
.visit-info a.shoreline-link,.gallery-heading .shoreline-link,.footer-bottom .shoreline-link{border-bottom:0;padding-bottom:10px}
.shoreline-link:after{
 content:"";position:absolute;left:0;right:0;bottom:1px;height:7px;pointer-events:none;
 background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='7' viewBox='0 0 90 7'%3E%3Cpath d='M0 4 Q11 0 22 4 T44 4 T66 4 T90 4' fill='none' stroke='%23f1eb5f' stroke-width='2.5'/%3E%3C/svg%3E") left center/90px 7px repeat-x;
 transition:background-position .35s var(--ease);
}
.shoreline-link:hover:after,.shoreline-link:focus-visible:after{background-position:14px center}
@media(max-width:800px){
 .sand-drift--invitation{
  left:-10%;top:-20px;width:122%;height:calc(100% + 46px);
  mask-image:radial-gradient(ellipse 45% 42% at 83% 44%,#000b 10%,#0007 43%,transparent 100%),radial-gradient(ellipse 37% 27% at 20% 71%,#0009 10%,#0004 44%,transparent 100%);
 }
 .sand-drift--visit-welcome{
  left:-8%;top:-24px;width:116%;height:calc(100% + 40px);
  mask-image:radial-gradient(ellipse 45% 38% at 82% 40%,#000b 10%,#0006 44%,transparent 100%),radial-gradient(ellipse 40% 26% at 23% 73%,#0009 8%,#0004 43%,transparent 100%);
 }
}
@media(prefers-reduced-motion:reduce){.shoreline-link:after{transition:none}}
