/*
Theme Name: Światło i Forma
Theme URI: https://example.com/
Author: Watercolorovy
Description: Autorski motyw fotograficzny: architektura, krajobrazy, galeria Instax na tablicy korkowej, blog, O mnie i kontakt.
Version: 1.2.0
Text Domain: swiatlo-forma
Requires at least: 6.4
Requires PHP: 7.4
*/

:root{
  --sf-bg:#f4efe7;
  --sf-paper:#fbf8f1;
  --sf-paper-2:#f6efe4;
  --sf-ink:#2e2a25;
  --sf-muted:#746b61;
  --sf-gold:#b2874f;
  --sf-gold-dark:#8f6736;
  --sf-cork:#b77b43;
  --sf-cork-light:#cf995f;
  --sf-frame:#b98a57;
  --sf-dark:#24231f;
  --sf-shell:1280px;
  --sf-shadow:0 18px 34px rgba(58,40,24,.16),0 4px 10px rgba(58,40,24,.09);
  --sf-shadow-hover:0 28px 48px rgba(58,40,24,.22),0 8px 16px rgba(58,40,24,.12);
  --sf-serif:"Cormorant Garamond", Georgia, serif;
  --sf-sans:"Inter", Arial, sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--sf-bg);color:var(--sf-ink);font-family:var(--sf-sans);font-size:16px;line-height:1.65}
img{max-width:100%;height:auto}
a{color:inherit}
button,input,textarea{font:inherit}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sf-shell{width:min(calc(100% - 48px),var(--sf-shell));margin-inline:auto}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:rgba(251,248,241,.94);border-bottom:1px solid rgba(46,42,37,.09);backdrop-filter:blur(12px)}
.site-header__inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:34px}
.site-branding a{text-decoration:none}
.site-title{margin:0;font:500 clamp(1.55rem,2.2vw,2.25rem)/1 var(--sf-serif);letter-spacing:.12em;text-transform:uppercase}
.site-description{margin:5px 0 0;text-align:center;font-size:.58rem;letter-spacing:.28em;text-transform:uppercase;color:var(--sf-muted)}
.site-navigation{display:flex;align-items:center;gap:24px}
.site-navigation ul{display:flex;align-items:center;gap:34px;list-style:none;margin:0;padding:0}
.site-navigation a{position:relative;text-decoration:none;font-family:var(--sf-serif);font-size:1.05rem}
.site-navigation li.current-menu-item>a::after,.site-navigation a:hover::after{content:"";position:absolute;left:0;right:0;bottom:-11px;height:2px;background:var(--sf-gold)}
.menu-toggle{display:none;border:0;background:transparent;padding:10px;cursor:pointer}
.menu-toggle span:not(.screen-reader-text){display:block;width:26px;height:2px;background:var(--sf-ink);margin:5px 0}

