@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Playfair+Display:wght@600;700&display=swap');
:root{--ink:#0a2540;--accent:#2ec4b6;--paper:#e8d5b7;--deep:#063354;--white:#ffffff}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{display:flex;flex-direction:column;background:var(--paper);color:var(--ink);font:16px/1.65 "DM Sans",sans-serif}main{flex:1 0 auto}footer{flex-shrink:0}a{color:inherit}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3{font-family:"Playfair Display",Georgia,serif;line-height:1.12}h1{font-size:clamp(2.7rem,6vw,5.6rem);margin:.2em 0}h2{font-size:clamp(2rem,4vw,3.4rem)}h3{font-size:1.35rem}.eyebrow{color:var(--accent);font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.pp-header{position:relative;z-index:20;display:flex;align-items:center;gap:2rem;padding:14px 7vw;background:var(--paper);border-bottom:1px solid #0002}.pp-brand{display:flex;align-items:center;gap:.65rem;font-family:"Playfair Display",serif;font-size:1.1rem;font-weight:700;text-decoration:none;white-space:nowrap}.pp-brand img{width:45px;height:45px;border-radius:50%}.pp-nav{display:flex;gap:1.5rem;margin-left:auto;font-weight:700}.pp-nav a{text-decoration:none}.pp-nav a:hover{color:var(--accent)}.pp-header-cta,.pp-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:.8rem 1.25rem;background:var(--ink);color:var(--paper);font:700 1rem "DM Sans",sans-serif;text-decoration:none;cursor:pointer}.pp-button:hover{background:var(--accent);color:var(--deep)}.pp-intro,.pp-title,.pp-legal{max-width:1000px;margin:auto;padding:6rem 8vw}.pp-intro{text-align:center}.pp-intro p:last-child,.pp-title>p:last-child{max-width:680px;margin-inline:auto}.pp-hero{display:grid;grid-template-columns:1fr 1fr;min-height:620px;background:#fff}.pp-hero>div{padding:10vw 8vw;align-self:center}.pp-hero>img{height:100%;min-height:620px;object-fit:cover}.pp-tide{display:grid;grid-template-columns:1fr 1fr;align-items:center;background:#dff5f2}.pp-tide div{padding:7vw}.pp-tide img{height:460px;object-fit:cover}.pp-quote{padding:6rem 8vw;text-align:center;background:#0a2540;color:#fff}.pp-quote p{font:clamp(1.8rem,4vw,3.1rem)/1.2 Georgia,serif;margin:0 auto 1rem;max-width:900px}.pp-values{padding:0 8vw 6rem}.pp-values>div,.pp-menu,.pp-moments>div{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.pp-values article,.pp-menu article,.pp-moments article{padding:2rem;background:var(--white);border-radius:22px;box-shadow:0 12px 30px #20351012}.pp-values i,.pp-values .iconify,.pp-menu i,.pp-menu .iconify{font-size:2rem;color:var(--accent)}.pp-split,.pp-feature,.pp-contact{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center;padding:6rem 8vw}.pp-split img,.pp-feature img{width:100%;height:470px;border-radius:32px}.pp-split a,.pp-menu a{font-weight:700}.pp-steps{padding:6rem 8vw;background:var(--deep);color:var(--paper);text-align:center}.pp-steps .eyebrow{color:var(--accent)}.pp-steps ol{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:900px;margin:3rem auto 0;padding:0;list-style:none}.pp-steps li{display:grid;gap:.6rem}.pp-steps strong{color:var(--accent);font-size:2rem}.pp-faq{max-width:900px;margin:auto;padding:6rem 8vw}.pp-faq details{padding:1.2rem 0;border-bottom:1px solid #0002}.pp-faq summary{font-weight:700;cursor:pointer}.pp-call{padding:6rem 8vw;background:var(--accent);color:var(--deep);text-align:center}.pp-call .pp-button{margin-top:1rem}.pp-menu{grid-template-columns:repeat(4,1fr);padding:0 8vw 6rem}.pp-menu h2{font-size:1.55rem}.pp-feature{background:#fff8}.pp-feature li{margin:.7rem 0}.pp-moments{padding:6rem 8vw}.pp-moments>h2{text-align:center}.pp-timeline{display:grid;grid-template-columns:repeat(3,1fr);padding:0 8vw 6rem}.pp-timeline article{padding:2rem;border-top:4px solid var(--accent);background:#fff8}.pp-timeline strong{font:1.6rem "Playfair Display",serif}.pp-contact{align-items:start}.pp-form{display:grid;gap:1rem;padding:2rem;border-radius:22px;background:var(--white);box-shadow:0 12px 30px #20351012}.pp-form label{display:grid;gap:.35rem;font-weight:700}input,textarea{width:100%;padding:.8rem;border:1px solid #0003;border-radius:8px;background:#fff;font:inherit}textarea{resize:vertical}.form-status{min-height:1.5rem;margin:0;color:var(--deep)}.pp-legal{max-width:960px}.pp-legal section{padding:1.5rem 0;border-bottom:1px solid #0002}.pp-legal h2{font-size:1.65rem}.updated{font-weight:700}.pp-center{text-align:center}.pp-footer{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2rem;padding:4rem 8vw 1.5rem;background:var(--deep);color:var(--paper)}.pp-footer h3{margin-top:0;font-size:1.15rem}.pp-footer a{display:block;margin:.35rem 0}.pp-footer small{grid-column:1/-1;padding-top:1.2rem;border-top:1px solid #fff4}.pp-map{display:grid;align-content:center;gap:.4rem;min-height:170px;padding:1.5rem;border:1px solid #fff5;border-radius:20px}.pp-map .iconify{font-size:2rem;color:var(--accent)}.pp-map em{font-size:.8rem;opacity:.75}.wr-newsletter{display:flex;gap:.5rem}.wr-newsletter input{min-width:0}.wr-newsletter button{border:0;border-radius:8px;padding:.5rem .8rem;background:var(--accent);font-weight:700}.pp-cookie{position:fixed;right:1rem;bottom:1rem;z-index:50;max-width:360px;padding:1rem 1.2rem;background:var(--white);border-radius:16px;box-shadow:0 12px 32px #0003}.pp-cookie p{margin:0 0 .75rem}.pp-cookie button{border:0;border-radius:99px;padding:.55rem 1rem;background:var(--ink);color:var(--paper);font-weight:700}
.pp-burger{display:none;position:relative;width:42px;height:42px;border:0;background:transparent;z-index:1101;cursor:pointer}
.pp-burger span{position:absolute;left:50%;top:50%;width:22px;height:2px;margin-left:-11px;margin-top:-1px;background:currentColor;transition:transform .25s,opacity .25s}
.pp-burger span:nth-child(1){transform:translateY(-7px)}
.pp-burger span:nth-child(3){transform:translateY(7px)}
.pp-burger.is-open span:nth-child(1){transform:rotate(45deg)}
.pp-burger.is-open span:nth-child(2){opacity:0}
.pp-burger.is-open span:nth-child(3){transform:rotate(-45deg)}

@media(max-width:768px){
  .pp-header,.pp-header--ocean{position:relative;z-index:1100;padding:12px 5vw;display:grid;grid-template-columns:1fr auto;align-items:center;justify-items:stretch}
  .pp-header--ocean .pp-brand{grid-column:1;justify-self:start}
  .pp-burger,.pp-header--ocean .pp-burger{display:block!important;grid-column:2;justify-self:end;margin:0;color:var(--ink)}
  .pp-nav,.pp-header--ocean .pp-nav{display:none;grid-column:1/-1;grid-row:2;order:4;width:100%;margin:0;padding:1rem 0;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);position:relative;z-index:1090}
  .pp-nav a{padding:.85rem 0;border-bottom:1px solid #0002}
  .pp-nav.is-open,.pp-header--ocean .pp-nav.is-open{display:flex!important}
  .pp-header-cta{display:none}
  .pp-hero,.pp-split,.pp-feature,.pp-contact,.pp-tide,.wr-photo-note,.wr-ceramic{grid-template-columns:1fr}
  .pp-hero>img,.pp-tide img,.wr-photo-note img,.wr-ceramic img{min-height:300px;height:340px}
  .pp-hero>div{padding:5rem 8vw}
  .pp-values>div,.pp-menu,.pp-moments>div,.pp-timeline,.pp-steps ol{grid-template-columns:1fr 1fr}
  .pp-footer{grid-template-columns:1fr 1fr}
}
@media(max-width:360px){
  .pp-values>div,.pp-menu,.pp-moments>div,.pp-timeline,.pp-steps ol,.pp-footer{grid-template-columns:1fr}
  .pp-burger{width:44px;height:44px}
  .pp-cookie{left:1rem;right:1rem}
  .wr-newsletter{flex-direction:column}
}
@media(max-width:480px){.pp-values>div,.pp-menu,.pp-moments>div,.pp-timeline,.pp-steps ol,.pp-footer{grid-template-columns:1fr}.pp-cookie{left:1rem}.wr-newsletter{flex-direction:column}}

/* readability: header/footer contrast */
.pp-brand,.pp-nav a{color:var(--ink)}
.pp-footer,.pp-footer a,.pp-footer .pp-brand{color:var(--paper)}
.pp-footer a:hover{color:#fff}
.pp-footer h3{color:var(--accent)}


/* Ocean structural layout */
.pp-header--ocean{position:relative;display:grid;grid-template-columns:1fr auto 1fr;justify-items:center}.pp-header--ocean .pp-brand{grid-column:2}.pp-header--ocean .pp-burger{grid-column:1;justify-self:start}.pp-header--ocean .pp-nav{grid-column:1/-1;grid-row:2}.pp-wave-divider{padding:1rem 8vw;text-align:center;color:var(--accent);font-size:2rem;letter-spacing:1rem;overflow:hidden}.pp-values{padding:clamp(3rem,7vw,7rem) 8vw}.pp-values>div{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem}.pp-values article{border-top:3px solid var(--accent);padding-top:1rem}.pp-coastal{padding:0}.pp-coastal>div{display:grid;grid-template-columns:1fr 1fr;align-items:center}.pp-coastal>div:nth-child(2) article{order:-1}.pp-coastal img{width:100%;height:480px;object-fit:cover}.pp-coastal article{padding:clamp(3rem,8vw,8rem)}.pp-tide-timeline{padding:clamp(4rem,8vw,8rem) 8vw;background:var(--soft)}.pp-tide-timeline ol{list-style:none;padding:0;margin:3rem 0 0;position:relative}.pp-tide-timeline ol:before{content:'';position:absolute;left:1rem;top:0;bottom:0;border-left:2px wavy var(--accent)}.pp-tide-timeline li{display:grid;grid-template-columns:70px 1fr;gap:1rem;padding:0 0 3rem}.pp-tide-timeline strong{font-size:2rem;color:var(--accent)}.pp-footer--ocean{grid-template-columns:1.4fr 1fr 1fr}.pp-footer--ocean small{grid-column:1/-1}@media(max-width:768px){
  .pp-values>div,.pp-coastal>div{grid-template-columns:1fr}
  .pp-coastal>div:nth-child(2) article{order:0}
  .pp-footer--ocean{grid-template-columns:1fr}
  .pp-burger,.pp-header--ocean .pp-burger{display:block!important}
  .pp-header--ocean .pp-nav{display:none}
  .pp-header--ocean .pp-nav.is-open{display:flex!important}
}
@media(max-width:360px){
  .pp-header--ocean{grid-template-columns:1fr auto}
  .pp-burger{display:block!important}
}

/* cookie banner visibility */
.pp-cookie{position:fixed;bottom:1rem;left:1rem;right:1rem;z-index:9999;display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:720px;margin:auto;padding:1rem 1.2rem}
.pp-cookie[hidden]{display:none!important}

/* footer legal links inline — no broken middots */
.pp-footer a{display:block}
.pp-legal-inline{display:flex;flex-wrap:wrap;gap:.35rem 1rem;align-items:center;margin:.75rem 0}
.pp-legal-inline a{display:inline!important;margin:0!important}
.pp-footer small .pp-legal-inline,
.pp-footer .legal-inline{display:flex}
footer nav a{display:inline}
.rp-footer nav{display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:center}
.rp-footer nav a{display:inline}

