@charset "UTF-8";
:root{
  --navy:#172b40;--navy-2:#284257;--ink:#26394a;--muted:#6d7475;
  --paper:#f6f2e9;--paper-light:#fbf9f4;--white:#fffefa;
  --gold:#b18b4c;--gold-light:#e4ce91;--gold-deep:#806338;
  --line:rgba(38,57,74,.15);--serif:Georgia,"Times New Roman",serif;
  --sans:"Avenir Next",Avenir,"Segoe UI",sans-serif;--content:1160px;
  --ease:cubic-bezier(.2,.75,.25,1)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--paper-light);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.content-width{width:min(var(--content),calc(100% - 64px));margin-inline:auto}
.skip-link{position:absolute;top:-60px;left:16px;z-index:80;padding:10px 15px;background:var(--white);color:var(--navy)}
.skip-link:focus{top:12px}
.reading-progress{position:fixed;inset:0 0 auto;z-index:80;height:2px;pointer-events:none}
.reading-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--gold-deep),var(--gold-light));transition:width .1s linear}

/* Shared header and navigation */
.site-header{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;min-height:86px;padding:10px max(32px,calc((100vw - var(--content))/2));border-bottom:1px solid rgba(177,139,76,.25);background:rgba(251,249,244,.97);backdrop-filter:blur(12px)}
.brand{display:flex;align-items:center;gap:13px;min-width:210px}
.brand img{width:120px;height:auto;object-fit:contain}
.primary-nav{display:flex;align-items:center;gap:clamp(15px,2vw,27px)}
.primary-nav>a{position:relative;padding:9px 0;color:#43515b;font-size:16px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;transition:color .2s}
.primary-nav>a:not(.nav-contact):after{position:absolute;right:100%;bottom:2px;left:0;height:1px;background:linear-gradient(90deg,var(--gold),var(--gold-light));content:"";transition:right .25s var(--ease)}
.primary-nav>a:hover,.primary-nav>a[aria-current="page"]{color:var(--gold-deep)}
.primary-nav>a:hover:after,.primary-nav>a[aria-current="page"]:after{right:0}
.primary-nav .nav-contact{padding:10px 13px;border:1px solid rgba(177,139,76,.68);color:var(--navy)}
.nav-contact span{margin-left:8px;color:var(--gold-deep);font-size:14px}
.menu-toggle{display:none}

/* Home hero */
.hero{position:relative;display:flex;min-height:min(355px,calc(50vh - 43px));align-items:center;overflow:hidden;background:var(--navy);color:var(--white)}
.hero-image{position:absolute;inset:0;background-image:linear-gradient(95deg,rgba(14,31,47,.9) 0%,rgba(18,39,56,.81) 43%,rgba(17,37,54,.43) 100%),url("images/studio-hero.jpg");background-position:center;background-size:cover;transform:scale(1.015);animation:hero-settle 1.4s var(--ease) both}
.hero:before{position:absolute;top:25px;right:25px;bottom:25px;left:25px;z-index:1;border:1px solid rgba(228,206,145,.32);content:"";pointer-events:none}
.hero:after{position:absolute;top:-40%;right:-16%;width:72vw;height:180%;border:1px solid rgba(228,206,145,.16);border-radius:50%;content:"";transform:rotate(-21deg);pointer-events:none}
.hero-copy{position:relative;z-index:2;padding-block:26px 48px}
.eyebrow{display:flex;align-items:center;gap:11px;margin:0 0 22px;color:var(--gold-light);font-size:9px;font-weight:700;letter-spacing:.19em;text-transform:uppercase}
.eyebrow-rule{display:inline-block;width:33px;height:1px;background:linear-gradient(90deg,var(--gold),var(--gold-light))}
.eyebrow-dark{color:var(--gold-deep)}
.hero .eyebrow{margin-bottom:12px}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--serif);font-weight:400}
.hero h1{max-width:1000px;margin-bottom:10px;color:var(--white);font-size:clamp(42px,5vw,66px);letter-spacing:-.045em;line-height:1}
.hero h1 em,.page-hero h1 em{color:var(--gold-light);font-weight:400}
.hero-deck{margin:0 0 7px;color:var(--gold-light);font-family:var(--serif);font-size:19px;font-style:italic;line-height:1.35}
.hero-intro{max-width:560px;margin:0 0 18px;color:rgba(255,254,250,.82);font-size:14px;line-height:1.55}
.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:23px;padding:0 19px;border:1px solid transparent;font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s,color .25s}
.button:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(6,20,33,.18)}
.button-gold{border-color:#ddc786;background:linear-gradient(115deg,#9a773e 0%,#e1c989 52%,#ad8748 100%);color:#192d40}
.button-gold span{font-size:15px}
.hero-text-link{color:rgba(255,254,250,.82);font-size:9px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}
.hero-text-link span{margin-left:7px;color:var(--gold-light)}
.hero-signature{position:absolute;right:max(52px,calc((100vw - var(--content))/2));bottom:18px;z-index:2;display:flex;align-items:center;gap:10px;color:rgba(255,254,250,.68);font-size:8px;font-weight:700;letter-spacing:.16em}
.hero-signature i{color:var(--gold-light);font-style:normal}
.hero-signature b{margin-left:3px;color:var(--gold-light);font-family:var(--serif);font-size:19px;font-weight:400}
.hero-side-note{position:absolute;top:50%;right:36px;z-index:2;color:rgba(255,254,250,.55);font-size:7px;letter-spacing:.18em;writing-mode:vertical-rl;transform:translateY(-50%)}

/* Intro, home section headings and buttons */
.intro{display:flex;align-items:center;gap:27px;padding-block:68px;border-bottom:1px solid var(--line)}
.intro-mark{display:flex;width:94px;height:48px;flex:0 0 94px;align-items:center;justify-content:center;border:1px solid rgba(177,139,76,.6);border-radius:26px;color:var(--navy);font-family:var(--serif);font-size:13px;letter-spacing:-.5px}
.intro-mark span{color:var(--gold-deep);font-size:12px}
.intro>p{max-width:760px;margin:0;color:#55616a;font-family:var(--serif);font-size:20px;line-height:1.65}
.intro-rule{width:1px;height:43px;margin-left:auto;background:linear-gradient(var(--gold-light),var(--gold-deep))}
.section-pad{padding-block:100px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:36px}
.section-heading .eyebrow{margin-bottom:13px}
.section-heading h2,.collection-intro h2,.gallery-heading h2,.about-last h2{margin:0;color:var(--navy);font-size:clamp(38px,4.5vw,56px);letter-spacing:-.035em;line-height:1.05}
.section-heading h2 em,.collection-intro h2 em,.gallery-heading h2 em,.about-last h2 em{color:var(--gold-deep);font-weight:400}
.text-link{color:var(--navy);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.text-link span{margin-left:8px;color:var(--gold-deep);font-size:15px;transition:margin .2s}
.text-link:hover span{margin-left:13px}
.button-navy{border-color:var(--navy);background:var(--navy);color:var(--white)}
.button-navy:hover{background:var(--navy-2)}
.mobile-link{display:none}

/* Category cards */
.creations-preview{background:var(--paper)}
.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}
.category-card{position:relative;display:block;overflow:hidden;border:1px solid rgba(177,139,76,.32);background:var(--white);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.category-card:hover{transform:translateY(-6px);box-shadow:0 17px 35px rgba(28,42,54,.13)}
.category-card img{width:100%;aspect-ratio:1.05;object-fit:cover;transition:transform .6s var(--ease)}
.category-card:hover img{transform:scale(1.035)}
.category-caption{position:relative;display:flex;min-height:91px;flex-direction:column;justify-content:center;padding:15px 40px 15px 16px;background:var(--white)}
.category-caption small{margin-bottom:5px;color:var(--gold-deep);font-size:8px;font-weight:700;letter-spacing:.14em}
.category-caption strong{color:var(--navy);font-family:var(--serif);font-size:17px;font-weight:400;line-height:1.2}
.category-caption i{position:absolute;right:15px;bottom:18px;color:var(--gold-deep);font-size:16px;font-style:normal;transition:transform .2s}
.category-card:hover .category-caption i{transform:translate(3px,-3px)}

/* Workbench preview and gallery */
.workbench-preview{overflow:hidden;background:var(--navy);color:var(--white)}
.workbench-preview-inner{display:grid;grid-template-columns:.82fr 1.18fr;align-items:center;gap:65px}
.workbench-copy .eyebrow{margin-bottom:16px}
.workbench-copy h2{margin:0 0 11px;color:var(--white);font-size:clamp(42px,5vw,62px);letter-spacing:-.04em;line-height:1.02}
.workbench-copy h2 em{color:var(--gold-light);font-weight:400}
.workbench-copy>p:not(.eyebrow){margin-bottom:27px;color:rgba(255,254,250,.68);font-family:var(--serif);font-size:17px;font-style:italic}
.button-outline{border-color:rgba(228,206,145,.68);color:var(--gold-light)}
.button-outline:hover{background:rgba(228,206,145,.1)}
.bench-polaroids{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:20px}
.bench-polaroids figure{margin:0;padding:9px 9px 14px;background:#fffdf8;box-shadow:0 13px 30px rgba(0,0,0,.18);transform:rotate(-3deg);transition:transform .35s var(--ease)}
.bench-polaroids figure+figure{transform:translateY(24px) rotate(3deg)}
.bench-polaroids figure:hover,.bench-polaroids figure+figure:hover{z-index:1;transform:translateY(-4px) rotate(0)}
.bench-polaroids img{width:100%;aspect-ratio:1.15;object-fit:cover}
.bench-polaroids figcaption{padding:10px 5px 0;color:#4b4d4a;font-family:var(--serif);font-size:14px;font-style:italic;text-align:center}

/* About preview and callout */
.about-preview{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:80px;padding-block:110px}
.about-preview-art{position:relative;display:flex;min-height:300px;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(177,139,76,.48);background:radial-gradient(circle at center,#fffefa 0,#eee9dc 100%)}
.about-preview-art:before,.about-preview-art:after{position:absolute;inset:16px;border:1px solid rgba(177,139,76,.26);content:"";pointer-events:none}
.about-preview-art:after{inset:25px;border-color:rgba(177,139,76,.12)}
.about-preview-art img{width:120px;height:auto;object-fit:contain}
.about-preview-art>span{position:absolute;right:0;bottom:0;left:0;padding:10px;background:rgba(23,43,64,.93);color:var(--gold-light);font-size:8px;letter-spacing:.18em;text-align:center}
.about-preview-copy .eyebrow{margin-bottom:15px}
.about-preview-copy h2{margin:0 0 17px;color:var(--navy);font-size:clamp(44px,5vw,62px);letter-spacing:-.04em;line-height:1}
.about-preview-copy h2 em{color:var(--gold-deep);font-weight:400}
.about-preview-copy>p:not(.eyebrow){max-width:590px;margin-bottom:23px;color:#59666f;font-family:var(--serif);font-size:17px;line-height:1.8}
.custom-callout,.custom-bottom{background:var(--navy);color:var(--white)}
.custom-callout-inner{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-block:65px}
.custom-callout .eyebrow,.custom-bottom .eyebrow{margin-bottom:13px}
.custom-callout h2,.custom-bottom h2{margin:0 0 9px;color:var(--white);font-size:clamp(34px,4.4vw,51px);letter-spacing:-.025em;line-height:1.1}
.custom-callout h2 em,.custom-bottom h2 em{color:var(--gold-light);font-weight:400}
.custom-callout-inner>div>p:last-child{margin:0;color:rgba(255,254,250,.68);font-family:var(--serif);font-size:16px;font-style:italic}

/* Interior page masthead */
.page-hero{position:relative;display:flex;min-height:405px;align-items:center;overflow:hidden;background:var(--navy);color:var(--white)}
.page-hero-image{position:absolute;inset:0;background:linear-gradient(95deg,rgba(14,31,47,.91),rgba(18,39,56,.69)),url("images/studio-hero.jpg") center/cover}
.page-hero:after{position:absolute;inset:17px;border:1px solid rgba(228,206,145,.26);content:"";pointer-events:none}
.page-hero-inner{position:relative;z-index:1;padding-block:74px}
.page-hero h1{max-width:780px;margin:0 0 18px;color:var(--white);font-size:clamp(53px,7vw,79px);letter-spacing:-.045em;line-height:1}
.page-hero .hero-intro{max-width:610px;margin-bottom:0}
.page-hero .button{margin-top:26px}
.page-hero-index{position:absolute;right:max(42px,calc((100vw - var(--content))/2));bottom:27px;z-index:2;color:rgba(228,206,145,.7);font-size:8px;letter-spacing:.19em}
.creations-hero .page-hero-image{background-position:center 55%}
.workbench-hero .page-hero-image{background-position:center 60%}
.custom-hero .page-hero-image{background-position:center 54%}

/* Creations page */
.collection-list{padding-block:76px 100px}
.collection-intro{max-width:700px;margin:0 auto 53px;text-align:center}
.collection-intro .eyebrow{justify-content:center}
.collection-intro h2{margin-bottom:14px}
.collection-intro>p:last-child{margin:0;color:var(--muted);font-family:var(--serif);font-size:16px}
.collection-row{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px;padding-block:33px;border-top:1px solid var(--line);scroll-margin-top:100px}
.collection-row-reverse .collection-photo{order:2}
.collection-row-reverse .collection-copy{order:1;padding-left:35px}
.collection-photo{position:relative;padding:12px;border:1px solid rgba(177,139,76,.44);background:#fffefa}
.collection-photo img{width:100%;aspect-ratio:1.35;object-fit:cover}
.photo-index{position:absolute;top:-10px;left:24px;display:grid;width:39px;height:39px;place-items:center;border:1px solid var(--gold-light);border-radius:50%;background:var(--navy);color:var(--gold-light);font-family:var(--serif);font-size:14px}
.collection-copy{padding-right:24px}
.collection-copy .eyebrow{margin-bottom:12px}
.collection-copy h2{margin:0 0 14px;color:var(--navy);font-size:clamp(34px,4vw,47px);letter-spacing:-.03em;line-height:1.08}
.collection-copy h2 em{color:var(--gold-deep);font-weight:400}
.collection-copy>p:not(.eyebrow){max-width:470px;margin-bottom:20px;color:#59666f;font-family:var(--serif);font-size:16px;line-height:1.8}
.collection-end{display:flex;align-items:center;flex-direction:column;gap:12px;padding-top:53px;text-align:center}
.collection-end .intro-rule{display:block;width:54px;height:1px;background:linear-gradient(90deg,var(--gold-deep),var(--gold-light))}
.collection-end p{margin:3px 0 6px;color:#697275;font-family:var(--serif);font-size:17px;font-style:italic}

/* Workbench gallery */
.workbench-gallery{padding-block:80px 110px}
.gallery-heading{max-width:680px;margin:0 auto 41px;text-align:center}
.gallery-heading .eyebrow{justify-content:center}
.gallery-heading h2{margin-bottom:13px}
.gallery-heading>p:last-child{margin:0;color:var(--muted);font-family:var(--serif);font-size:16px}
.scrapbook-grid{display:grid;grid-template-columns:repeat(3,1fr);align-items:start;gap:26px}
.scrap-card{margin:0;padding:10px 10px 17px;border:1px solid rgba(177,139,76,.28);background:#fffefa;box-shadow:0 9px 25px rgba(27,40,51,.07);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.scrap-card:nth-child(2){margin-top:35px;transform:rotate(1.2deg)}
.scrap-card:nth-child(4){margin-top:28px;transform:rotate(-1.1deg)}
.scrap-card:nth-child(5){grid-column:span 2;margin:20px 30px 0;transform:rotate(.5deg)}
.scrap-card:hover{z-index:2;transform:translateY(-5px) rotate(0);box-shadow:0 18px 37px rgba(27,40,51,.14)}
.scrap-card img{width:100%;aspect-ratio:1.23;object-fit:cover;background:var(--paper)}
.scrap-card-wide img{aspect-ratio:1.75;object-position:center 58%}
.scrap-card figcaption{display:flex;flex-direction:column;gap:4px;padding:13px 6px 0}
.scrap-card figcaption span{color:var(--gold-deep);font-size:7px;font-weight:700;letter-spacing:.14em}
.scrap-card figcaption strong{color:var(--navy);font-family:var(--serif);font-size:18px;font-weight:400}
.gallery-note{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;margin-top:61px;padding-top:32px;border-top:1px solid var(--line);text-align:center}
.gallery-note-mark{color:var(--gold);font-size:20px}
.gallery-note p{max-width:520px;margin:0;color:#697275;font-family:var(--serif);font-size:17px;font-style:italic}

/* Custom project page */
.custom-story{padding-block:65px 80px}
.custom-quote{display:flex;align-items:center;flex-direction:column;padding:30px 25px 38px;text-align:center}
.quote-mark{height:36px;color:var(--gold);font-family:var(--serif);font-size:58px;line-height:1}
.custom-quote blockquote{max-width:730px;margin:10px 0 21px;color:var(--navy);font-family:var(--serif);font-size:clamp(27px,4vw,43px);line-height:1.3}
.custom-quote blockquote em{color:var(--gold-deep);font-weight:400}
.quote-rule{width:43px;height:1px;background:var(--gold)}
.custom-quote small{margin-top:12px;color:#8b826e;font-size:8px;letter-spacing:.16em}
.custom-details{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:68px;padding-top:28px;border-top:1px solid var(--line)}
.custom-details .eyebrow{margin-bottom:13px}
.custom-details h2{margin:0 0 13px;color:var(--navy);font-size:clamp(37px,4.5vw,52px);letter-spacing:-.03em;line-height:1.05}
.custom-details h2 em{color:var(--gold-deep);font-weight:400}
.custom-details>div>p:not(.eyebrow){max-width:470px;margin-bottom:20px;color:#59666f;font-family:var(--serif);font-size:16px;line-height:1.8}
.custom-details figure{margin:0;padding:11px;border:1px solid rgba(177,139,76,.38);background:var(--white)}
.custom-details figure img{width:100%;aspect-ratio:1.55;object-fit:cover}
.custom-details figcaption{padding:11px 0 2px;color:#818179;font-family:var(--serif);font-size:13px;font-style:italic;text-align:center}
.custom-bottom{text-align:center}
.custom-bottom-inner{display:flex;align-items:center;flex-direction:column;padding-block:56px 62px}
.custom-bottom h2{margin-bottom:22px}

/* About page */
.about-page-hero{overflow:hidden;background:linear-gradient(180deg,#f8f5ed,#f0ebdf)}
.about-page-inner{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:80px;padding-block:78px 82px}
.about-dog-art{position:relative;display:flex;min-height:330px;align-items:center;justify-content:center;border:1px solid rgba(177,139,76,.55);background:radial-gradient(ellipse at center,#fffefb 0%,#e8e1d1 100%)}
.about-dog-art .art-frame{position:absolute;inset:15px;border:1px solid rgba(177,139,76,.3)}
.about-dog-art img{position:relative;z-index:1;width:120px;height:auto;max-width:100%;object-fit:contain}
.art-caption{position:absolute;right:0;bottom:0;left:0;padding:10px;background:var(--navy);color:var(--gold-light);font-size:7px;letter-spacing:.17em;text-align:center}
.about-page-copy .eyebrow{margin-bottom:14px}
.about-page-copy h1{margin:0 0 18px;color:var(--navy);font-size:clamp(54px,6.5vw,77px);letter-spacing:-.04em;line-height:1}
.about-page-copy h1 em{color:var(--gold-deep);font-weight:400}
.about-page-copy>p:not(.eyebrow){max-width:540px;color:#56636d;font-family:var(--serif);font-size:17px;line-height:1.85}
.about-page-copy .about-lede{color:var(--navy)!important;font-size:21px!important}
.about-thanks{margin:20px 0 17px;color:var(--gold-deep)!important;font-family:var(--serif);font-size:22px!important;font-style:italic}
.about-thanks span{font-size:20px}
.about-note{background:var(--navy);color:var(--white)}
.about-note-inner{display:flex;align-items:center;justify-content:center;gap:22px;padding-block:30px;text-align:center}
.note-flower{color:var(--gold-light);font-size:20px}
.about-note-inner p{margin:0;color:rgba(255,254,250,.83);font-family:var(--serif);font-size:19px;font-style:italic}
.note-location{color:var(--gold-light);font-size:7px;letter-spacing:.17em;white-space:nowrap}
.about-last{display:flex;align-items:center;flex-direction:column;padding-block:70px 85px;text-align:center}
.about-last .eyebrow{justify-content:center;margin-bottom:12px}
.about-last h2{max-width:650px;margin-bottom:22px}

/* Contact / work request form */
.contact-intro{padding-block:68px 32px}
.contact-intro .eyebrow{margin-bottom:16px}
.contact-intro h1{max-width:760px;margin:0 0 14px;color:var(--navy);font-size:clamp(52px,6.5vw,76px);letter-spacing:-.045em;line-height:1}
.contact-intro h1 em{color:var(--gold-deep);font-weight:400}
.contact-intro>p:last-child{max-width:670px;margin:0;color:#697275;font-family:var(--serif);font-size:17px;line-height:1.8}
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;align-items:start;gap:37px;padding-bottom:95px}
.request-form{padding:36px 39px 30px;border:1px solid rgba(177,139,76,.38);background:var(--white);box-shadow:0 17px 44px rgba(23,43,64,.055)}
.form-heading{margin-bottom:24px;padding-bottom:19px;border-bottom:1px solid var(--line)}
.form-number{color:var(--gold-deep);font-size:8px;font-weight:700;letter-spacing:.17em}
.form-heading h2{margin:6px 0 2px;color:var(--navy);font-size:31px}
.form-heading p{margin:0;color:#81847e;font-size:10px}
.form-heading b,.request-form label b{color:#a46f3f}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.request-form label{display:block;margin-bottom:16px;color:#3d4c58;font-size:10px;font-weight:700;letter-spacing:.03em}
.request-form input,.request-form select,.request-form textarea{display:block;width:100%;margin-top:7px;padding:12px 13px;border:1px solid #d5d2c9;border-radius:0;outline:none;background:#fffefa;color:#26394a;font-size:13px;font-weight:400;letter-spacing:0;transition:border .2s,box-shadow .2s}
.request-form input,.request-form select{height:45px}
.request-form textarea{min-height:130px;resize:vertical}
.request-form input:focus,.request-form select:focus,.request-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(177,139,76,.12)}
.request-form input::placeholder,.request-form textarea::placeholder{color:#a2a39e}
.optional-label{margin-left:5px;color:#9a9b95;font-size:8px;font-weight:400}
.submit-button{min-width:215px;margin-top:4px;cursor:pointer}
.copy-draft{margin:14px 0 0 12px;padding:8px 11px;border:1px solid rgba(177,139,76,.45);background:transparent;color:var(--navy);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.copy-draft[hidden]{display:none}
.form-feedback{min-height:22px;margin:10px 0 0;color:#355e4a;font-size:11px}
.form-feedback.is-error{color:#a04437}
.form-footnote{margin:8px 0 0;padding-top:15px;border-top:1px solid var(--line);color:#81847e;font-size:9px;line-height:1.7}
.form-footnote span{margin-right:6px;color:var(--gold-deep)}
.contact-note{position:sticky;top:120px;margin-top:43px;padding:24px 22px;border-left:1px solid var(--gold);background:#f1ede2}
.side-star{color:var(--gold-deep);font-size:19px}
.contact-note>p{margin:13px 0 16px;color:var(--navy);font-family:var(--serif);font-size:21px;font-style:italic;line-height:1.45}
.contact-note small{color:#817760;font-size:8px;letter-spacing:.16em}
.contact-note-rule{width:35px;height:1px;margin:22px 0;background:var(--gold)}
.contact-note>a{display:block;color:var(--navy);font-size:11px;font-weight:600;overflow-wrap:anywhere}
.contact-note .note-location{display:block;margin-top:19px;color:#847b67;font-size:7px}

/* Footer, entrance and scroll reveals */
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px max(32px,calc((100vw - var(--content))/2));border-top:1px solid rgba(177,139,76,.27);background:#f0ecdf}
.footer-brand img{width:120px;height:auto;object-fit:contain}
.site-footer>p{margin:0;color:#59666d;font-family:var(--serif);font-size:13px;font-style:italic;white-space:nowrap}
.site-footer>p span{color:var(--gold-deep)}
.site-footer nav{display:flex;gap:16px}
.site-footer nav a{color:#59666d;font-size:8px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.site-footer nav a:hover{color:var(--gold-deep)}
.site-footer>small{color:#85857e;font-size:8px;letter-spacing:.08em;white-space:nowrap}
.reveal{opacity:0;transform:translateY(17px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.is-visible{opacity:1;transform:translateY(0)}
.category-card:nth-child(2),.scrap-card:nth-child(2){transition-delay:.07s}
.category-card:nth-child(3),.scrap-card:nth-child(3){transition-delay:.14s}
.category-card:nth-child(4),.scrap-card:nth-child(4){transition-delay:.21s}
.page-transition{animation:page-in .42s var(--ease) both}
@keyframes page-in{from{opacity:.25;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes hero-settle{from{transform:scale(1.045);filter:brightness(.82)}to{transform:scale(1.015);filter:brightness(1)}}

@media(max-width:1020px){
  .site-header{min-height:78px;padding-inline:25px}
  .brand{min-width:0}.brand img{width:120px;height:auto}
  .primary-nav{gap:15px}
  .about-preview{gap:48px}.workbench-preview-inner{gap:42px}
  .site-footer{flex-wrap:wrap}.site-footer nav{margin-left:auto}
}
@media(max-width:860px){
  .site-header{min-height:74px;padding:9px 22px}
  .menu-toggle{display:flex;width:42px;height:42px;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px solid rgba(177,139,76,.65);background:transparent;cursor:pointer}
  .menu-toggle span{width:17px;height:1px;background:var(--navy);transition:transform .2s}
  .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .primary-nav{position:absolute;top:73px;right:0;left:0;display:none;align-items:stretch;gap:0;padding:9px 22px 18px;border-bottom:1px solid rgba(177,139,76,.28);background:var(--paper-light);box-shadow:0 15px 23px rgba(15,30,45,.09)}
  .primary-nav.is-open{display:flex;flex-direction:column}
  .primary-nav>a{padding:12px 4px;border-bottom:1px solid rgba(38,57,74,.08)}
  .primary-nav>a:after{display:none}
  .primary-nav .nav-contact{align-self:flex-start;margin-top:10px;padding:10px 13px;border:1px solid rgba(177,139,76,.65)}
  .category-grid{grid-template-columns:repeat(2,1fr)}
  .workbench-preview-inner{grid-template-columns:1fr;gap:36px}
  .workbench-copy{max-width:600px}
  .bench-polaroids{max-width:690px;margin-left:auto}
  .about-preview{gap:37px}
  .contact-layout{grid-template-columns:minmax(0,1fr) 220px;gap:23px}
  .contact-note{padding-inline:17px}
}
@media(max-width:650px){
  .content-width{width:calc(100% - 36px)}
  .site-header{padding-inline:18px}
  .brand{gap:9px}.brand img{width:120px;height:auto}
  .hero{min-height:325px;align-items:flex-start}
  .hero-image{background-position:56% center}
  .hero:before{top:12px;right:12px;bottom:12px;left:12px}
  .hero-copy{padding-block:30px 52px}
  .hero h1{font-size:clamp(36px,8.2vw,52px);line-height:.98}
  .hero-deck{margin-bottom:6px;font-size:16px}
  .hero-intro{max-width:370px;margin-bottom:16px;font-size:13px;line-height:1.5}
  .hero-signature{right:25px;bottom:14px;left:25px;justify-content:center;gap:7px;font-size:7px}
  .hero-side-note{display:none}
  .intro{align-items:flex-start;gap:15px;padding-block:37px}
  .intro-mark{width:82px;height:42px;flex-basis:82px;font-size:11px}
  .intro>p{font-size:16px;line-height:1.6}
  .intro-rule{display:none}
  .section-pad{padding-block:68px}
  .section-heading{align-items:flex-start;flex-direction:column;gap:15px;margin-bottom:25px}
  .section-heading h2,.collection-intro h2,.gallery-heading h2,.about-last h2{font-size:40px}
  .desktop-link{display:none}.mobile-link{display:inline-block;margin-top:21px}
  .category-grid{gap:11px}
  .category-card img{aspect-ratio:.94}
  .category-caption{min-height:80px;padding:12px 27px 12px 12px}
  .category-caption small{font-size:6px}.category-caption strong{font-size:14px}
  .category-caption i{right:10px;bottom:14px;font-size:13px}
  .workbench-preview-inner{gap:23px}
  .workbench-copy h2{font-size:48px}
  .bench-polaroids{gap:12px}
  .bench-polaroids figure{padding:6px 6px 10px}
  .bench-polaroids img{aspect-ratio:1.02}
  .bench-polaroids figcaption{font-size:11px}
  .about-preview{grid-template-columns:1fr;gap:27px;padding-block:68px}
  .about-preview-art{min-height:240px}
  .about-preview-art img{height:auto}
  .about-preview-copy h2{font-size:48px}
  .about-preview-copy>p:not(.eyebrow){font-size:16px}
  .custom-callout-inner{align-items:flex-start;flex-direction:column;padding-block:46px}
  .custom-callout h2,.custom-bottom h2{font-size:39px}
  .page-hero{min-height:390px}
  .page-hero:after{inset:11px}
  .page-hero-inner{padding-block:73px}
  .page-hero h1{font-size:clamp(48px,11vw,66px)}
  .page-hero .hero-intro{font-size:14px}
  .page-hero-index{right:24px;bottom:21px;font-size:7px}
  .collection-list{padding-block:56px 75px}
  .collection-intro{margin-bottom:32px}
  .collection-intro>p:last-child,.gallery-heading>p:last-child{font-size:14px}
  .collection-row,.collection-row-reverse{grid-template-columns:1fr;gap:21px;padding-block:25px}
  .collection-row-reverse .collection-photo,.collection-row-reverse .collection-copy{order:initial;padding-left:0}
  .collection-photo{padding:8px}
  .collection-photo img{aspect-ratio:1.3}
  .collection-copy{padding:0 3px}
  .collection-copy h2{font-size:37px}
  .collection-copy>p:not(.eyebrow){font-size:15px}
  .collection-end{padding-top:37px}
  .workbench-gallery{padding-block:59px 75px}
  .gallery-heading{margin-bottom:28px}
  .scrapbook-grid{grid-template-columns:1fr 1fr;gap:13px}
  .scrap-card{padding:6px 6px 11px}
  .scrap-card:nth-child(2),.scrap-card:nth-child(4){margin-top:17px}
  .scrap-card:nth-child(5){grid-column:1/-1;margin:4px 9px 0}
  .scrap-card img{aspect-ratio:1.05}
  .scrap-card-wide img{aspect-ratio:1.55}
  .scrap-card figcaption{padding:9px 4px 0}
  .scrap-card figcaption span{font-size:6px;letter-spacing:.1em}
  .scrap-card figcaption strong{font-size:14px}
  .gallery-note{margin-top:40px}
  .gallery-note p{font-size:15px}
  .custom-story{padding-block:47px 56px}
  .custom-quote{padding:16px 5px 30px}
  .custom-quote blockquote{font-size:29px}
  .custom-details{grid-template-columns:1fr;gap:25px;padding-top:28px}
  .custom-details h2{font-size:41px}
  .custom-details>div>p:not(.eyebrow){font-size:15px}
  .custom-details figure{max-width:500px}
  .custom-bottom-inner{padding-block:45px 50px}
  .about-page-inner{grid-template-columns:1fr;gap:31px;padding-block:51px 59px}
  .about-dog-art{min-height:235px}
  .about-dog-art img{max-height:170px}
  .about-page-copy h1{font-size:57px}
  .about-page-copy>p:not(.eyebrow){font-size:16px}
  .about-page-copy .about-lede{font-size:19px!important}
  .about-note-inner{flex-wrap:wrap;gap:10px 14px;padding-block:23px}
  .about-note-inner p{width:calc(100% - 48px);font-size:16px;text-align:left}
  .about-note-inner .note-location{width:100%}
  .about-last{padding-block:54px 65px}
  .contact-intro{padding-block:53px 25px}
  .contact-intro h1{font-size:clamp(47px,11vw,62px)}
  .contact-intro>p:last-child{font-size:15px}
  .contact-layout{grid-template-columns:1fr;gap:8px;padding-bottom:67px}
  .request-form{padding:26px 19px 22px}
  .form-heading h2{font-size:27px}
  .form-row{grid-template-columns:1fr;gap:0}
  .request-form label{margin-bottom:13px}
  .submit-button{width:100%}
  .copy-draft{margin-left:0}
  .contact-note{position:static;margin-top:12px;padding:17px 19px}
  .contact-note>p{font-size:18px}
  .contact-note-rule{margin:13px 0}
  .site-footer{justify-content:center;flex-direction:column;gap:10px;padding:21px 18px;text-align:center}
  .footer-brand img{width:120px;height:auto}
  .site-footer>p{font-size:12px;white-space:normal}
  .site-footer nav{justify-content:center;flex-wrap:wrap;gap:9px 15px;margin:3px 0}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
}