/* Hero */
.sf-hero{position:relative;overflow:hidden;background:var(--sf-paper);min-height:620px}
.sf-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 15%,rgba(183,135,79,.08),transparent 26%),linear-gradient(135deg,rgba(255,255,255,.85),rgba(234,224,211,.48));pointer-events:none}
.sf-hero__inner{position:relative;display:grid;grid-template-columns:.86fr 1.14fr;align-items:center;gap:clamp(50px,8vw,120px);padding-block:72px 56px}
.sf-hero__copy{padding-left:6px}
.sf-hero__eyebrow{display:block;margin-bottom:12px;color:var(--sf-gold-dark);font-size:.68rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase}
.sf-hero__title{margin:0;font:500 clamp(3.7rem,6.3vw,6.8rem)/.88 var(--sf-serif);letter-spacing:-.045em;max-width:700px}
.sf-hero__line{width:82px;height:3px;background:var(--sf-gold);margin:26px 0}
.sf-hero__text{max-width:540px;margin:0 0 34px;color:#554d44;font:400 clamp(1.08rem,1.7vw,1.35rem)/1.45 var(--sf-serif)}
.sf-button{display:inline-flex;align-items:center;gap:16px;min-height:52px;padding:0 24px;border:1px solid var(--sf-gold-dark);background:var(--sf-gold);color:#fff;text-decoration:none;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transition:.25s ease}
.sf-button:hover{transform:translateY(-2px);background:var(--sf-gold-dark)}
.sf-hero__scene{position:relative;min-height:500px;display:flex;align-items:end;justify-content:center}
.sf-hero__scene::before{content:"";position:absolute;left:2%;right:2%;bottom:10px;height:34px;background:rgba(74,55,38,.16);filter:blur(20px);border-radius:50%}
.sf-frame{position:relative;z-index:2;width:min(48%,430px);padding:18px 18px 26px;background:#e6d0b1;border:10px solid #b98954;box-shadow:0 30px 45px rgba(65,45,27,.23),0 5px 14px rgba(65,45,27,.12)}
.sf-frame__mat{background:#f6f0e7;padding:22px 22px 12px;text-align:center}
.sf-frame__mat img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;filter:saturate(.86) contrast(.96)}
.sf-frame__caption{margin:12px 0 0;font:500 1rem/1 var(--sf-serif);letter-spacing:.14em;text-transform:uppercase}
.sf-still-life{position:absolute;z-index:1;left:4%;bottom:24px;width:34%;min-height:320px}
.sf-books{position:absolute;left:18%;bottom:0;width:190px;height:72px}
.sf-books i{display:block;height:22px;margin-top:2px;background:#d9c5aa;border:1px solid rgba(89,66,44,.18);box-shadow:0 3px 8px rgba(62,46,31,.08)}
.sf-vase{position:absolute;left:31%;bottom:66px;width:84px;height:128px;border-radius:44% 44% 34% 34%;background:radial-gradient(circle at 30% 20%,#f5ead8,#cdb292 70%);box-shadow:0 12px 16px rgba(74,51,32,.16)}
.sf-vase::before{content:"";position:absolute;left:50%;bottom:106px;width:220px;height:190px;transform:translateX(-48%);background:radial-gradient(ellipse at 50% 100%,transparent 47%,rgba(118,83,45,.65) 48% 49%,transparent 50%) 0 0/58px 52px;opacity:.55}
.sf-lamp{position:absolute;right:-3%;bottom:10px;width:220px;height:370px;border-right:8px solid #a77a42}
.sf-lamp::before{content:"";position:absolute;right:-8px;top:16px;width:140px;height:92px;border-radius:70px 70px 26px 26px;background:linear-gradient(145deg,#d5ad65,#8a5a27);box-shadow:0 8px 16px rgba(64,43,24,.25);transform:rotate(10deg)}

/* Corkboard */
.sf-board-wrap{background:var(--sf-paper);padding:0 0 0}
.sf-corkboard{position:relative;margin-inline:auto;width:min(calc(100% - 24px),1440px);padding:58px 54px 54px;border:13px solid #ba8b5d;box-shadow:0 16px 35px rgba(58,40,24,.18),inset 0 0 0 3px rgba(255,255,255,.18);background-color:var(--sf-cork);background-image:radial-gradient(circle at 18% 22%,rgba(255,255,255,.12) 0 1px,transparent 1.7px),radial-gradient(circle at 82% 68%,rgba(72,43,20,.18) 0 1px,transparent 1.6px),repeating-linear-gradient(27deg,rgba(255,255,255,.025) 0 2px,rgba(79,47,23,.03) 2px 4px);background-size:11px 11px,13px 13px,8px 8px}
.sf-board-grid{display:grid;grid-template-columns:minmax(210px,.78fr) repeat(4,minmax(0,1fr));gap:clamp(18px,2.4vw,38px);align-items:center}
.sf-notes{display:grid;gap:24px;align-self:stretch}
.sf-note{position:relative;padding:34px 28px 30px;background:linear-gradient(rgba(255,252,246,.98),rgba(246,239,229,.98));box-shadow:0 13px 23px rgba(58,40,24,.16);clip-path:polygon(1% 2%,5% 1%,10% 2%,16% .6%,22% 1.7%,30% .8%,38% 1.6%,45% .7%,53% 1.6%,61% .9%,70% 1.7%,78% .7%,86% 1.7%,94% .9%,99% 2%,98.4% 12%,99% 23%,98.5% 34%,99% 46%,98.3% 57%,99% 68%,98.4% 80%,99% 91%,98% 99%,89% 98.5%,78% 99%,68% 98.4%,58% 99%,48% 98.4%,38% 99%,28% 98.3%,18% 99%,8% 98.4%,1% 99%,1.5% 88%,.8% 76%,1.4% 64%,.8% 52%,1.5% 40%,.9% 28%,1.4% 16%)}
.sf-note::before,.sf-instax::before{content:"";position:absolute;z-index:5;top:-10px;left:50%;width:20px;height:20px;border-radius:50%;transform:translateX(-50%);background:radial-gradient(circle at 35% 30%,#d7b878 0 12%,#9a6b2f 42%,#5f3f1d 100%);box-shadow:0 3px 4px rgba(49,31,16,.4)}
.sf-note h2{margin:0;font:500 clamp(2rem,2.5vw,3.05rem)/.96 var(--sf-serif)}
.sf-note__line{width:48px;height:2px;background:var(--sf-gold);margin:16px 0 20px}
.sf-note p{margin:0;color:#5f554b;font:400 1.02rem/1.55 var(--sf-serif)}
.sf-note a{display:inline-block;margin-top:18px;text-decoration:none;font-size:.63rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}

.sf-instax{--r:0deg;position:relative;background:#fbfaf6;padding:14px 14px 54px;box-shadow:var(--sf-shadow);transform:rotate(var(--r));transition:transform .34s ease,box-shadow .34s ease;transform-origin:50% 4%;text-decoration:none}
.sf-instax:nth-child(2){--r:-1.2deg}.sf-instax:nth-child(3){--r:.8deg}.sf-instax:nth-child(4){--r:-.7deg}.sf-instax:nth-child(5){--r:1.1deg}
.sf-instax:hover{transform:translateY(-8px) rotate(0deg);box-shadow:var(--sf-shadow-hover);z-index:8}
.sf-instax img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;background:#e8e0d7;filter:saturate(.92) contrast(.98)}
.sf-instax__title{position:absolute;left:10px;right:10px;bottom:17px;text-align:center;font:500 clamp(.95rem,1.25vw,1.2rem)/1 var(--sf-serif);letter-spacing:.08em;text-transform:uppercase}

/* Feature strip */
.sf-features{background:#f7f2e9;border-top:1px solid rgba(46,42,37,.08);border-bottom:1px solid rgba(46,42,37,.08)}
.sf-features__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.sf-feature{display:grid;grid-template-columns:42px 1fr;gap:16px;padding:29px 26px;border-right:1px solid rgba(46,42,37,.12)}
.sf-feature:last-child{border-right:0}.sf-feature svg{width:34px;height:34px;stroke:var(--sf-gold-dark);fill:none;stroke-width:1.5}.sf-feature strong{display:block;font:500 1.1rem/1 var(--sf-serif)}.sf-feature span{display:block;margin-top:5px;color:var(--sf-muted);font-size:.74rem;line-height:1.4}

/* Page headings */
.sf-page-hero{padding:76px 0 66px;background:linear-gradient(135deg,#f8f4ed,#e9ded0)}
.sf-page-hero h1{margin:0;font:500 clamp(3.8rem,7vw,7rem)/.9 var(--sf-serif);letter-spacing:-.045em}.sf-page-hero p{max-width:620px;margin:20px 0 0;color:var(--sf-muted);font:400 1.15rem/1.5 var(--sf-serif)}

/* Gallery archive */
.sf-gallery-section{padding:68px 0 90px;background:#f4efe7}
.sf-gallery-filters{display:flex;flex-wrap:wrap;gap:12px 22px;margin:0 0 42px;padding:0;list-style:none}.sf-gallery-filters a{text-decoration:none;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.sf-gallery-filters .is-active a{color:var(--sf-gold-dark)}
.sf-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:38px 28px}.sf-gallery-grid .sf-instax{padding-bottom:60px}
.sf-instax__meta{position:absolute;left:15px;right:15px;bottom:10px;text-align:center;color:var(--sf-muted);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase}
.sf-instax__meta .sf-instax__title{position:static;display:block;margin-bottom:5px}

/* Blog */
.sf-blog-section{padding:68px 0 100px;background:#f4efe7}.sf-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}.sf-post-card{background:#fbfaf6;box-shadow:var(--sf-shadow);transition:.3s ease}.sf-post-card:hover{transform:translateY(-6px);box-shadow:var(--sf-shadow-hover)}.sf-post-card__image{display:block;aspect-ratio:4/3;overflow:hidden}.sf-post-card__image img{width:100%;height:100%;object-fit:cover}.sf-post-card__body{padding:24px 24px 28px}.sf-post-card__meta{color:var(--sf-gold-dark);font-size:.62rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.sf-post-card h2,.sf-post-card h3{margin:10px 0 8px;font:500 1.75rem/1 var(--sf-serif)}.sf-post-card p{margin:0;color:var(--sf-muted);font-size:.86rem}

/* Single/editorial */
.sf-content{padding:76px 0 110px}.sf-article-header{width:min(calc(100% - 48px),900px);margin:0 auto 46px;text-align:center}.sf-article-header h1{margin:0;font:500 clamp(3rem,6vw,6rem)/.92 var(--sf-serif)}.sf-article-meta{margin-top:16px;color:var(--sf-muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.sf-featured-image{width:min(calc(100% - 48px),1120px);margin:0 auto 64px}.sf-featured-image img{width:100%;max-height:760px;object-fit:cover;box-shadow:var(--sf-shadow)}.entry-content{width:min(calc(100% - 48px),760px);margin-inline:auto;font-family:var(--sf-serif);font-size:1.16rem}.entry-content>*{margin-top:0;margin-bottom:1.5em}.entry-content h2{margin-top:1.7em;font-size:2.4rem;line-height:1}.entry-content h3{margin-top:1.5em;font-size:1.8rem;line-height:1.05}.entry-content figure{margin:2.7em 0}.entry-content img{box-shadow:0 12px 28px rgba(58,40,24,.12)}.entry-content blockquote{margin:2.2em -10%;padding:28px 34px;background:#eee3d5;font-size:1.5rem;font-style:italic;text-align:center}

/* About */
.sf-about .entry-content>p:first-child{font-size:1.45rem;font-style:italic;color:#4d443b}.sf-about .entry-content img{transform:rotate(-.7deg)}

/* Contact */
.sf-contact-layout{width:min(calc(100% - 48px),1120px);margin:0 auto;display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;align-items:start}.sf-contact-copy{padding-top:26px}.sf-contact-copy h2{margin:0;font:500 3rem/1 var(--sf-serif)}.sf-contact-copy p{color:var(--sf-muted)}.sf-contact-form{position:relative;padding:58px 52px;background:linear-gradient(rgba(255,252,247,.96),rgba(247,239,229,.98));box-shadow:var(--sf-shadow)}.sf-contact-form label{display:block;margin-bottom:20px;font-size:.64rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.sf-contact-form input,.sf-contact-form textarea{width:100%;margin-top:8px;border:0;border-bottom:1px solid rgba(46,42,37,.28);background:transparent;padding:10px 0;color:var(--sf-ink);outline:none}.sf-contact-form textarea{min-height:180px;resize:vertical}.sf-contact-form input:focus,.sf-contact-form textarea:focus{border-color:var(--sf-gold)}.sf-form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.sf-contact-form button{border:0;cursor:pointer}.sf-form-message{padding:12px 16px;margin-bottom:24px;background:#eef2ea;color:#34513d}.sf-form-message--error{background:#f6e9e5;color:#773c31}.sf-honeypot{position:absolute!important;left:-9999px!important}

/* Footer */
.site-footer{position:relative;overflow:hidden;background:var(--sf-dark);color:#eee8df;padding:62px 0 30px}.site-footer::after{content:"";position:absolute;right:-40px;bottom:-40px;width:230px;height:280px;opacity:.26;background:radial-gradient(ellipse at 60% 100%,transparent 45%,#b69257 46% 48%,transparent 49%) 0 0/64px 78px;transform:rotate(-14deg)}.site-footer__grid{position:relative;z-index:2;display:grid;grid-template-columns:1.2fr .7fr .85fr 1fr;gap:50px}.site-footer h3{margin:0 0 18px;font:500 1.25rem/1 var(--sf-serif);letter-spacing:.09em;text-transform:uppercase}.site-footer p,.site-footer li,.site-footer a{color:#cfc8be;font-size:.78rem;text-decoration:none}.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li+li{margin-top:6px}.site-footer__brand .site-title{color:#fff}.site-footer__bottom{position:relative;z-index:2;margin-top:44px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);color:#9e978e;font-size:.68rem;text-align:center}

/* Pagination */
.navigation.pagination{margin-top:58px}.nav-links{display:flex;justify-content:center;gap:8px}.page-numbers{display:grid;place-items:center;min-width:42px;height:42px;border:1px solid rgba(46,42,37,.16);text-decoration:none}.page-numbers.current,.page-numbers:hover{background:var(--sf-gold);color:#fff;border-color:var(--sf-gold)}

@media(max-width:1100px){.sf-hero__inner{grid-template-columns:1fr;gap:35px}.sf-hero__copy{max-width:760px}.sf-hero__scene{min-height:470px}.sf-board-grid{grid-template-columns:repeat(2,1fr)}.sf-notes{grid-column:1/-1;grid-template-columns:1fr 1fr}.sf-gallery-grid{grid-template-columns:repeat(2,1fr)}.sf-features__grid{grid-template-columns:repeat(2,1fr)}.sf-feature:nth-child(2){border-right:0}.site-footer__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.site-header__inner{min-height:70px}.menu-toggle{display:block}.site-navigation{position:absolute;left:0;right:0;top:100%;display:none;padding:24px;background:#fbf8f1;border-bottom:1px solid rgba(46,42,37,.12)}.site-navigation.is-open{display:block}.site-navigation ul{display:grid;gap:20px}.site-navigation li.current-menu-item>a::after,.site-navigation a:hover::after{bottom:-5px}.sf-still-life{display:none}.sf-frame{width:min(70%,420px)}.sf-lamp{right:0}.sf-blog-grid{grid-template-columns:1fr 1fr}.sf-contact-layout{grid-template-columns:1fr;gap:30px}.sf-form-row{grid-template-columns:1fr}}
@media(max-width:620px){.sf-shell{width:min(calc(100% - 30px),var(--sf-shell))}.sf-hero{min-height:auto}.sf-hero__inner{padding-block:48px}.sf-hero__title{font-size:3.6rem}.sf-hero__scene{min-height:410px;justify-content:flex-start}.sf-frame{width:72%;margin-left:4%}.sf-lamp{width:130px;height:300px}.sf-lamp::before{width:92px;height:64px}.sf-corkboard{width:100%;border-left-width:7px;border-right-width:7px;padding:42px 18px}.sf-board-grid{grid-template-columns:1fr}.sf-notes{grid-template-columns:1fr}.sf-instax{max-width:360px;margin-inline:auto}.sf-gallery-grid,.sf-blog-grid,.sf-features__grid,.site-footer__grid{grid-template-columns:1fr}.sf-feature{border-right:0;border-bottom:1px solid rgba(46,42,37,.12)}.sf-contact-form{padding:38px 24px}.entry-content blockquote{margin-inline:0}}
.sf-instax--has-meta .sf-instax__title{bottom:31px}

/* ================================================================
   v1.2.0 — IMAGE-FIRST HOME
   The approved visual concept is used as photographic artwork.
   CSS only positions dynamic WordPress photographs over the baked scene.
   ================================================================ */
.home .sf-hero--asset{
  min-height:0;
  overflow:hidden;
  background:#f4eee5;
}
.home .sf-hero--asset::before{display:none}
.home .sf-hero--asset .sf-hero__inner{
  grid-template-columns:minmax(330px,.72fr) minmax(540px,1.28fr);
  gap:clamp(18px,3vw,46px);
  padding-block:0;
  min-height:550px;
}
.home .sf-hero--asset .sf-hero__copy{
  position:relative;
  z-index:3;
  padding:58px 0 54px 6px;
}
.home .sf-hero--asset .sf-hero__title{
  font-size:clamp(3.7rem,5.8vw,6.25rem);
  max-width:590px;
}
.home .sf-hero--asset .sf-hero__text{max-width:480px}

/* Real photographed still-life from the approved mockup. */
.sf-hero-asset{
  position:relative;
  align-self:stretch;
  min-height:550px;
  background:url("assets/images/hero-scene-photo.jpg") center right / 100% 100% no-repeat;
}
.sf-hero-asset__photo{
  position:absolute;
  left:41.2%;
  top:17.3%;
  width:31.5%;
  height:55.8%;
  overflow:hidden;
  background:#d9d2c8;
}
.sf-hero-asset__photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(.9) contrast(.98);
}
.sf-hero-asset__caption{
  position:absolute;
  left:40.9%;
  top:73.4%;
  width:32%;
  height:12.8%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 8px;
  background:#f4efe7;
  color:#37322d;
  font:500 clamp(.65rem,.9vw,.92rem)/1 var(--sf-serif);
  letter-spacing:.13em;
  text-transform:uppercase;
  text-align:center;
}

/* The board, wood frame, paper cards, pins and Instax shells are one real image. */
.sf-board-asset{
  background:#f7f2e9;
  padding:0;
}
.sf-board-asset__viewport{
  width:100%;
  overflow:hidden;
}
.sf-board-asset__canvas{
  position:relative;
  width:min(100%,1536px);
  margin-inline:auto;
  aspect-ratio:1024 / 630;
  background:url("assets/images/corkboard-photo.jpg") center / 100% 100% no-repeat;
}
.sf-board-note-link{
  position:absolute;
  z-index:7;
  left:4.7%;
  width:20.5%;
  border-radius:2px;
}
.sf-board-note-link--gallery{top:12.7%;height:38.7%}
.sf-board-note-link--blog{top:53.8%;height:37.8%}
.sf-board-note-link:focus-visible{
  outline:3px solid rgba(178,135,79,.72);
  outline-offset:4px;
}

.sf-board-photo,
.sf-board-caption{
  --slot-rotate:0deg;
  position:absolute;
  z-index:8;
  display:block;
  transform:rotate(var(--slot-rotate));
  transform-origin:50% 50%;
}
.sf-board-photo{
  overflow:hidden;
  background:#ddd6cc;
}
.sf-board-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.92) contrast(.98);
  transition:transform .45s cubic-bezier(.2,.7,.2,1),filter .3s ease;
}
.sf-board-photo:hover img{transform:scale(1.035);filter:saturate(.98) contrast(1)}
.sf-board-photo:focus-visible{outline:3px solid rgba(178,135,79,.82);outline-offset:2px}
.sf-board-caption{
  z-index:9;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:3px 8px;
  background:#f3efe8;
  color:#342f2a;
  font:500 clamp(.56rem,.88vw,.95rem)/1.05 var(--sf-serif);
  letter-spacing:.065em;
  text-align:center;
  text-decoration:none;
  text-transform:uppercase;
  overflow:hidden;
}
.sf-board-photo--1,.sf-board-caption--1{--slot-rotate:1.15deg}
.sf-board-photo--2,.sf-board-caption--2{--slot-rotate:1.55deg}
.sf-board-photo--3,.sf-board-caption--3{--slot-rotate:-.8deg}
.sf-board-photo--4,.sf-board-caption--4{--slot-rotate:.45deg}

/* Slot coordinates are percentages of the actual board photograph. */
.sf-board-photo--1{left:29.25%;top:23.5%;width:13.75%;height:36.8%}
.sf-board-caption--1{left:28.85%;top:61.2%;width:15.1%;height:9.5%}
.sf-board-photo--2{left:45.8%;top:24.3%;width:14.0%;height:37.2%}
.sf-board-caption--2{left:45.25%;top:62.0%;width:15.65%;height:9.5%}
.sf-board-photo--3{left:63.9%;top:24.0%;width:14.35%;height:36.5%}
.sf-board-caption--3{left:63.35%;top:61.2%;width:15.55%;height:9.6%}
.sf-board-photo--4{left:81.65%;top:24.6%;width:14.25%;height:36.8%}
.sf-board-caption--4{left:81.0%;top:62.0%;width:15.75%;height:9.6%}

/* Keep archive cards simple, but use a photographed warm paper/cork atmosphere. */
.sf-gallery-section{
  background-color:#ad7444;
  background-image:url("assets/images/cork-texture-photo.jpg");
  background-size:cover;
  background-position:center;
  background-attachment:scroll;
}
.sf-gallery-section .sf-gallery-filters{
  width:max-content;
  max-width:100%;
  padding:12px 18px;
  background:rgba(248,243,235,.92);
  box-shadow:0 8px 22px rgba(58,40,24,.12);
}

@media(max-width:1100px){
  .home .sf-hero--asset .sf-hero__inner{grid-template-columns:.8fr 1.2fr;min-height:490px}
  .sf-hero-asset{min-height:490px}
}
@media(max-width:860px){
  .home .sf-hero--asset .sf-hero__inner{
    display:block;
    width:100%;
    min-height:0;
  }
  .home .sf-hero--asset .sf-hero__copy{
    width:min(calc(100% - 40px),720px);
    margin-inline:auto;
    padding:48px 0 34px;
  }
  .home .sf-hero--asset .sf-hero__title{font-size:clamp(3.2rem,10vw,5rem)}
  .sf-hero-asset{
    width:100%;
    min-height:0;
    aspect-ratio:619 / 450;
  }
  .sf-board-asset__viewport{overflow-x:auto;scrollbar-width:thin}
  .sf-board-asset__canvas{width:900px;max-width:none}
}
@media(max-width:620px){
  .home .sf-hero--asset .sf-hero__copy{width:min(calc(100% - 30px),720px)}
  .sf-hero-asset{min-width:620px;transform-origin:left top}
  .sf-board-asset__canvas{width:820px}
  .sf-features{position:relative;z-index:2}
}


/* ================================================================
   v1.2.0 — FULL-BLEED HERO + REAL CORKBOARD REFINEMENT
   Use approved photographic assets as true section backgrounds.
   ================================================================ */
.home .sf-hero--asset{
  position:relative;
  min-height:860px;
  background:#ece2d3 url("assets/images/hero-scene-photo.jpg") center center / cover no-repeat;
}
.home .sf-hero--asset .sf-hero__inner{
  position:relative;
  z-index:2;
  display:block;
  width:min(calc(100% - 120px), 1536px);
  min-height:860px;
  margin-inline:auto;
  padding:92px 0 70px;
}
.home .sf-hero--asset .sf-hero__copy{
  max-width:42%;
  padding:0;
}
.home .sf-hero--asset .sf-hero__title{
  font-size:clamp(4.6rem,6.2vw,7rem);
  line-height:.95;
  max-width:10ch;
}
.home .sf-hero--asset .sf-hero__text{
  max-width:430px;
  font-size:clamp(1.15rem,1.55vw,1.55rem);
  line-height:1.52;
}
.home .sf-hero--asset .sf-button{
  box-shadow:0 10px 24px rgba(137,87,26,.16);
}
.sf-hero-asset{
  position:absolute;
  inset:0;
  min-height:0;
  background:none !important;
  pointer-events:none;
}
.sf-hero-asset__photo,
.sf-hero-asset__caption{pointer-events:auto}
.sf-hero-asset__photo{
  position:absolute;
  left:61.5%;
  top:14.7%;
  width:18.65%;
  height:42.9%;
  overflow:hidden;
  background:#d8d0c5;
}
.sf-hero-asset__photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(.9) contrast(.98);
}
.sf-hero-asset__caption{
  position:absolute;
  left:60.7%;
  top:58.2%;
  width:20.1%;
  height:6.4%;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding-top:.35vw;
  background:transparent;
  color:#4a433d;
  font:500 clamp(.72rem,.95vw,1rem)/1 var(--sf-serif);
  letter-spacing:.12em;
  text-transform:uppercase;
  text-align:center;
}

.sf-board-asset{
  background:#f5eee3;
  padding:0;
}
.sf-board-asset__viewport{
  width:100%;
  overflow:hidden;
}
.sf-board-asset__canvas{
  position:relative;
  width:100%;
  max-width:none;
  margin:0;
  aspect-ratio: 1536 / 736;
  background:url("assets/images/corkboard-photo.jpg") center center / 100% 100% no-repeat;
}
/* caption text sits on the built-in Instax paper strip; no extra white card */
.sf-board-caption{
  z-index:9;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 10px;
  background:transparent;
  color:#463f39;
  text-shadow:0 1px 0 rgba(255,255,255,.45);
  font:500 clamp(.68rem,.9vw,.98rem)/1.05 var(--sf-serif);
  letter-spacing:.05em;
  text-align:center;
  text-decoration:none;
  text-transform:uppercase;
}
/* adjusted coordinates for wider full-bleed board */
.sf-board-note-link--gallery{left:3.25%;top:11.4%;width:16.7%;height:34.2%}
.sf-board-note-link--blog{left:3.55%;top:49.1%;width:16.55%;height:34.1%}
.sf-board-photo--1,.sf-board-caption--1{--slot-rotate:-1.2deg}
.sf-board-photo--2,.sf-board-caption--2{--slot-rotate:.85deg}
.sf-board-photo--3,.sf-board-caption--3{--slot-rotate:-.7deg}
.sf-board-photo--4,.sf-board-caption--4{--slot-rotate:1deg}
.sf-board-photo--1{left:26.75%;top:19.8%;width:12.85%;height:35.5%}
.sf-board-caption--1{left:25.95%;top:58.15%;width:14.4%;height:5.2%}
.sf-board-photo--2{left:41.1%;top:21.1%;width:12.95%;height:35.7%}
.sf-board-caption--2{left:40.2%;top:59.5%;width:14.8%;height:5.2%}
.sf-board-photo--3{left:56.55%;top:19.9%;width:13.0%;height:35.6%}
.sf-board-caption--3{left:55.7%;top:58.25%;width:14.85%;height:5.2%}
.sf-board-photo--4{left:72.2%;top:21.0%;width:12.95%;height:35.7%}
.sf-board-caption--4{left:71.35%;top:59.4%;width:14.75%;height:5.2%}

/* archive gallery page - real cork texture, full-width and warm */
.sf-gallery-section{
  background:#b17a46 url("assets/images/cork-texture-photo.jpg") center center / cover no-repeat;
}
.sf-gallery-section .sf-shell{
  width:min(calc(100% - 60px), var(--sf-shell));
}

@media(max-width:1100px){
  .home .sf-hero--asset{min-height:740px;background-position:64% center}
  .home .sf-hero--asset .sf-hero__inner{width:min(calc(100% - 64px), 1400px);min-height:740px;padding-top:78px}
  .home .sf-hero--asset .sf-hero__copy{max-width:48%}
  .home .sf-hero--asset .sf-hero__title{font-size:clamp(4rem,6vw,5.4rem)}
  .sf-hero-asset__photo{left:59.3%;top:17%;width:21.5%;height:40.8%}
  .sf-hero-asset__caption{left:58.4%;top:58%;width:23.1%;height:6.5%}
}
@media(max-width:820px){
  .home .sf-hero--asset{min-height:auto;background-position:68% center}
  .home .sf-hero--asset .sf-hero__inner{width:min(calc(100% - 40px), 100%);min-height:720px;padding-top:60px;padding-bottom:34px}
  .home .sf-hero--asset .sf-hero__copy{max-width:62%}
  .sf-hero-asset__photo{left:56.5%;top:18%;width:26.5%;height:39%}
  .sf-hero-asset__caption{left:55.8%;top:57.1%;width:28%;height:6.1%;font-size:.82rem}
  .sf-board-asset__viewport{overflow-x:auto}
  .sf-board-asset__canvas{min-width:1120px}
}
@media(max-width:620px){
  .home .sf-hero--asset{background-position:72% center}
  .home .sf-hero--asset .sf-hero__inner{width:min(calc(100% - 30px),100%);min-height:640px;padding-top:44px}
  .home .sf-hero--asset .sf-hero__copy{max-width:84%}
  .home .sf-hero--asset .sf-hero__title{font-size:clamp(3.4rem,12vw,4.4rem)}
  .home .sf-hero--asset .sf-hero__text{font-size:1.05rem;max-width:320px}
  .sf-hero-asset__photo{left:54.2%;top:19.7%;width:31.4%;height:35.8%}
  .sf-hero-asset__caption{left:53.2%;top:56.5%;width:33.5%;height:5.8%;padding-top:2px;font-size:.7rem}
  .sf-board-asset__canvas{min-width:980px}
}

/* ================================================================
   v1.2.0 — ASSET-FIRST HOME, FULL BLEED
   Hero and cork board are real high-resolution raster backgrounds.
   WordPress only overlays live text and photographs.
   ================================================================ */
.home .sf-hero--asset{
  position:relative;
  width:100%;
  min-height:clamp(650px,52vw,880px);
  overflow:hidden;
  background:#e9dfd2 url("assets/images/hero-full-photo.jpg") center center / cover no-repeat;
}
.home .sf-hero--asset::before{display:none!important}
.home .sf-hero--asset .sf-hero__inner{
  position:relative;
  z-index:2;
  display:block;
  width:min(calc(100% - 7vw),1600px);
  min-height:clamp(650px,52vw,880px);
  margin:0 auto;
  padding:clamp(60px,7vw,108px) 0 54px;
}
.home .sf-hero--asset .sf-hero__copy{
  position:relative;
  z-index:5;
  width:min(42%,560px);
  max-width:none;
  padding:0;
}
.home .sf-hero--asset .sf-hero__title{
  margin:0;
  max-width:8.2ch;
  color:#302c28;
  font:500 clamp(4.1rem,6.2vw,7.2rem)/.91 var(--sf-serif);
  letter-spacing:-.045em;
}
.home .sf-hero--asset .sf-hero__line{width:92px;height:3px;margin:26px 0 28px;background:#ad7a36}
.home .sf-hero--asset .sf-hero__text{
  max-width:440px;
  margin:0 0 34px;
  color:#4b443e;
  font:400 clamp(1.06rem,1.4vw,1.42rem)/1.5 var(--sf-serif);
}
.home .sf-hero--asset .sf-button{box-shadow:0 10px 24px rgba(94,59,24,.14)}

/* Dynamic photograph lies exactly in the blank frame baked into the background. */
.home .sf-hero-asset{position:absolute;inset:0;z-index:3;pointer-events:none;background:none!important;min-height:0}
.home .sf-hero-asset__photo{
  position:absolute;
  left:57.58%;top:17.33%;width:22.69%;height:56.22%;
  overflow:hidden;background:#ddd5ca;pointer-events:auto;
}
.home .sf-hero-asset__photo img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.94) contrast(.99)}
.home .sf-hero-asset__caption{
  position:absolute;
  left:56.71%;top:75%;width:24.31%;height:11.67%;
  display:flex;align-items:flex-start;justify-content:center;
  padding-top:1.25%;background:transparent;color:#4a433d;
  font:500 clamp(.67rem,.8vw,.95rem)/1 var(--sf-serif);
  letter-spacing:.14em;text-transform:uppercase;text-align:center;pointer-events:none;
}

/* Full-width real cork board. */
.home .sf-board-asset{width:100%;padding:0;background:#b57b47}
.home .sf-board-asset__viewport{width:100%;overflow:hidden}
.home .sf-board-asset__canvas{
  position:relative;width:100%;max-width:none;margin:0;
  aspect-ratio:3072/1890;
  background:#b57b47 url("assets/images/corkboard-blank.jpg") center center / 100% 100% no-repeat;
}

/* Editable copy is placed on the two blank paper notes already present in the asset. */
.sf-board-note{
  position:absolute;z-index:8;display:flex;flex-direction:column;
  color:#3d3833;text-decoration:none;text-align:left;
}
.sf-board-note strong{display:block;font:500 clamp(1.35rem,2.1vw,2.55rem)/1.04 var(--sf-serif);letter-spacing:-.02em}
.sf-board-note>span:last-child{display:block;font:400 clamp(.72rem,.96vw,1.06rem)/1.46 var(--sf-serif);max-width:95%}
.sf-board-note__line{display:block;width:42px;height:2px;margin:15px 0 21px;background:#aa7432}
.sf-board-note--gallery{left:5.55%;top:15.2%;width:17.8%;height:28%;padding:2.7% 1.35%}
.sf-board-note--blog{left:5.65%;top:53.9%;width:17.75%;height:27.5%;padding:2.3% 1.35%}
.sf-board-note:hover strong{color:#8f6736}
.sf-board-note:focus-visible{outline:3px solid rgba(178,135,79,.8);outline-offset:5px}

/* Live portfolio photos fill only the blank photo windows; white Instax shells, pins and shadows are in the image asset. */
.sf-board-photo{
  position:absolute;z-index:10;display:block;overflow:hidden;background:#ddd4ca;
  transform-origin:50% 50%;box-shadow:none!important;
}
.sf-board-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:filter .25s ease,transform .32s ease;filter:saturate(.94) contrast(.99)}
.sf-board-photo:hover img{filter:saturate(1) contrast(1.02);transform:scale(1.018)}
.sf-board-photo:focus-visible{outline:3px solid rgba(178,135,79,.9);outline-offset:2px}
.sf-board-photo--1{left:27.73%;top:20.79%;width:14.65%;height:35.71%;transform:rotate(-1.1deg)}
.sf-board-photo--2{left:45.80%;top:21.98%;width:15.33%;height:35.40%;transform:rotate(.85deg)}
.sf-board-photo--3{left:63.18%;top:21.59%;width:15.92%;height:35.08%;transform:rotate(-.7deg)}
.sf-board-photo--4{left:80.47%;top:22.70%;width:16.40%;height:34.84%;transform:rotate(.7deg)}
.sf-board-caption{display:none!important}

/* Gallery archive uses an actual cork photograph, never a CSS imitation. */
.sf-gallery-section{
  background:#b57b47 url("assets/images/cork-real-full.jpg") center top / cover no-repeat!important;
}

@media(max-width:1100px){
  .home .sf-hero--asset,.home .sf-hero--asset .sf-hero__inner{min-height:720px}
  .home .sf-hero--asset{background-position:58% center}
  .home .sf-hero--asset .sf-hero__copy{width:46%}
  .home .sf-hero-asset__photo{left:57.1%;top:17.8%;width:23.4%;height:55.3%}
  .home .sf-hero-asset__caption{left:56.2%;top:74.7%;width:25.2%}
  .sf-board-note strong{font-size:clamp(1.15rem,2vw,2rem)}
}
@media(max-width:820px){
  .home .sf-hero--asset{min-height:670px;background-position:62% center}
  .home .sf-hero--asset .sf-hero__inner{min-height:670px;width:min(calc(100% - 36px),100%);padding-top:54px}
  .home .sf-hero--asset .sf-hero__copy{width:57%}
  .home .sf-hero--asset .sf-hero__title{font-size:clamp(3.5rem,9vw,5.1rem)}
  .home .sf-hero--asset .sf-hero__text{max-width:330px;font-size:1.04rem}
  .home .sf-hero-asset__photo{left:56.2%;top:19%;width:25%;height:50%}
  .home .sf-hero-asset__caption{left:55.1%;top:70.4%;width:27.2%;height:9%;font-size:.7rem}
  .home .sf-board-asset__viewport{overflow-x:auto}
  .home .sf-board-asset__canvas{min-width:1180px}
}
@media(max-width:620px){
  .home .sf-hero--asset{min-height:620px;background-position:65% center}
  .home .sf-hero--asset .sf-hero__inner{min-height:620px;padding-top:40px}
  .home .sf-hero--asset .sf-hero__copy{width:72%}
  .home .sf-hero--asset .sf-hero__title{font-size:clamp(3rem,12vw,4.2rem)}
  .home .sf-hero-asset__photo{left:54.5%;top:20%;width:29%;height:43%}
  .home .sf-hero-asset__caption{left:53.2%;top:64.5%;width:31.6%;height:8%;font-size:.62rem}
  .home .sf-board-asset__canvas{min-width:1040px}
}
