@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght,SOFT,WONK@9..144,500,20,1;9..144,700,20,1&display=swap');:root{--navy:#17465e;--teal:#087b89;--coral:#ed7c64;--cream:#fff8e9;--sand:#f7e6c9;--sky:#e6f7f6;--ink:#24475a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:130px}body{margin:0;color:var(--ink);background:var(--cream);font-family:'DM Sans',sans-serif;line-height:1.6}a{color:var(--teal)}img{display:block;max-width:100%}.skip{position:absolute;top:-60px;left:10px;background:white;padding:8px;z-index:100}.skip:focus{top:10px}.topline{text-align:center;background:#0c647c;color:white;font-size:.76rem;padding:6px}.header{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:24px;padding:12px max(22px,calc((100vw - 1320px)/2));background:rgba(255,248,233,.97);box-shadow:0 3px 14px #173e5420}.brand{text-decoration:none;font-family:'Fraunces',Georgia,serif;font-size:1.3rem;font-weight:700;line-height:1;color:var(--navy);min-width:166px}.brand span{display:block;font-size:1.7rem;color:var(--teal)}.brand small{display:block;font:700 .56rem 'DM Sans',sans-serif;letter-spacing:3px;margin-top:6px}.hero{padding:clamp(24px,4vw,62px) 22px;background:linear-gradient(160deg,#e4f5f6 0%,#fff6dc 64%,#fce7d2 100%);position:relative;overflow:hidden}.hero:after{content:'〰 〰 〰 〰 〰 〰 〰';display:block;text-align:center;letter-spacing:15px;color:#42adbf;font-size:1.6rem;opacity:.6}.hero-layout{max-width:1240px;margin:auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:38px;align-items:center}.hero-copy h1,h2{font-family:'Fraunces',Georgia,serif;line-height:1.12;letter-spacing:-.02em;color:var(--navy)}.hero-copy h1{font-size:clamp(2.65rem,5.4vw,5.2rem);margin:15px 0}.hero-copy h1 em,h2 em{font-weight:500;color:#08899b}.hero-copy>p:not(.eyebrow){font-size:1.15rem;max-width:510px}.eyebrow{font-weight:700;letter-spacing:2.1px;font-size:.72rem;color:#bc624f}.hero-picture{margin:0}.hero-picture img{width:100%;border:9px solid white;box-shadow:0 15px 32px #25506d30;border-radius:7px}.hero-picture figcaption{text-align:center;font-size:.78rem;color:#567b86;padding:9px}.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:25px}.surf-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:49px;padding:11px 29px;color:white;text-align:center;text-decoration:none;font-weight:700;font-size:.86rem;letter-spacing:.3px;border:3px solid #fff7e7;box-shadow:0 5px 0 #235d6e42,0 7px 16px #12495b24;clip-path:polygon(8% 4%,91% 0,100% 50%,91% 100%,8% 96%,0 50%);transition:transform .18s,filter .18s;cursor:pointer}.surf-button:hover,.surf-button:focus-visible{transform:translateY(-3px);filter:brightness(1.07)}.turquoise{background:#067d91}.coral{background:#e97467}.sunset{background:#d98431}.ribbon{text-align:center;padding:12px;background:#087f92;color:white;letter-spacing:2px;font-size:.72rem;font-weight:700}.section{padding:76px max(22px,calc((100vw - 1200px)/2));scroll-margin-top:130px}.heading{text-align:center;max-width:740px;margin:0 auto 34px}.heading h2{margin:6px 0 12px}h2{font-size:clamp(2.2rem,4vw,3.65rem);margin:8px 0 18px}h3{font-family:'Fraunces',Georgia,serif;font-size:1.35rem;line-height:1.3;color:var(--navy)}.heading p:last-child{font-size:1.05rem}.cards{display:grid;gap:23px}.three{grid-template-columns:repeat(3,1fr)}.card,.review{background:#fffdf8;border:1px solid #eedec4;border-radius:18px;box-shadow:0 9px 20px #163f5b13;overflow:hidden}.card-img{height:250px;display:grid;place-items:center;background:#e5f6f5;padding:14px}.card-img img{height:100%;width:100%;object-fit:contain}.book-frame{background:#d8ecf4}.card-body{padding:20px 22px 25px}.card-body h3{margin:0 0 8px}.card-body p{margin:0 0 15px}.card-body .surf-button{margin-top:8px}.price{font-size:.82rem;color:#66828a}.shop-note,.fine,.center-note{font-size:.85rem;color:#587482}.shop-note{text-align:center;margin-top:25px}.hunt-section{background:#dff1ed;display:grid;grid-template-columns:1.1fr .9fr;gap:42px;align-items:center}.hunt-preview{display:block;justify-self:center;max-width:380px;transition:transform .2s}.hunt-preview img{width:100%;height:auto;border:8px solid #fffaf2;box-shadow:0 10px 24px #13455920}.hunt-preview:hover,.hunt-preview:focus-visible{transform:translateY(-4px)}.hunt-copy p:not(.eyebrow){max-width:580px}.gallery-section{background:#fffaf2}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery-grid figure{margin:0;background:white;border:8px solid white;border-radius:8px;box-shadow:0 8px 20px #173e5418;overflow:hidden}.gallery-grid img{width:100%;aspect-ratio:1.34;object-fit:cover}.gallery-grid figcaption{padding:12px;text-align:center;font-family:'Fraunces',Georgia,serif;color:var(--navy)}.center-note{text-align:center;margin-top:24px}.about-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;align-items:center;background:#fff1dc}.portrait{width:100%;max-width:380px;aspect-ratio:4/5;object-fit:cover;border:12px solid white;box-shadow:0 10px 25px #17465e2b;transform:rotate(-2deg);justify-self:center}.dogs-section{background:#e8f5f7}.dogs-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:35px;align-items:center}.dogs-layout img{border:8px solid white;border-radius:12px;box-shadow:0 10px 20px #17465e18}.recognition{background:#fff7e9}.award-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.award-grid>div{display:flex;flex-direction:column;align-items:center;text-align:center;background:white;border-radius:14px;padding:18px;gap:8px;box-shadow:0 5px 15px #17465e13}.award-grid img{height:145px;width:100%;object-fit:contain}.award-grid strong{font-size:.87rem;color:var(--navy)}.award-grid span{font-size:.8rem}.reviews-section{background:#f9eee0}.review{padding:24px}.review h3{margin:7px 0}.review blockquote{margin:10px 0;font-family:'Fraunces',Georgia,serif;font-size:1.35rem;color:#087b89}.review p{font-size:.92rem}.review a{font-size:.83rem}.stars{color:#a56b28;font-weight:700;font-size:.8rem!important}.editorial{margin-top:30px;display:grid;grid-template-columns:190px 1fr;gap:25px;align-items:center;background:#fffdf8;border-radius:14px;padding:20px}.editorial img{width:100%;max-height:190px;object-fit:contain}.events-section{display:grid;grid-template-columns:1fr .8fr;align-items:center;gap:35px;background:#e5f4f2}.events-section img{border:8px solid white;box-shadow:0 9px 22px #164d6920;transform:rotate(2deg)}.retailer-section{text-align:center;background:#fff6e6}.retailer-section p{max-width:650px;margin:0 auto 25px}.contact-section{text-align:center;padding:70px 22px;background:#15566f;color:white}.contact-section h2,.contact-section h2 em{color:white}.contact-section a{color:#ffe3a4;font-weight:700}footer{text-align:center;background:#103c53;color:#fff;padding:26px 20px;font-size:.82rem}footer a{color:#fff}a:focus-visible,button:focus-visible{outline:3px solid #f19d42;outline-offset:4px}@media(max-width:1050px){.hero-layout{gap:18px}.three{grid-template-columns:repeat(2,1fr)}.award-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.hero-layout,.hunt-section,.about-section,.dogs-layout,.events-section{grid-template-columns:1fr}.hero-picture{order:-1}.hero-copy h1{font-size:2.65rem}.section{padding:52px 20px}.three,.gallery-grid{grid-template-columns:1fr}.award-grid{grid-template-columns:repeat(2,1fr)}.editorial{grid-template-columns:1fr}.editorial img{max-width:260px}.ribbon{font-size:.59rem;letter-spacing:1px}.card-img{height:260px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.surf-button{transition:none}}
/* ===== Hanging wooden longboard navigation ===== */
:root{--wood-ink:#3a2210;--rope:repeating-linear-gradient(45deg,#d8b47a 0 3px,#9a7444 3px 5px)}
.header{padding-top:26px;padding-bottom:16px;justify-content:space-between}
.longboard,.mobile-toggle{
  /* laminated wood strips + grain + varnish shine */
  background:
    linear-gradient(180deg,rgba(255,244,220,.55) 0,rgba(255,244,220,0) 38%,rgba(70,35,10,0) 70%,rgba(70,35,10,.18) 100%),
    repeating-linear-gradient(177deg,transparent 0 6px,rgba(110,60,22,.10) 6px 7px,transparent 7px 13px),
    repeating-linear-gradient(183deg,transparent 0 17px,rgba(90,45,15,.08) 17px 19px),
    linear-gradient(180deg,#e2ae72 0 22%,#cf9050 22% 26%,#e8b981 26% 48%,#c7874a 48% 52%,#e4b077 52% 74%,#cf9050 74% 78%,#e2ae72 78%);
  box-shadow:inset 0 0 0 2px rgba(120,66,24,.55),inset 0 3px 0 rgba(255,240,210,.6),inset 0 -4px 6px rgba(90,45,15,.25),0 8px 14px rgba(60,35,15,.22);
}
.longboard{position:relative;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;
  gap:2px clamp(2px,.6vw,8px);margin:0;padding:12px clamp(34px,4vw,64px);
  border-radius:240px/50%;flex:0 1 auto}
.longboard::before,.longboard::after{content:"";position:absolute;bottom:calc(100% - 6px);width:4px;height:34px;background:var(--rope);border-radius:2px}
.longboard::before{left:20%;transform:rotate(-8deg);transform-origin:bottom}
.longboard::after{right:20%;transform:rotate(8deg);transform-origin:bottom}
.longboard a{font:700 .82rem/1.2 'DM Sans',sans-serif;letter-spacing:.2px;color:var(--wood-ink);text-decoration:none;white-space:nowrap;
  padding:7px 9px;border-radius:999px;text-shadow:0 1px 0 rgba(255,236,200,.7);transition:background .18s,color .18s,transform .18s}
.longboard a:hover,.longboard a:focus-visible{background:rgba(255,248,233,.88);color:#b8452f;transform:translateY(-1px)}
.mobile-toggle{display:none}
@media(max-width:1300px){.longboard a{font-size:.76rem;padding:6px 6px}}
@media(max-width:1100px){
  .header{padding-top:12px;padding-bottom:12px}
  .mobile-toggle{display:inline-flex;align-items:center;gap:8px;position:relative;border:0;cursor:pointer;
    font:700 .95rem 'DM Sans',sans-serif;color:var(--wood-ink);text-shadow:0 1px 0 rgba(255,236,200,.7);
    padding:11px 26px;border-radius:60px/50%}
  .longboard{display:none;position:absolute;top:calc(100% + 26px);right:max(14px,calc((100vw - 340px)/2));
    width:min(300px,calc(100vw - 28px));flex-direction:column;flex-wrap:nowrap;gap:2px;padding:56px 20px 64px;
    border-radius:50%/120px;
    background:
      linear-gradient(90deg,rgba(255,244,220,.5) 0,rgba(255,244,220,0) 38%,rgba(70,35,10,0) 70%,rgba(70,35,10,.18) 100%),
      repeating-linear-gradient(87deg,transparent 0 6px,rgba(110,60,22,.10) 6px 7px,transparent 7px 13px),
      linear-gradient(90deg,#e2ae72 0 22%,#cf9050 22% 26%,#e8b981 26% 48%,#c7874a 48% 52%,#e4b077 52% 74%,#cf9050 74% 78%,#e2ae72 78%)}
  .longboard.open{display:flex}
  .longboard::before,.longboard::after{height:30px;bottom:calc(100% - 10px)}
  .longboard::before{left:34%}.longboard::after{right:34%}
  .longboard a{font-size:1.02rem;padding:10px 14px;text-align:center}
}
@media(max-width:720px){.longboard{right:14px}}

.soundtrack{margin-top:26px;max-width:460px}
.soundtrack-label{margin:0 0 8px;font-weight:700;font-size:.9rem;color:var(--navy)}
.soundtrack-label em{font-family:'Fraunces',Georgia,serif;color:#08899b}
.soundtrack iframe{display:block;border:0;border-radius:12px;box-shadow:0 6px 16px #17465e22}
