/* Practical service pages, in the site's sand, olive and terracotta palette. */
.seo-hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:760px;margin:18px;overflow:hidden;border-radius:38px 38px 90px 38px;background:#343c30;color:#fffaf1}
.seo-hero-copy{padding:170px 9% 70px 11%;align-self:center;min-width:0}
.seo-hero h1{font-family:Rockwell,'American Typewriter',Georgia,serif;font-size:clamp(44px,4.5vw,72px);line-height:1.05;letter-spacing:-.045em;margin:22px 0 28px}
.seo-hero p{color:#eee7db;font-size:16px;line-height:1.85;max-width:630px}
.seo-hero .breadcrumbs{margin-bottom:30px}
.seo-hero>img,.seo-hero>.seo-image{width:100%;height:100%;min-height:600px;object-fit:cover;object-position:center}
.seo-hero figure{margin:0;min-width:0}
.seo-hero figure img{width:100%;height:100%;object-fit:cover}
.seo-hero .button{margin-top:12px}
.seo-hero .button.dark{background:var(--coral);color:#22291f}
.seo-hero .breadcrumb{font-size:12px;line-height:1.7;color:#e1d8cc;margin-bottom:28px}
.seo-hero .breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.seo-kicker{display:block;color:#a35f40;text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:650;line-height:1.8;margin-bottom:20px}
.seo-hero .seo-kicker{color:#eab89b}
.seo-lead{font-size:18px;line-height:1.85;max-width:780px}
.seo-jumpnav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 24px;margin:0 auto;padding:30px 6%;border-bottom:1px solid #343c3026;font-size:14px}
.seo-jumpnav a{padding:10px 0;border-bottom:1px solid #9e765b}
.seo-jumpnav a:hover{color:#a35f40}
.seo-section{padding:80px max(6%,calc((100% - 1320px)/2));scroll-margin-top:110px}
.seo-section:nth-of-type(even){background:#faf7f0}
.seo-heading{max-width:880px;margin-bottom:32px}
.seo-section h2{font-family:Rockwell,'American Typewriter',Georgia,serif;font-size:clamp(34px,3.8vw,54px);line-height:1.12;max-width:1000px}
.seo-section h3{font-family:Rockwell,'American Typewriter',Georgia,serif;font-size:28px;line-height:1.2;margin-bottom:18px}
.seo-section p{font-size:16px;line-height:1.85;max-width:850px}
.seo-section a:not(.button){text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.seo-section .button{margin-top:14px}
.seo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:26px;margin:32px 0}
.seo-card{padding:30px;border:1px solid #d4cbbc;border-radius:18px 18px 35px 18px;background:#f4ede1;min-width:0}
.seo-card p:last-child{margin-bottom:0}
.seo-card img{width:100%;height:230px;object-fit:cover;margin-bottom:25px}
.seo-split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.seo-split>*{min-width:0}
.seo-split img,.seo-image{width:100%;height:auto;object-fit:contain}
.seo-split figure{margin:0}
.seo-split figcaption{font-size:12px;line-height:1.7;color:#68705d;padding-top:12px}
.seo-table-wrap{max-width:100%;overflow-x:auto;margin:28px 0;border:1px solid #d4cbbc;border-radius:16px}
.seo-price-table{width:100%;border-collapse:collapse;font-size:16px;text-align:left}
.seo-price-table th,.seo-price-table td{padding:20px 24px;border-bottom:1px solid #d4cbbc;vertical-align:top;min-width:140px}
.seo-price-table th{background:#e9dfcf;font-weight:650}
.seo-price-table tr:last-child td,.seo-price-table tr:last-child th{border-bottom:0}
.seo-price-table td:last-child{background:#edf0e6}
.seo-price-table caption{padding:14px;text-align:left;font-size:13px;color:#5c6352}
.seo-note{font-size:13px!important;line-height:1.8!important;color:#68705d}
.seo-inclusions{padding-left:22px;font-size:16px;line-height:1.9}
.seo-inclusions li{padding-left:5px;margin-bottom:9px}
.seo-faq{max-width:1000px}
.seo-section.seo-faq{max-width:none}
.seo-section.seo-faq details{max-width:1000px}
.seo-faq details{border-bottom:1px solid #cfc7b8;padding:22px 0}
.seo-faq summary{cursor:pointer;font-size:18px;font-weight:600;line-height:1.6;padding-right:18px}
.seo-faq details p{margin:18px 0 0;font-size:15px;max-width:850px}
.seo-byline{font-size:13px!important;color:#7b4c36!important;margin-top:26px}
.seo-hero-kitesurf>.seo-image{object-position:35% 40%}
.kite-session-photo{max-width:1200px;margin:42px auto 0}
.kite-session-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.kite-session-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:50% 60%;border-radius:20px 20px 48px 20px}
.kite-session-photo figcaption{padding-top:14px;color:#68705d;font-size:13px;line-height:1.7}
@media(max-width:1000px){
 .seo-hero-copy{padding:155px 8% 60px}
 .seo-hero{grid-template-columns:1.15fr 1fr}
 .seo-hero h1{font-size:48px}
 .seo-split{gap:32px}
}
@media(max-width:700px){
 .seo-hero{grid-template-columns:1fr;margin:10px;border-radius:28px 28px 55px 28px;min-height:0}
 .seo-hero-copy{padding:145px 7% 38px}
 .seo-hero h1{font-size:clamp(38px,10vw,50px);margin:22px 0}
 .seo-hero p{font-size:15px}
 .seo-hero>img,.seo-hero>.seo-image,.seo-hero figure{height:310px;min-height:0}
 .seo-hero .breadcrumbs{font-size:11px;margin-bottom:24px}
 .seo-jumpnav{justify-content:flex-start;gap:5px 20px;font-size:13px;padding:22px 7%}
 .seo-section{padding:58px 7%;scroll-margin-top:100px}
 .seo-section h2{font-size:36px}
 .seo-section h3{font-size:27px}
 .seo-section p,.seo-inclusions{font-size:15px}
 .seo-grid,.seo-split{grid-template-columns:1fr;gap:22px}
 .seo-card{padding:24px}
 .seo-price-table{font-size:13px}
 .seo-price-table th,.seo-price-table td{padding:16px 12px;min-width:106px}
 .seo-faq summary{font-size:17px}
 .seo-hero-kitesurf>.seo-image{height:auto;aspect-ratio:3/2}
 .kite-session-photo{margin-top:30px}
 .kite-session-grid{grid-template-columns:1fr;gap:16px}
 .kite-session-photo img{border-radius:18px 18px 34px 18px}
}

/* Real kitesurf sessions: compact, accessible photo rows. */
.kite-dunes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}
.kite-dunes-grid a{display:block;min-width:0;border-radius:18px;overflow:hidden}
.kite-dunes-grid img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .2s}
.kite-dunes-grid a:hover img{transform:scale(1.025)}
.kite-dunes-grid a:focus-visible,.kite-dunes-more summary:focus-visible{outline:3px solid #d98758;outline-offset:4px}
.kite-dunes-more{margin:20px 0 28px;border-top:1px solid #c9caba;border-bottom:1px solid #c9caba}
.kite-dunes-more summary{padding:18px 0;cursor:pointer;font-weight:600;color:#343c30}
@media(max-width:700px){.kite-dunes-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;gap:12px}.kite-dunes-grid a{flex:0 0 82%;scroll-snap-align:start}.kite-session-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.kite-session-photo img{aspect-ratio:3/4;border-radius:16px}}
@media(prefers-reduced-motion:reduce){.kite-dunes-grid img{transition:none}}
