/*
Theme Name: S. Nyrensart
Theme URI: https://s-nyrensart.chillimedia-5365.chatgpt.site
Author: S. Nyrensart
Description: Ett mjukt och konstnärligt WordPress-tema för Susan Nyrens konst, målarkurser och gårdsbutik.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: s-nyrensart
*/

:root { --ink:#17283a; --paper:#f6f0e5; --cream:#fffaf1; --coral:#e85f4b; --teal:#167e7c; --gold:#e8ab36; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif; }
a { color:inherit; text-decoration:none; }
.site-header { height:92px; max-width:1440px; margin:auto; padding:0 5vw; display:flex; align-items:center; gap:36px; position:relative; z-index:20; }
.brand { display:flex; align-items:center; gap:12px; margin-right:auto; }
.brand-mark { width:48px; height:48px; border:2px solid var(--ink); border-radius:50% 46% 50% 44%; display:grid; place-items:center; font-family:"Iowan Old Style",Georgia,serif; font-size:18px; font-weight:700; transform:rotate(-5deg); position:relative; }
.brand-mark:after { content:""; width:9px; height:9px; background:var(--coral); border-radius:50% 0 50% 50%; position:absolute; right:-1px; top:3px; transform:rotate(30deg); }
.brand strong { display:block; font-family:"Iowan Old Style",Georgia,serif; font-size:21px; letter-spacing:.02em; }
.brand small { display:block; font-size:9px; text-transform:uppercase; letter-spacing:.18em; margin-top:2px; }
nav { display:flex; align-items:center; gap:30px; font-size:14px; font-weight:600; }
nav a { position:relative; }
nav a:after { content:""; position:absolute; height:2px; background:var(--coral); left:0; right:100%; bottom:-6px; transition:.25s; }
nav a:hover:after { right:0; }
.header-cta { border:1.5px solid var(--ink); padding:12px 19px; border-radius:2px; font-size:13px; font-weight:700; }
.hero { min-height:calc(100vh - 92px); display:grid; grid-template-columns:minmax(0,1fr) minmax(480px,.9fr); max-width:1440px; margin:auto; overflow:hidden; }
.hero-copy { padding:clamp(64px,8vw,118px) 5vw 70px; position:relative; }
.eyebrow { color:var(--teal); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.2em; margin:0 0 24px; }
h1 { font-family:"Iowan Old Style",Baskerville,Georgia,serif; font-size:clamp(58px,6.4vw,102px); line-height:.92; letter-spacing:-.045em; font-weight:500; margin:0; }
h1 em { color:var(--coral); font-weight:500; position:relative; }
h1 em:after { content:""; position:absolute; left:2%; right:-7%; height:7px; bottom:3px; background:var(--gold); border-radius:60%; transform:rotate(-2deg); opacity:.8; }
.hero-lead { font-family:"Iowan Old Style",Georgia,serif; font-size:clamp(19px,1.55vw,24px); line-height:1.55; max-width:600px; margin:34px 0; color:#405061; }
.hero-actions { display:flex; align-items:center; gap:30px; flex-wrap:wrap; }
.button { display:inline-flex; align-items:center; gap:22px; padding:17px 23px; font-size:14px; font-weight:800; }
.button-primary { background:var(--ink); color:white; }
.button-primary:hover { background:var(--teal); }
.button span,.text-link span { font-size:18px; }
.text-link { font-size:14px; font-weight:800; border-bottom:1px solid #87919a; padding-bottom:4px; }
.hero-note { margin-top:70px; display:flex; align-items:center; gap:15px; font-family:"Iowan Old Style",Georgia,serif; font-style:italic; font-size:14px; line-height:1.45; }
.hero-note b { font-family:"Avenir Next",sans-serif; font-style:normal; font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.note-line { width:42px; height:1px; background:var(--coral); }
.hero-visual { min-height:680px; position:relative; background:#d9cbb5; }
.image-frame { position:absolute; inset:0; overflow:hidden; }
.image-frame img { object-fit:cover; object-position:50% 48%; }
.image-frame:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(23,40,58,.1),transparent 35%),linear-gradient(0deg,rgba(23,40,58,.28),transparent 40%); }
.place-card { position:absolute; left:35px; bottom:34px; background:rgba(255,250,241,.94); padding:17px 22px; border-left:4px solid var(--gold); min-width:245px; }
.place-card span { display:block; color:var(--teal); text-transform:uppercase; font-size:9px; letter-spacing:.18em; font-weight:800; }
.place-card strong { display:block; font-family:"Iowan Old Style",Georgia,serif; font-size:19px; margin-top:4px; }
.paint-swatch { position:absolute; z-index:2; pointer-events:none; }
.swatch-coral { width:115px; height:26px; background:var(--coral); left:-48px; top:16%; transform:rotate(-7deg); clip-path:polygon(0 26%,100% 0,95% 88%,7% 100%); }
.swatch-blue { width:80px; height:17px; background:#8fb8c7; right:-12px; bottom:24%; transform:rotate(12deg); clip-path:polygon(0 11%,100% 0,88% 100%,4% 79%); }
@media (max-width:960px) { nav { display:none; } .hero { grid-template-columns:1fr; } .hero-copy { padding-top:65px; } .hero-visual { min-height:72vh; } .hero-note { margin-top:45px; } }
@media (max-width:560px) { .site-header { height:78px; padding:0 20px; } .brand-mark { width:42px; height:42px; } .brand strong { font-size:18px; } .header-cta { padding:10px 12px; font-size:12px; } .hero { min-height:auto; } .hero-copy { padding:52px 20px 48px; } h1 { font-size:54px; } .hero-lead { font-size:18px; } .hero-visual { min-height:570px; } .place-card { left:20px; right:20px; bottom:20px; min-width:0; } }

/* Shared structure */
h2 { font-family:"Iowan Old Style",Baskerville,Georgia,serif; font-size:clamp(42px,5vw,74px); line-height:1.02; letter-spacing:-.035em; font-weight:500; margin:0; }
h2 em { color:var(--coral); font-weight:500; }
h3 { margin:0; }
.mobile-menu { display:none; position:relative; }
.mobile-menu summary { width:42px; height:42px; display:grid; place-content:center; gap:5px; cursor:pointer; list-style:none; border:1px solid rgba(23,40,58,.35); }
.mobile-menu summary::-webkit-details-marker { display:none; }
.mobile-menu summary span { display:block; width:18px; height:1.5px; background:var(--ink); }
.mobile-menu > div { position:absolute; right:0; top:52px; background:var(--cream); width:220px; padding:18px; box-shadow:0 16px 42px rgba(23,40,58,.18); border-top:3px solid var(--coral); }
.mobile-menu a { display:block; padding:11px 4px; font-weight:700; border-bottom:1px solid rgba(23,40,58,.1); }
.material-ticker { background:var(--ink); color:#fff; min-height:66px; display:flex; align-items:center; justify-content:center; gap:clamp(18px,3vw,50px); overflow:hidden; text-transform:uppercase; font-size:11px; font-weight:800; letter-spacing:.18em; white-space:nowrap; }
.material-ticker i { color:var(--gold); font-style:normal; }
.services-section { padding:clamp(90px,11vw,160px) 5vw; max-width:1440px; margin:auto; }
.section-heading { display:grid; grid-template-columns:1.2fr .55fr; align-items:end; gap:9vw; margin-bottom:70px; }
.section-heading > p { line-height:1.75; color:#566474; font-size:16px; max-width:390px; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.service-card { min-height:340px; padding:28px; position:relative; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; transition:transform .25s,box-shadow .25s; }
.service-card:hover { transform:translateY(-5px); box-shadow:0 18px 38px rgba(23,40,58,.13); }
.service-card:after { content:""; width:190px; height:190px; position:absolute; right:-45px; top:-45px; border:30px solid rgba(255,255,255,.18); border-radius:44% 56% 60% 40%; transform:rotate(22deg); }
.service-coral { background:#e66b58; color:white; }.service-teal { background:#187a78; color:white; }.service-gold { background:#e6ad40; color:var(--ink); }
.service-number { font-family:"Iowan Old Style",Georgia,serif; font-size:15px; opacity:.75; }
.service-card h3 { font-family:"Iowan Old Style",Georgia,serif; font-size:clamp(27px,2.4vw,36px); font-weight:500; margin-bottom:15px; }
.service-card p { line-height:1.65; margin:0; font-size:14px; max-width:270px; }
.round-arrow { position:absolute; right:26px; bottom:25px; border:1px solid currentColor; width:43px; height:43px; border-radius:50%; display:grid; place-items:center; font-size:19px; }
.about-home { display:grid; grid-template-columns:1fr 1fr; min-height:780px; background:var(--cream); }
.about-photo { min-height:650px; position:relative; margin:70px 0 70px 5vw; }
.about-photo img { object-fit:cover; }
.about-photo span { position:absolute; left:-16px; bottom:28px; background:var(--coral); color:white; padding:12px 18px; font-family:"Iowan Old Style",Georgia,serif; font-style:italic; transform:rotate(-2deg); }
.about-copy { padding:clamp(90px,10vw,145px) 8vw; align-self:center; }
.about-copy h2 { margin-bottom:32px; }
.about-copy > p:not(.eyebrow) { line-height:1.8; color:#4a5865; max-width:600px; }
.large-copy { font-family:"Iowan Old Style",Georgia,serif; font-size:clamp(20px,1.9vw,28px); line-height:1.55 !important; color:var(--ink) !important; }
.about-copy .text-link { display:inline-block; margin-top:18px; }
.course-feature { background:var(--teal); color:white; padding:clamp(80px,9vw,130px) max(5vw,calc((100vw - 1440px)/2)); display:grid; grid-template-columns:1.1fr .65fr; gap:9vw; align-items:center; overflow:hidden; }
.course-feature .eyebrow { color:#ffd27a; }.course-copy h2 em { color:#ffd27a; }.course-copy > p:not(.eyebrow) { font-family:"Iowan Old Style",Georgia,serif; font-size:22px; line-height:1.6; max-width:610px; }
.course-facts { display:flex; gap:35px; margin:38px 0; padding:22px 0; border-top:1px solid rgba(255,255,255,.25); border-bottom:1px solid rgba(255,255,255,.25); }
.course-facts span { font-weight:700; font-size:14px; }.course-facts small { display:block; font-size:9px; letter-spacing:.16em; text-transform:uppercase; color:#bce1dd; margin-bottom:6px; }
.button-light { background:var(--cream); color:var(--ink); }
.course-poster { position:relative; min-height:670px; transform:rotate(2deg); box-shadow:18px 20px 0 #125f5d; }
.course-poster img { object-fit:cover; }
.farm-teaser { display:grid; grid-template-columns:1fr 1fr; min-height:650px; }
.farm-image { position:relative; min-height:600px; overflow:hidden; }.farm-image img { object-fit:cover; object-position:50% 45%; }
.farm-copy { background:#e7b54f; padding:clamp(80px,10vw,145px) 8vw; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.farm-copy h2 { margin:16px 0 26px; }.farm-copy p { line-height:1.8; max-width:560px; margin:0 0 34px; }
.scribble { font-family:"Iowan Old Style",Georgia,serif; font-style:italic; color:var(--teal); font-size:24px; transform:rotate(-3deg); }
.contact-band { background:#e96d58; color:white; padding:70px max(5vw,calc((100vw - 1440px)/2)); display:grid; grid-template-columns:1.15fr 1fr; align-items:center; gap:7vw; }
.contact-band .eyebrow { color:#ffe0a7; }.contact-band h2 { font-size:clamp(39px,4.6vw,66px); }
.contact-links { display:grid; grid-template-columns:1fr 1fr; gap:15px; }.contact-links a { border:1px solid rgba(255,255,255,.55); padding:20px; font-weight:700; font-size:15px; overflow-wrap:anywhere; }.contact-links a:hover { background:white; color:var(--ink); }.contact-links small { display:block; opacity:.7; text-transform:uppercase; letter-spacing:.14em; font-size:9px; margin-bottom:7px; }
footer { background:var(--ink); color:white; padding:75px max(5vw,calc((100vw - 1440px)/2)) 25px; }
.footer-main { display:grid; grid-template-columns:1.35fr .65fr 1fr .9fr; gap:6vw; padding-bottom:60px; }.footer-main .brand { display:inline-flex; }.footer-main .brand-mark { border-color:white; }.footer-main > div:first-child p { max-width:300px; color:#aab6c2; line-height:1.7; font-size:14px; margin-top:25px; }
.footer-main h3 { color:#efbd58; text-transform:uppercase; font-size:10px; letter-spacing:.18em; margin:8px 0 20px; }.footer-main > div:not(:first-child) a,.footer-main > div:not(:first-child) span { display:block; color:#c7d0d9; font-size:13px; line-height:1.8; margin-bottom:6px; }.footer-button { border-top:1px solid #566575; margin-top:22px!important; padding-top:14px; color:white!important; display:flex!important; justify-content:space-between; }
.footer-bottom { border-top:1px solid #415161; padding-top:22px; display:flex; justify-content:space-between; color:#8795a3; font-size:10px; text-transform:uppercase; letter-spacing:.14em; }

/* Interior page heroes */
.page-hero { min-height:680px; max-width:1440px; margin:auto; display:grid; grid-template-columns:1.05fr .95fr; overflow:hidden; }
.page-hero-copy { padding:clamp(90px,11vw,155px) 6vw; display:flex; flex-direction:column; justify-content:center; position:relative; }
.page-hero-copy:after { content:""; position:absolute; width:95px; height:23px; right:-42px; top:22%; z-index:2; transform:rotate(-7deg); clip-path:polygon(0 15%,100% 0,92% 93%,6% 100%); background:var(--coral); }
.accent-teal .page-hero-copy:after { background:var(--teal); }.accent-gold .page-hero-copy:after { background:var(--gold); }
.page-hero h1 { font-size:clamp(58px,6vw,92px); }.page-hero-copy > p:last-child { font-family:"Iowan Old Style",Georgia,serif; font-size:clamp(20px,1.8vw,27px); line-height:1.55; color:#455363; max-width:630px; margin-top:32px; }
.page-hero-image { position:relative; min-height:650px; }.page-hero-image img { object-fit:cover; }
.editorial-intro { padding:clamp(90px,10vw,145px) max(7vw,calc((100vw - 1220px)/2)); display:grid; grid-template-columns:1fr 1fr; gap:10vw; align-items:start; }
.editorial-intro p { line-height:1.85; color:#52606e; margin:0; }.editorial-intro .drop-cap { font-family:"Iowan Old Style",Georgia,serif; font-size:clamp(25px,2.5vw,35px); color:var(--ink); line-height:1.5; }.drop-cap:first-letter { float:left; font-size:80px; line-height:.75; padding:12px 8px 0 0; color:var(--coral); }
.canvas-grid { max-width:1320px; margin:0 auto clamp(100px,10vw,150px); padding:0 5vw; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.art-tile { min-height:440px; padding:28px; display:flex; flex-direction:column; justify-content:flex-end; position:relative; overflow:hidden; }.art-tile:before,.art-tile:after { content:""; position:absolute; border-radius:48% 52% 34% 66%; opacity:.86; }.art-tile:before { width:260px; height:220px; top:30px; left:-30px; transform:rotate(25deg); }.art-tile:after { width:190px; height:250px; top:85px; right:-55px; transform:rotate(-28deg); }.art-one { background:#f0c45f; }.art-one:before { background:#e76152; }.art-one:after { background:#157a78; }.art-two { background:#176f70; color:white; }.art-two:before { background:#f4d9b1; }.art-two:after { background:#e95f4b; }.art-three { background:#e46855; color:white; }.art-three:before { background:#e9b646; }.art-three:after { background:#153b53; }.art-tile > * { position:relative; z-index:2; }.art-tile > span { position:absolute; top:25px; left:25px; font-family:Georgia,serif; }.art-tile h3 { font-family:"Iowan Old Style",Georgia,serif; font-size:32px; font-weight:500; }.art-tile p { max-width:260px; line-height:1.6; }
.verdicart { background:var(--cream); padding:clamp(90px,10vw,145px) max(7vw,calc((100vw - 1220px)/2)); display:grid; grid-template-columns:1fr 1fr; gap:10vw; }.verdicart p { line-height:1.8; color:#52606e; }.verdicart .text-link { display:inline-block; margin-top:15px; }

/* Courses */
.course-details { padding:clamp(90px,10vw,145px) max(6vw,calc((100vw - 1280px)/2)); display:grid; grid-template-columns:1fr 420px; gap:10vw; align-items:start; }.course-details-copy h2 { margin-bottom:30px; }.course-details-copy > p:not(.eyebrow) { line-height:1.8; color:#52606e; max-width:690px; }.good-to-know { margin-top:42px; border-top:1px solid #c9c2b7; padding-top:25px; }.good-to-know h3 { font-family:Georgia,serif; font-size:23px; }.good-to-know ul { padding-left:20px; line-height:2; color:#435363; }
.booking-card { background:#f0b94c; padding:38px; box-shadow:14px 14px 0 #183e54; }.booking-label { text-transform:uppercase; font-size:10px; letter-spacing:.18em; font-weight:800; color:#866010; }.booking-card h3 { font-family:"Iowan Old Style",Georgia,serif; font-size:39px; font-weight:500; margin:8px 0 30px; }.booking-card > div { border-top:1px solid rgba(23,40,58,.25); padding:17px 0; }.booking-card small { display:block; text-transform:uppercase; font-size:9px; letter-spacing:.14em; margin-bottom:5px; }.booking-card strong { font-size:15px; line-height:1.5; }.booking-card p { font-size:12px; margin:5px 0 0; }.booking-card .button { margin-top:20px; width:100%; justify-content:space-between; }.booking-phone { display:block; text-align:center; font-size:12px; font-weight:700; margin-top:14px; }
.course-flow { background:var(--teal); color:white; padding:clamp(80px,9vw,125px) max(6vw,calc((100vw - 1280px)/2)); }.course-flow .eyebrow { color:#ffd47f; }.course-flow > div { display:grid; grid-template-columns:repeat(3,1fr); gap:50px; }.course-flow article { border-top:1px solid rgba(255,255,255,.35); padding-top:24px; }.course-flow article span { font-family:Georgia,serif; font-size:42px; color:#f3bd4f; }.course-flow h3 { font-family:Georgia,serif; font-size:30px; font-weight:500; margin:18px 0 10px; }.course-flow article p { color:#c5dedc; line-height:1.7; font-size:14px; }
.poster-strip { padding:110px max(8vw,calc((100vw - 1180px)/2)); display:grid; grid-template-columns:360px 1fr; gap:10vw; align-items:center; background:var(--paper); }.poster-strip > div { min-height:540px; position:relative; transform:rotate(-2deg); box-shadow:-12px 15px 0 var(--gold); }.poster-strip img { object-fit:cover; }.poster-strip blockquote { font-family:"Iowan Old Style",Georgia,serif; color:var(--coral); font-size:clamp(38px,4.6vw,67px); line-height:1.15; margin:0; }

/* Shop */
.shop-intro { padding:clamp(90px,10vw,140px) max(7vw,calc((100vw - 1220px)/2)); display:grid; grid-template-columns:1fr 1fr; gap:10vw; align-items:end; }.shop-intro > p { color:#52606e; line-height:1.8; margin:0; }
.product-grid { padding:0 5vw clamp(100px,11vw,160px); max-width:1360px; margin:auto; display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }.product-grid article { background:var(--cream); min-height:470px; padding:30px; position:relative; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; }.product-grid article:nth-child(2) { color:white; }.product-grid article > p { color:var(--teal); text-transform:uppercase; font-size:9px; letter-spacing:.17em; font-weight:800; margin:0 0 10px; position:relative; z-index:2; }.product-grid article:nth-child(2) > p { color:#ffdb86; }.product-grid h3 { font-family:Georgia,serif; font-size:32px; font-weight:500; margin-bottom:12px; position:relative; z-index:2; }.product-grid article > span:last-child { line-height:1.65; font-size:14px; position:relative; z-index:2; }.product-photo { position:absolute; inset:0; }.product-photo:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(23,40,58,.86),transparent 70%); }.product-photo img { object-fit:cover; }.product-icon { position:absolute!important; width:260px; height:230px; top:40px; left:50%; transform:translateX(-50%) rotate(-9deg); border-radius:48% 52% 60% 40%; }.painted { background:linear-gradient(145deg,#e65f50 0 30%,#eab64d 30% 52%,#19807b 52% 75%,#173b52 75%); }.jelly { width:180px; border-radius:40% 40% 34% 34%; background:linear-gradient(#f2d5a0 0 15%,#5e1c35 15% 87%,#3c1023 87%); box-shadow:inset 0 0 0 8px rgba(255,255,255,.25); }.jelly:before { content:""; position:absolute; top:-22px; left:-10px; right:-10px; height:40px; background:#e4c49a; border-radius:8px; }
.visit-card { margin:0 max(5vw,calc((100vw - 1320px)/2)) 120px; background:var(--ink); color:white; padding:70px; display:grid; grid-template-columns:1.2fr .7fr; gap:10vw; }.visit-card .eyebrow { color:#efbb53; }.visit-card p { color:#b9c4ce; line-height:1.8; max-width:600px; }.visit-card > div:last-child { border-left:1px solid #4e5f6e; padding-left:45px; }.visit-card small { display:block; text-transform:uppercase; color:#e9b958; font-size:9px; letter-spacing:.15em; margin:8px 0; }.visit-card strong { line-height:1.6; }.visit-card .button { margin-top:25px; }

/* About */
.story-section { padding:clamp(90px,10vw,145px) max(6vw,calc((100vw - 1280px)/2)); display:grid; grid-template-columns:.8fr 1fr; gap:10vw; align-items:center; }.story-image { min-height:650px; position:relative; }.story-image img { object-fit:cover; }.story-image span { position:absolute; right:-28px; top:55px; background:var(--teal); color:white; padding:14px 19px; font-family:Georgia,serif; font-style:italic; transform:rotate(4deg); }.story-section h2 { font-size:clamp(40px,4.3vw,64px); margin-bottom:30px; }.story-section > div:last-child p:not(.eyebrow) { line-height:1.8; color:#52606e; }
.timeline { background:var(--coral); color:white; padding:70px max(7vw,calc((100vw - 1220px)/2)); display:grid; grid-template-columns:repeat(3,1fr); }.timeline article { display:flex; align-items:center; gap:20px; padding:10px 35px; border-right:1px solid rgba(255,255,255,.3); }.timeline article:last-child { border:0; }.timeline strong { font-family:Georgia,serif; font-size:65px; font-weight:500; }.timeline span { font-size:12px; text-transform:uppercase; letter-spacing:.1em; line-height:1.5; }
.local-section { padding:clamp(90px,10vw,145px) max(7vw,calc((100vw - 1220px)/2)); display:grid; grid-template-columns:1fr 1fr; gap:10vw; align-items:center; }.local-section p { line-height:1.8; color:#52606e; max-width:570px; }.location-list { display:flex; flex-wrap:wrap; gap:12px; }.location-list span { border:1px solid #a9a196; border-radius:100%; padding:25px 30px; font-family:Georgia,serif; font-style:italic; font-size:21px; transform:rotate(-2deg); }.location-list span:nth-child(even) { transform:rotate(3deg); background:#efd084; border-color:#efd084; }

@media (max-width:960px) {
  .desktop-nav,.header-cta { display:none; }.mobile-menu { display:block; }
  .section-heading,.about-home,.course-feature,.farm-teaser,.contact-band,.page-hero,.editorial-intro,.verdicart,.course-details,.shop-intro,.visit-card,.story-section,.local-section { grid-template-columns:1fr; }
  .section-heading { gap:20px; }.service-grid { grid-template-columns:1fr; }.service-card { min-height:260px; }.about-photo { margin:0; min-height:600px; }.about-copy { padding:90px 7vw; }.course-poster { min-height:750px; width:min(520px,88vw); margin:auto; }.farm-image { order:2; }.contact-links { margin-top:10px; }
  .footer-main { grid-template-columns:1fr 1fr; }.page-hero-copy { min-height:500px; }.page-hero-image { min-height:650px; }.page-hero-copy:after { right:5%; top:auto; bottom:-10px; }.canvas-grid,.product-grid { grid-template-columns:1fr; }.art-tile { min-height:380px; }.course-details { gap:60px; }.booking-card { max-width:520px; }.poster-strip { grid-template-columns:300px 1fr; }.visit-card > div:last-child { border-left:0; border-top:1px solid #4e5f6e; padding:35px 0 0; }.story-section { gap:70px; }.timeline article { padding:8px 18px; }
}
@media (max-width:620px) {
  h2 { font-size:42px; }.material-ticker { justify-content:flex-start; padding-left:20px; }.services-section { padding-left:20px; padding-right:20px; }.course-facts { flex-direction:column; gap:15px; }.course-poster { min-height:600px; }.contact-band { padding:65px 20px; }.contact-links { grid-template-columns:1fr; }.footer-main { grid-template-columns:1fr; }.footer-bottom { flex-direction:column; gap:10px; }.page-hero-copy { min-height:450px; padding:70px 20px; }.page-hero h1 { font-size:52px; }.page-hero-image { min-height:550px; }.editorial-intro,.verdicart,.course-details,.shop-intro,.story-section,.local-section { padding-left:20px; padding-right:20px; gap:45px; }.canvas-grid,.product-grid { padding-left:20px; padding-right:20px; }.course-flow { padding-left:20px; padding-right:20px; }.course-flow > div { grid-template-columns:1fr; gap:25px; }.poster-strip { padding:80px 35px; grid-template-columns:1fr; }.poster-strip > div { min-height:520px; }.poster-strip blockquote { font-size:39px; }.visit-card { margin:0 20px 80px; padding:45px 25px; }.timeline { grid-template-columns:1fr; padding:45px 20px; }.timeline article { border-right:0; border-bottom:1px solid rgba(255,255,255,.3); }.timeline article:last-child { border-bottom:0; }.story-image { min-height:530px; }.story-image span { right:-5px; }.location-list span { font-size:17px; padding:19px 22px; }
}

/* WordPress bildhantering */
img { max-width:100%; height:auto; }
.image-frame img,.page-hero-image img,.about-photo img,.course-poster img,.farm-image img,.product-photo img,.story-image img,.poster-strip img { width:100%; height:100%; object-fit:cover; display:block; }
.wp-content { min-height:60vh; }
.entry-content { color:#59635d; line-height:1.8; }
.custom-logo { max-height:62px; width:auto; }

/* Mjukare, mer konstnärlig riktning */
:root {
  --ink:#3f4842;
  --paper:#f5f0e8;
  --cream:#fbf7f0;
  --coral:#c98f82;
  --teal:#7b9b91;
  --gold:#d7bd78;
  --sage:#c8d2c3;
  --lavender:#c9bfca;
}
body { background:var(--paper); color:var(--ink); }
.site-header { height:104px; padding-top:10px; }
.brand-mark { border-color:#7b8d83; background:#e7ded4; border-radius:54% 46% 57% 43%; box-shadow:inset 0 0 0 5px rgba(255,255,255,.35); }
.brand-mark:after { background:#c98f82; border-radius:62% 38% 58% 42%; }
.header-cta { border:0; background:#e8ddd4; border-radius:999px; padding:13px 21px; }
.hero { min-height:calc(100vh - 104px); gap:28px; padding:0 3vw 42px; overflow:visible; }
.hero-copy { background:#eee6da; border-radius:54px 18px 54px 18px; padding:clamp(64px,7vw,105px) 5vw 65px; }
.hero h1 { letter-spacing:-.035em; }
.hero h1 em { color:#ae756c; }
.hero h1 em:after { height:3px; bottom:-3px; left:5%; right:1%; background:#d5bb79; opacity:.55; }
.eyebrow { color:#708c82; letter-spacing:.15em; }
.hero-lead { color:#5f6862; }
.button { border-radius:999px; }
.button-primary { background:#697d75; }
.button-primary:hover { background:#a9756d; }
.text-link { border-color:#b8aaa0; }
.hero-visual { min-height:650px; border-radius:28px 84px 28px 84px; overflow:hidden; box-shadow:0 22px 55px rgba(74,72,65,.12); }
.image-frame img { filter:saturate(.76) contrast(.94) sepia(.06); }
.image-frame:after { background:linear-gradient(90deg,rgba(66,73,67,.08),transparent 45%),linear-gradient(0deg,rgba(63,72,66,.2),transparent 45%); }
.place-card { border:0; border-radius:26px 8px 26px 8px; background:rgba(245,240,232,.92); }
.swatch-coral { left:24px; top:38px; width:86px; background:#c49386; border-radius:70% 30% 62% 38%; clip-path:none; height:13px; opacity:.7; }
.swatch-blue { right:24px; bottom:18%; background:#a8beb6; border-radius:45% 55% 40% 60%; clip-path:none; opacity:.75; }
@media (max-width:960px) { .hero { padding:0 20px 30px; gap:20px; }.hero-copy { border-radius:40px 14px 40px 14px; }.hero-visual { border-radius:24px 62px 24px 62px; } }
@media (max-width:560px) { .site-header { height:86px; }.hero-copy { padding:50px 24px; }.hero-visual { min-height:540px; } }

/* Den mjuka riktningen genom hela webbplatsen */
.eyebrow { text-transform:none; font-family:"Iowan Old Style",Georgia,serif; font-size:17px; font-style:italic; font-weight:400; letter-spacing:.025em; }
nav { font-family:"Iowan Old Style",Georgia,serif; font-size:16px; font-weight:400; gap:34px; }
nav a:after { height:5px; bottom:-8px; border-radius:50%; background:#c9a39b; opacity:.7; }
.button { font-weight:600; letter-spacing:.01em; padding:16px 24px; box-shadow:0 8px 20px rgba(71,76,71,.09); transition:transform .25s,background .25s; }
.button:hover { transform:translateY(-2px); }
.text-link { font-family:"Iowan Old Style",Georgia,serif; font-size:16px; font-weight:400; font-style:italic; }
.material-ticker { width:min(1320px,94vw); margin:28px auto 0; min-height:62px; border-radius:32px 12px 32px 12px; background:#d9d0d8; color:#535b56; text-transform:none; font-family:"Iowan Old Style",Georgia,serif; font-size:15px; font-weight:400; letter-spacing:.06em; }
.material-ticker i { color:#a8766c; }
.services-section { position:relative; }
.services-section:before { content:""; position:absolute; width:230px; height:190px; left:-85px; top:80px; background:#dfd4c8; border-radius:42% 58% 64% 36%; opacity:.6; transform:rotate(-12deg); z-index:-1; }
.section-heading > p { font-family:"Iowan Old Style",Georgia,serif; font-size:19px; line-height:1.65; }
.service-grid { gap:28px; }
.service-card { min-height:370px; padding:34px; border-radius:72px 22px 72px 22px; color:#48514b; box-shadow:0 12px 35px rgba(79,78,70,.08); }
.service-card:nth-child(2) { border-radius:22px 72px 22px 72px; transform:translateY(36px); }
.service-card:nth-child(2):hover { transform:translateY(31px); }
.service-card:after { border:22px solid rgba(255,255,255,.3); border-radius:54% 46% 60% 40%; opacity:.65; }
.service-coral { background:#dfb6ad; color:#4e514c; }.service-teal { background:#b8cbc3; color:#44504a; }.service-gold { background:#e6d19a; color:#525149; }
.service-number { opacity:.55; font-size:17px; }
.service-card h3 { font-size:clamp(30px,2.6vw,40px); }
.service-card p { font-family:"Iowan Old Style",Georgia,serif; font-size:16px; line-height:1.65; }
.round-arrow { border:0; background:rgba(255,255,255,.42); width:48px; height:48px; }
.about-home { width:min(1370px,96vw); margin:80px auto; min-height:720px; border-radius:28px 100px 28px 100px; overflow:hidden; background:#e9e2d8; }
.about-photo { margin:34px; border-radius:22px 70px 22px 70px; overflow:hidden; min-height:610px; }
.about-photo img { filter:saturate(.72) contrast(.94) sepia(.06); }
.about-photo span { left:18px; bottom:20px; border-radius:50%; background:#bd8c82; padding:17px 22px; }
.about-copy { padding:90px 7vw 90px 5vw; }
.about-copy > p:not(.eyebrow) { color:#606862; }
.course-feature { width:min(1320px,94vw); margin:90px auto; padding:clamp(75px,8vw,112px) clamp(38px,7vw,95px); border-radius:90px 24px 90px 24px; background:#839b91; gap:8vw; }
.course-feature .eyebrow { color:#f0dfb0; }
.course-copy h2 em { color:#ead8a5; }
.course-copy > p:not(.eyebrow) { color:#f2f1eb; }
.course-facts { border-color:rgba(255,255,255,.28); }
.course-facts small { color:#dde7df; }
.course-poster { min-height:620px; border-radius:35px 10px 35px 10px; overflow:hidden; box-shadow:16px 18px 0 rgba(86,109,100,.7); }
.farm-teaser { width:min(1320px,94vw); margin:90px auto; min-height:610px; border-radius:24px 90px 24px 90px; overflow:hidden; background:#ead8a8; }
.farm-image { min-height:580px; margin:26px; border-radius:18px 70px 18px 70px; }
.farm-image img { filter:saturate(.7) contrast(.95) sepia(.08); }
.farm-copy { background:#e6d09b; padding-left:6vw; }
.scribble { color:#7f968d; }
.contact-band { width:min(1320px,94vw); margin:100px auto; border-radius:76px 20px 76px 20px; background:#c7958b; padding:70px clamp(32px,6vw,85px); }
.contact-band .eyebrow { color:#f6e8cf; }
.contact-links a { border-radius:26px 8px 26px 8px; border-color:rgba(255,255,255,.45); background:rgba(255,255,255,.08); }
.contact-links a:hover { background:#f7eee5; }
footer { background:#59665f; border-radius:88px 88px 0 0; }
.footer-main h3 { color:#e7d5a3; text-transform:none; font-family:Georgia,serif; font-size:16px; letter-spacing:0; font-weight:400; }
.footer-main > div:first-child p,.footer-main > div:not(:first-child) a,.footer-main > div:not(:first-child) span { color:#d9ddd8; }
.footer-main .brand-mark { border-color:#e6e1d9; background:rgba(255,255,255,.08); }
.footer-button { border-color:#859088; }
.footer-bottom { border-color:#7d8881; color:#c4cac5; text-transform:none; letter-spacing:.04em; }

/* Undersidor */
.page-hero { width:min(1380px,96vw); min-height:650px; gap:24px; overflow:visible; padding:0 0 38px; }
.page-hero-copy { background:#eae2d8; border-radius:62px 18px 62px 18px; padding:clamp(80px,10vw,135px) 6vw; }
.page-hero-image { min-height:610px; border-radius:20px 78px 20px 78px; overflow:hidden; box-shadow:0 20px 50px rgba(79,78,70,.11); }
.page-hero-image img { filter:saturate(.72) contrast(.94) sepia(.06); }
.page-hero-copy:after { width:72px; height:11px; right:34px; top:auto; bottom:30px; background:#c39186; border-radius:52% 48% 61% 39%; clip-path:none; opacity:.7; }
.accent-teal .page-hero-copy { background:#dde6df; }.accent-teal .page-hero-copy:after { background:#91aaa0; }
.accent-gold .page-hero-copy { background:#eee3c8; }.accent-gold .page-hero-copy:after { background:#d5bd7f; }
.page-hero-copy > p:last-child { color:#606862; }
.editorial-intro .drop-cap,.verdicart,.shop-intro,.story-section,.local-section { color:#555d57; }
.drop-cap:first-letter { color:#b47f75; }
.canvas-grid { gap:26px; }
.art-tile { min-height:420px; border-radius:75px 20px 75px 20px; color:#4e554f; box-shadow:0 14px 35px rgba(79,78,70,.08); }
.art-tile:nth-child(2) { border-radius:20px 75px 20px 75px; }
.art-one { background:#e5cf9b; }.art-one:before { background:#c99a8f; }.art-one:after { background:#9eb6ac; }
.art-two { background:#a9bdb5; color:#46514b; }.art-two:before { background:#e8ded1; }.art-two:after { background:#c89a90; }
.art-three { background:#d5aaa1; color:#4e514d; }.art-three:before { background:#e4cf99; }.art-three:after { background:#829a90; }
.verdicart { width:min(1320px,94vw); margin:80px auto; border-radius:75px 20px 75px 20px; background:#e8e0d5; padding-left:clamp(35px,8vw,110px); padding-right:clamp(35px,8vw,110px); }
.booking-card { background:#e4cf99; border-radius:55px 16px 55px 16px; box-shadow:14px 14px 0 #899c93; }
.booking-label { color:#786c49; }
.course-flow { width:min(1320px,94vw); margin:80px auto; border-radius:78px 22px 78px 22px; background:#839b91; }
.course-flow .eyebrow,.course-flow article span { color:#ead9a9; }
.course-flow article p { color:#e1e7e2; }
.poster-strip { width:min(1220px,94vw); margin:auto; border-radius:28px 85px 28px 85px; background:#eae2d8; }
.poster-strip > div { border-radius:28px 8px 28px 8px; overflow:hidden; box-shadow:-12px 15px 0 #d6bd7c; }
.poster-strip blockquote { color:#a9776f; }
.product-grid { gap:28px; }
.product-grid article { border-radius:70px 20px 70px 20px; background:#e9e1d6; color:#505852; box-shadow:0 14px 35px rgba(79,78,70,.08); }
.product-grid article:nth-child(2) { border-radius:20px 70px 20px 70px; }
.product-grid article > p { color:#789188; }.product-grid article:nth-child(2) > p { color:#ead29a; }
.product-photo img { filter:saturate(.74) sepia(.05); }
.painted { background:linear-gradient(145deg,#c89a8f 0 30%,#e2cb94 30% 52%,#9fb7ad 52% 75%,#8f8997 75%); }
.visit-card { border-radius:70px 20px 70px 20px; background:#65746c; }
.visit-card p { color:#dce1dd; }.visit-card small { color:#ead6a0; }
.story-image { border-radius:24px 76px 24px 76px; overflow:hidden; }.story-image img { filter:saturate(.72) sepia(.06); }.story-image span { right:18px; border-radius:50%; background:#829a90; }
.timeline { width:min(1220px,94vw); margin:20px auto 80px; border-radius:65px 18px 65px 18px; background:#c69489; }
.location-list span { border-color:#b9aca0; background:#eee7de; }.location-list span:nth-child(even) { background:#dfcfaa; border-color:#dfcfaa; }

@media (max-width:960px) {
  .service-card:nth-child(2),.service-card:nth-child(2):hover { transform:none; }
  .about-home { margin-top:40px; }.about-photo { margin:24px; }.course-feature,.farm-teaser,.contact-band { margin-top:60px; margin-bottom:60px; }
  .page-hero { width:calc(100% - 40px); gap:18px; }.page-hero-copy { min-height:470px; }.page-hero-image { min-height:610px; }
  .verdicart,.course-flow,.poster-strip { margin-top:55px; margin-bottom:55px; }
}
@media (max-width:620px) {
  .material-ticker { border-radius:22px 8px 22px 8px; }.service-card { min-height:330px; border-radius:50px 16px 50px 16px; }.service-card:nth-child(2) { border-radius:16px 50px 16px 50px; }
  .about-home { width:calc(100% - 24px); border-radius:20px 58px 20px 58px; }.about-photo { min-height:510px; margin:14px; border-radius:14px 46px 14px 46px; }
  .course-feature,.farm-teaser,.contact-band { width:calc(100% - 24px); border-radius:52px 16px 52px 16px; }.farm-image { margin:14px; border-radius:12px 46px 12px 46px; }
  .page-hero { width:calc(100% - 24px); }.page-hero-copy { border-radius:46px 14px 46px 14px; }.page-hero-image { border-radius:14px 52px 14px 52px; }
  .verdicart,.course-flow,.poster-strip { width:calc(100% - 24px); border-radius:48px 14px 48px 14px; }.visit-card { border-radius:48px 14px 48px 14px; }.timeline { width:calc(100% - 24px); border-radius:46px 14px 46px 14px; }
  footer { border-radius:58px 58px 0 0; }
  .mobile-menu > div { width:calc(100vw - 40px); right:0; top:50px; border:0; border-radius:28px 8px 28px 8px; box-shadow:0 18px 45px rgba(75,77,71,.16); }
  .page-hero-copy:after { right:28px; bottom:22px; width:62px; height:9px; }
  .swatch-coral { left:22px; top:22px; width:64px; height:9px; }
  .swatch-blue { right:20px; }
}
