:root {
--dark-text:#333;
--focus-outline:3px solid #4d90fe;
--light-bg:#f9f5f0;
--light-brown:#cd853f;
--light-orange:#f5b041;
--light-text:#fff;
--primary-brown:#5e321a;
--primary-orange:#d35400;
--shadow-lg:0 8px 20px #0003;
--shadow-md:0 6px 12px #00000026;
--shadow-sm:0 4px 8px #0000001a;
--text-shadow:2px 2px 4px #0003;
--touch-target-size:44px;
--z-index-base:10;
--z-index-floating:50;
--z-index-header:90;
--z-index-modal:200;
--z-index-nav:100;
--z-index-popup:60
}

* {
box-sizing:border-box;
margin:0;
padding:0
}

body {
background-color:var(--light-bg);
color:var(--dark-text);
font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
font-size:16px;
line-height:1.6;
min-height:100vh;
position:relative
}

.container {
margin:0 auto;
max-width:1200px;
padding:0 15px;
width:90%
}

section {
padding:60px 0
}

button,.btn,.btn-small,.nav-pill,.service-card .cta-button,nav ul li a,.tab {
align-items:center;
display:flex;
justify-content:center;
min-height:var(--touch-target-size);
min-width:var(--touch-target-size)
}

button:focus-visible,.btn:focus-visible,.btn-small:focus-visible,.nav-pill:focus-visible,.tab:focus-visible,a:focus-visible {
box-shadow:none;
outline:var(--focus-outline);
outline-offset:2px
}

.service-card:focus-visible {
outline:var(--focus-outline);
transform:translateY(-5px)
}

.skip-link {
background-color:var(--primary-orange);
color:#fff;
left:0;
padding:8px;
position:absolute;
top:-40px;
transition:top .3s;
z-index:1000
}

.skip-link:focus {
top:0
}

.btn {
background-color:#fff;
border-radius:30px;
box-shadow:var(--shadow-sm);
color:var(--primary-orange);
display:inline-block;
font-weight:700;
letter-spacing:1px;
padding:12px 30px;
text-decoration:none;
text-transform:uppercase;
transition:all .3s
}

.btn:hover,.btn:focus {
box-shadow:var(--shadow-md);
outline:none;
transform:translateY(-3px)
}

.btn:focus-visible {
outline:var(--focus-outline)
}

.btn-small {
background-color:var(--primary-orange);
border-radius:20px;
box-shadow:0 2px 5px #00000026;
color:#fff;
display:inline-block;
font-size:.9rem;
font-weight:700;
padding:8px 20px;
text-decoration:none;
transition:all .3s
}

.btn-small:hover,.btn-small:focus {
background-color:var(--primary-brown);
box-shadow:0 4px 8px #0003;
outline:none;
transform:translateY(-2px)
}

.btn-contact {
background-color:var(--primary-orange);
border-radius:30px;
box-shadow:var(--shadow-sm);
color:#fff;
display:inline-block;
font-weight:700;
margin-top:15px;
padding:12px 30px;
text-decoration:none;
transition:all .3s
}

.btn-contact:hover,.btn-contact:focus {
background-color:var(--primary-brown);
box-shadow:var(--shadow-md);
color:#fff;
outline:none;
transform:translateY(-3px)
}

.nav-pill {
background:#f5f5f5;
border:2px solid transparent;
border-radius:30px;
color:var(--dark-text);
display:inline-block;
font-weight:700;
padding:12px 25px;
text-decoration:none;
transition:all .3s
}

.nav-pill:hover,.nav-pill.active {
background:var(--primary-orange);
color:#fff
}

.nav-pill:focus {
border-color:var(--primary-brown);
outline:none
}

.email-link {
display:inline-block;
max-width:100%;
overflow-wrap:break-word!important;
word-break:break-all!important
}

header {
background-color:#fff;
box-shadow:var(--shadow-sm);
position:sticky;
top:0;
z-index:var(--z-index-header)
}

.header-container {
align-items:center;
display:flex;
justify-content:space-between;
padding:15px 0
}

.logo-container {
align-items:center;
display:flex;
text-decoration:none
}

.logo-text {
color:var(--primary-brown);
font-size:2rem;
font-weight:700;
text-decoration:none
}

.logo-text span {
color:var(--primary-orange);
font-weight:500
}

nav ul {
display:flex;
list-style:none
}

nav ul li {
margin-left:30px
}

nav ul li a {
align-items:center;
color:var(--dark-text);
display:flex;
font-weight:500;
justify-content:center;
min-height:var(--touch-target-size);
padding:5px;
text-decoration:none;
transition:color .3s
}

.mobile-menu-btn {
background:none;
border:none;
border-radius:4px;
color:var(--primary-brown);
cursor:pointer;
display:none;
font-size:1.5rem;
padding:8px 10px;
transition:background-color .3s
}

.hero {
background:linear-gradient(to right,var(--primary-brown),var(--primary-orange));
border-top:none;
color:var(--light-text);
margin-top:0;
min-height:300px;
padding:80px 0;
position:relative;
z-index:var(--z-index-base)
}

.hero-container {
align-items:center;
display:flex;
gap:50px;
min-height:250px
}

.hero-logo {
flex:0 0 auto;
height:200px;
overflow:hidden;
position:relative;
width:200px
}

.hero-logo-image {
aspect-ratio:1/1;
border-radius:10px;
box-shadow:var(--shadow-lg);
height:100%;
object-fit:cover;
width:100%
}

.hero-content {
flex:1;
min-height:150px;
text-align:left
}

.hero h1 {
font-size:2.8rem;
margin-bottom:20px;
text-shadow:var(--text-shadow)
}

.hero p {
font-size:1.3rem;
margin:0 0 30px;
max-width:800px
}

.tabs {
background:#fff;
border-radius:50px;
box-shadow:var(--shadow-sm);
display:flex;
justify-content:center;
margin:0 auto;
margin-bottom:40px;
margin-top:-25px;
max-width:700px;
min-height:60px;
padding:5px;
position:relative;
z-index:calc(var(--z-index-base) + 1)
}

.tab {
align-items:center;
border-radius:40px;
cursor:pointer;
display:flex;
flex:1;
font-weight:700;
justify-content:center;
min-height:var(--touch-target-size);
padding:12px 25px;
text-align:center;
transition:all .3s
}

.tab.active {
background:var(--primary-orange);
color:var(--light-text);
font-weight:700;
text-shadow:0 1px 1px #0003
}

.tab-content {
padding:50px 0 20px
}

.section-title {
color:var(--primary-brown);
font-size:2.2rem;
margin-bottom:50px;
text-align:center
}

.section-title:after {
background-color:var(--primary-orange);
content:"";
display:block;
height:3px;
margin:15px auto 0;
width:80px
}

.section-header {
background:var(--light-bg);
border-radius:10px;
margin:50px 0 30px;
padding:40px 0;
position:relative;
text-align:center
}

.scroll-target {
height:1px;
left:0;
pointer-events:none;
position:absolute;
top:-120px;
width:1px
}

.section-header h2 {
color:var(--primary-brown);
font-size:2rem;
margin-bottom:25px;
position:relative
}

.section-header h2:after {
background-color:var(--primary-orange);
bottom:-15px;
content:"";
display:block;
height:3px;
left:50%;
margin:15px auto 0;
position:absolute;
transform:translateX(-50%);
width:80px
}

.section-header p {
color:var(--primary-brown);
font-style:italic;
margin:0 auto;
max-width:700px
}

/* Services content section (inde i tab) */
.services-content {
background-color:var(--light-bg);
border-radius:10px;
padding:40px;
margin-bottom:50px
}

.content-title {
color:var(--primary-brown);
font-size:2rem;
margin-bottom:25px;
text-align:center;
position:relative
}

.content-title:after {
background-color:var(--primary-orange);
content:"";
display:block;
height:3px;
margin:15px auto 0;
width:80px
}

.content-intro {
text-align:center;
max-width:900px;
margin:0 auto 40px;
font-size:1.05rem;
line-height:1.8;
color:var(--dark-text)
}

.service-card-alt {
background-color:#fff;
border-radius:10px;
box-shadow:var(--shadow-sm);
padding:25px;
transition:all .3s;
height:100%;
display:flex;
flex-direction:column
}

.service-card-alt:hover {
box-shadow:var(--shadow-md);
transform:translateY(-5px)
}

.service-card-alt .service-title {
color:var(--primary-brown);
font-size:1.2rem;
margin-bottom:15px;
border-bottom:2px solid var(--light-orange);
padding-bottom:10px
}

.service-card-alt .service-description {
color:var(--dark-text);
line-height:1.7;
font-size:.95rem;
flex-grow:1
}

/* Approach intro section */
.approach-intro {
background-color:#fff;
border-radius:10px;
box-shadow:var(--shadow-sm);
padding:40px;
margin-bottom:50px;
text-align:center
}

.approach-intro h2 {
color:var(--primary-brown);
font-size:2rem;
margin-bottom:25px;
position:relative;
display:inline-block
}

.approach-intro h2:after {
background-color:var(--primary-orange);
content:"";
display:block;
height:3px;
margin:15px auto 0;
width:80px
}

.approach-intro p {
color:var(--dark-text);
font-size:1.1rem;
line-height:1.8;
margin:0 auto 20px;
max-width:900px
}

.approach-intro p:last-child {
margin-bottom:0
}

/* Topic navigation */
.topic-nav {
display:flex;
flex-wrap:wrap;
gap:10px;
justify-content:center;
margin-top:25px
}

.topic-nav-link {
background:#fff;
border:2px solid var(--primary-orange);
border-radius:25px;
color:var(--primary-brown);
display:inline-block;
font-size:.9rem;
font-weight:600;
padding:10px 25px;
text-decoration:none;
transition:all .3s;
box-shadow:var(--shadow-sm)
}

.topic-nav-link:hover {
background:var(--primary-orange);
color:#fff;
transform:translateY(-2px);
box-shadow:var(--shadow-md)
}

#topic-grundlaeggende,
#topic-specialpaedagogik,
#topic-personlig,
#topic-erhverv {
    scroll-margin-top: 120px;
}

@media (max-width: 768px) {
.topic-nav {
flex-direction:column;
align-items:stretch
}

.topic-nav-link {
text-align:center
}
}

/* Topic categories */
.topic-category {
margin-bottom:60px
scroll-margin-top: 120px; /* buffer til sticky header */
}

.category-title {
  color: var(--primary-brown);
  font-size: 1.8rem;
  margin-bottom: 30px;
  padding-bottom: 15px;
  border-bottom: 3px solid var(--light-orange);
  text-align: left;
  scroll-margin-top: 120px; /* gør at overskriften ikke scroller forbi sticky header */
}

.topics-grid {
display:grid;
gap:25px;
grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
margin-bottom:30px
}

.topic-card {
background-color:#fff;
border-radius:10px;
box-shadow:var(--shadow-sm);
padding:25px;
transition:all .3s;
height:100%;
display:flex;
flex-direction:column
}

.topic-card:hover {
box-shadow:var(--shadow-md);
transform:translateY(-5px)
}

.topic-title {
color:var(--primary-brown);
font-size:1.2rem;
margin-bottom:15px;
border-bottom:2px solid var(--light-orange);
padding-bottom:10px
}

.topic-description {
color:var(--dark-text);
font-size:.95rem;
line-height:1.7;
flex-grow:1
}

.info-section {
background-color:#fff;
border-radius:10px;
box-shadow:var(--shadow-sm);
padding:30px
}

.info-section h2 {
color:var(--primary-brown);
margin-bottom:30px;
position:relative
}

.info-section h2:after {
background-color:var(--primary-orange);
content:"";
display:block;
height:3px;
margin:15px 0 0;
width:80px
}

/* Pressesektion styling */
.press-section {
margin-top:50px;
padding-top:40px;
border-top:2px solid var(--light-orange)
}

.press-quote {
background:linear-gradient(135deg,var(--light-orange) 0%,var(--light-brown) 100%);
border-left:5px solid var(--primary-orange);
border-radius:10px;
padding:30px;
margin-bottom:40px;
box-shadow:var(--shadow-sm)
}

.press-quote blockquote {
font-size:1.2rem;
font-style:italic;
color:var(--primary-brown);
line-height:1.8;
margin:0
}

.press-quote cite {
display:block;
margin-top:15px;
font-size:0.95rem;
font-style:normal;
color:var(--primary-brown);
opacity:0.9
}

.press-section h3 {
color:var(--primary-brown);
font-size:1.8rem;
margin-bottom:30px;
position:relative;
padding-bottom:15px
}

.press-section h3:after {
background-color:var(--primary-orange);
content:"";
display:block;
height:3px;
margin:15px 0 0;
width:80px
}

.press-articles {
display:grid;
gap:25px;
grid-template-columns:repeat(auto-fit,minmax(300px,1fr))
}

.press-article {
background-color:#fff;
border-radius:10px;
box-shadow:var(--shadow-sm);
padding:25px;
transition:all .3s;
border:2px solid transparent
}

.press-article:hover {
box-shadow:var(--shadow-md);
transform:translateY(-5px);
border-color:var(--light-orange)
}

.press-article-header {
display:flex;
align-items:center;
margin-bottom:15px
}

.press-icon {
background-color:var(--light-orange);
border-radius:50%;
color:#fff;
display:flex;
align-items:center;
justify-content:center;
width:50px;
height:50px;
font-size:1.5rem;
margin-right:15px;
flex-shrink:0
}

.press-article h4 {
color:var(--primary-brown);
font-size:1.2rem;
line-height:1.4;
margin:0
}

.press-article p {
color:var(--dark-text);
line-height:1.7;
margin-bottom:15px;
font-size:0.95rem
}

.press-meta {
color:var(--primary-brown);
font-size:0.9rem;
margin-bottom:15px;
opacity:0.8
}

.press-link {
display:inline-flex;
align-items:center;
background-color:var(--primary-orange);
color:#fff;
text-decoration:none;
padding:10px 20px;
border-radius:25px;
font-weight:600;
transition:all .3s;
font-size:0.9rem
}

.press-link:hover {
background-color:var(--primary-brown);
transform:translateX(3px)
}

.press-link::after {
content:"→";
margin-left:8px
}



.audhd-info {
background-color:#fff;
border-radius:10px;
box-shadow:0 4px 12px #0000001a;
margin:-30px auto 60px;
max-width:1000px;
padding:25px;
position:relative;
z-index:10
}

.audhd-info h2 {
align-items:center;
color:var(--primary-brown);
display:flex;
font-size:1.6rem;
margin-bottom:15px
}

.audhd-info h2 .info-icon {
align-items:center;
background-color:var(--light-orange);
border-radius:50%;
color:#fff;
display:inline-flex;
font-size:1.1rem;
height:30px;
justify-content:center;
margin-right:10px;
width:30px
}

.audhd-info p:last-child {
margin-bottom:0
}

.audhd-info .note {
font-size:.9rem;
font-style:italic;
opacity:.9
}

.services h2 {
color:var(--primary-brown);
margin-bottom:40px;
margin-top:10px;
text-align:center
}

.services-grid {
display:grid;
gap:30px;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
margin-top:40px;
padding-top:20px
}

.service-card {
background-color:#fff;
border-radius:10px;
box-shadow:var(--shadow-sm);
cursor:pointer;
overflow:hidden;
padding-bottom:60px;
position:relative;
transform:translateZ(0);
transition:transform .3s;
will-change:transform
}

.service-card:hover {
box-shadow:var(--shadow-md);
transform:translate3d(0,-10px,0)
}

.service-content {
padding:25px
}

.service-title {
color:var(--primary-brown);
font-size:1.3rem;
margin-bottom:15px
}

.service-card .cta-button {
align-items:center;
background-color:#f5f5f5;
border-radius:5px;
bottom:20px;
color:var(--primary-brown);
display:flex;
font-weight:700;
justify-content:space-between;
left:25px;
padding:8px 15px;
position:absolute;
right:25px;
text-align:center;
transition:all .3s
}

.service-card:hover .cta-button {
background-color:var(--primary-orange);
color:#fff
}

.service-card .cta-button .arrow {
display:inline-block;
transform:translateZ(0);
transition:transform .3s;
will-change:transform
}

.service-card:hover .cta-button .arrow {
transform:translate3d(5px,0,0)
}

.secondary-nav {
display:none;
flex-wrap:wrap;
gap:10px;
justify-content:center;
margin:30px 0;
text-align:center
}

.course-grid {
display:flex;
flex-wrap:wrap;
gap:30px;
justify-content:center;
margin-bottom:40px
}

.theme-card {
background-color:#fff;
border-radius:10px;
box-shadow:0 4px 12px #0000001a;
display:flex;
flex-direction:column;
max-width:350px;
overflow:hidden;
width:100%
}

.theme-header {
background-color:var(--primary-brown);
color:#fff;
font-size:1.4rem;
font-weight:700;
padding:20px;
text-align:center
}

.theme-content {
display:flex;
flex-direction:column;
flex-grow:1;
padding:25px
}

.course-item {
border-bottom:2px solid var(--light-orange);
margin-bottom:25px;
padding-bottom:25px
}

.course-item:last-child {
border-bottom:none;
margin-bottom:0;
padding-bottom:0
}

.course-title {
color:var(--primary-brown);
font-size:1.2rem;
margin-bottom:5px
}

.course-target {
color:var(--primary-brown);
font-size:.9rem;
font-style:italic;
margin-bottom:10px
}

.course-description {
font-size:.95rem
}

.workshop-container,.keynote-container,.workshops-grid {
display:grid;
gap:30px;
grid-template-columns:repeat(auto-fit,minmax(300px,1fr))
}

.workshop-card {
background-color:#fff;
border-radius:10px;
box-shadow:0 4px 12px #0000001a;
display:flex;
flex-direction:column;
height:100%;
overflow:hidden;
padding:25px
}

.workshop-title {
border-bottom:2px solid var(--light-orange);
color:var(--primary-brown);
font-size:1.3rem;
margin-bottom:15px;
padding-bottom:10px
}

.workshop-description {
flex-grow:1;
line-height:1.7
}

.about-content {
align-items:center;
display:grid;
gap:50px;
grid-template-columns:1fr 1fr
}

.about-image {
border-radius:10px;
box-shadow:0 6px 15px #0003;
overflow:hidden
}

.about-image img {
display:block;
height:auto;
width:100%
}

.about-text h3 {
color:var(--primary-brown);
font-size:1.8rem;
margin-bottom:20px
}

.about-consultant {
align-items:start;
display:grid;
gap:40px;
grid-template-columns:1fr 2fr
}

.consultant-image {
position:relative
}

.consultant-portrait {
aspect-ratio:auto;
border-radius:10px;
box-shadow:var(--shadow-md);
height:auto;
max-width:350px;
width:100%
}

.consultant-info p:first-child {
margin-top:0
}

.contact-container {
width:100%
}

.contact-unified {
background-color:#fff;
border-radius:10px;
box-shadow:var(--shadow-md);
overflow:hidden
}

.contact-content {
display:grid;
gap:40px;
grid-template-columns:1fr 1.5fr;
padding:40px
}

.contact-info h3,.contact-text-cta h3 {
border-bottom:2px solid var(--light-orange);
color:var(--primary-brown);
font-size:1.4rem;
margin-bottom:25px;
padding-bottom:10px
}

.contact-methods {
display:flex;
flex-direction:column;
gap:25px
}

.contact-method {
align-items:flex-start;
display:flex
}

.contact-icon {
align-items:center;
background-color:var(--light-orange);
border-radius:50%;
color:#fff;
display:flex;
flex:0 0 40px;
font-size:1.2rem;
height:40px;
justify-content:center;
margin-right:15px;
width:40px
}

.contact-text {
display:flex;
flex-direction:column;
font-size:1.1rem
}

.contact-text a,
.contact-text p {
  color: var(--primary-brown);
  font-size: 1.1rem;
  line-height: 1.4;
  text-decoration: none;
  white-space: nowrap;
  margin: 0 0 3px;
}

.contact-text a:hover,
.contact-text a:focus {
  text-decoration: underline;
}

.contact-text a {
color:var(--primary-brown);
text-decoration:none;
white-space:nowrap
}

.contact-text a:hover,.contact-text a:focus {
text-decoration:underline
}

.contact-text-cta p {
line-height:1.6;
margin-bottom:20px
}


.scroll-top {
align-items:center;
background:var(--primary-orange);
border-radius:50%;
bottom:20px;
box-shadow:var(--shadow-md);
color:#fff;
cursor:pointer;
display:flex;
font-size:24px;
height:50px;
justify-content:center;
opacity:0;
pointer-events:none;
position:fixed;
right:300px;
transition:opacity 0.8s,transform .8s;
width:50px;
z-index:var(--z-index-popup)
}

.scroll-top.visible {
opacity:1;
pointer-events:auto
}

.scroll-top:hover {
transform:translateY(-5px)
}

.floating-contact {
background-color:#fff;
border-radius:10px;
bottom:20px;
box-shadow:var(--shadow-md);
opacity:0;
overflow:hidden;
position:fixed;
right:20px;
transform:none;
transition:opacity .8s;
width:250px;
z-index:var(--z-index-popup)
}

.floating-contact.visible {
opacity:1
}

.floating-content {
padding:20px;
padding-top:50px;
text-align:center
}

.floating-contact h3 {
color:var(--primary-brown);
font-size:1.1rem;
margin-bottom:8px
}

.floating-contact p {
font-size:.9rem;
margin-bottom:12px
}

.close-button {
align-items:center;
background-color:var(--primary-orange);
border:none;
border-radius:0 10px 0 10px;
box-shadow:var(--shadow-sm);
color:var(--light-text);
cursor:pointer;
display:flex;
font-size:20px;
height:var(--touch-target-size);
justify-content:center;
line-height:var(--touch-target-size);
position:absolute;
right:0;
text-align:center;
top:0;
transition:background-color 0.3s,transform .3s;
width:var(--touch-target-size);
z-index:10
}

.close-button:hover,.close-button:focus {
background-color:var(--primary-brown);
transform:scale(1.1)
}

footer {
background-color:var(--primary-brown);
color:var(--light-text);
padding:30px 0;
text-align:center
}

.footer-content {
align-items:center;
display:flex;
flex-direction:row;
gap:30px;
justify-content:center
}

.footer-logo {
flex:0 0 auto
}

.footer-logo img {
aspect-ratio:auto;
border-radius:8px;
height:130px!important;
max-width:100%;
width:auto
}

.footer-info {
flex:0 1 auto;
text-align:center
}

.footer-text {
margin:0 0 15px;
max-width:850px
}

.footer-text + .footer-text {
margin-top:-5px
}

.footer-links {
margin-bottom:15px
}

.footer-links a {
color:var(--light-text);
margin:0 10px;
padding:5px;
text-decoration:none
}

.footer-links a:hover,.footer-links a:focus {
color:var(--light-orange);
text-decoration:underline
}

.footer-links a:focus-visible {
border-radius:2px;
outline:var(--focus-outline)
}

.copyright {
font-size:.9rem;
margin:0;
opacity:.9
}

main,.tab-pane.active {
display:block
}

nav ul li a:hover,nav ul li a:focus,nav ul li a.active {
border-bottom:2px solid var(--primary-orange);
color:var(--primary-brown)
}

.tab-pane,.floating-contact.near-contact {
display:none
}

.info-section p,.audhd-info p,.about-text p,.consultant-info p {
line-height:1.7;
margin-bottom:15px
}

@media (max-width: 992px) {
.about-image {
order:-1
}

.testimonial-grid {
grid-template-columns:1fr
}

.tabs {
max-width:90%
}

.contact-info {
border-bottom:1px solid var(--light-bg);
padding-bottom:20px
}

.contact-methods {
gap:20px
}

.contact-text-cta {
text-align:center;
width:100%
}

.consultant-image {
margin-bottom:10px;
text-align:center
}

.consultant-portrait {
max-width:300px
}

.linkedin-icon {
    background-color: #0A66C2 !important; /* LinkedIn's officielle farve */
}

.linkedin-icon svg {
    width: 20px;
    height: 20px;
    fill: white;
}

.about-content,.contact-container,.contact-content,.about-consultant {
gap:30px;
grid-template-columns:1fr
}

.topics-grid {
grid-template-columns:1fr
}

.approach-intro {
padding:30px 20px
}
}

@media (max-width: 768px) {
.scroll-target {
top:-100px
}

.header-container {
flex-direction:row;
flex-wrap:wrap;
justify-content:center;
padding:15px 0;
position:relative
}

.logo-container {
margin:0 auto;
margin-bottom:0;
order:1;
padding-right:44px;
text-align:center
}

.mobile-menu-btn {
background-color:#fff;
box-shadow:var(--shadow-sm);
display:block;
min-height:var(--touch-target-size);
min-width:var(--touch-target-size);
order:2;
padding:8px 12px;
position:absolute;
right:15px;
top:15px;
z-index:calc(var(--z-index-nav) + 5)
}

nav {
background-color:#fff;
max-height:0;
order:3;
overflow:hidden;
transition:max-height .3s ease;
width:100%;
z-index:var(--z-index-nav)
}

nav.active {
box-shadow:var(--shadow-sm);
max-height:500px
}

nav ul {
align-items:center;
flex-direction:column
}

nav ul li {
margin:15px 0
}

nav ul li a {
align-items:center;
display:block;
display:flex;
justify-content:center;
min-height:var(--touch-target-size);
min-width:150px;
padding:10px 15px;
text-align:center
}

nav ul li a.active {
background-color:var(--primary-orange);
border-bottom:none;
border-radius:5px;
color:#fff
}

.hero {
background:linear-gradient(to right,var(--primary-brown),var(--primary-orange));
padding:40px 0;
position:relative;
z-index:1
}

.hero-container {
align-items:center;
flex-direction:column;
gap:20px;
min-height:350px;
padding:0 15px
}

.hero-logo {
display:flex;
height:200px;
justify-content:center;
margin:0 auto;
width:200px
}

.hero-logo-image {
border-radius:10px;
height:100%;
object-fit:contain;
width:100%
}

.hero-content {
min-height:130px;
padding:0;
text-align:center
}

.hero h1 {
font-size:2rem;
margin-bottom:15px
}

.hero p {
font-size:1rem;
line-height:1.5;
margin:0 auto 15px
}

.tabs {
border-radius:10px;
flex-direction:column
}

.tab {
border-radius:0;
min-height:var(--touch-target-size);
padding:10px
}

.tab:first-child {
border-radius:10px 10px 0 0
}

.tab:last-child {
border-radius:0 0 10px 10px
}

.approach-intro {
padding:25px 15px;
margin-bottom:30px
}

.approach-intro h2 {
font-size:1.6rem
}

.approach-intro p {
font-size:1rem
}

.category-title {
font-size:1.5rem;
margin-bottom:20px
}

.topic-card {
padding:20px
}

.topic-title {
font-size:1.1rem;
margin-bottom:12px
}

.topic-description {
font-size:.9rem;
line-height:1.6
}

.hero p,.workshop-description,.course-description,.contact-text-cta p,.floating-contact p {
font-size:.95rem!important
}

.small-text,.copyright,.footer-text small {
font-size:.875rem!important
}

.floating-contact {
bottom:20px;
width:200px;
z-index:var(--z-index-popup)
}

.scroll-top {
bottom:20px;
left:20px;
right:auto
}

.floating-content {
padding:15px;
padding-top:40px
}

.floating-contact h3 {
font-size:1rem
}

.floating-contact p {
font-size:.85rem
}

.container {
padding:0 10px;
width:95%
}

.keynote-container,.workshop-container,.workshops-grid {
gap:20px;
grid-template-columns:1fr;
margin:0 auto;
max-width:100%;
width:100%
}

.workshop-card {
box-sizing:border-box;
hyphens:auto;
margin:0 auto;
max-width:100%;
overflow-wrap:break-word;
padding:20px;
width:100%;
word-wrap:break-word
}

.workshop-title {
font-size:1.2rem;
margin-bottom:12px;
padding-bottom:8px
}

.workshop-description {
font-size:.95rem;
line-height:1.5
}

.section-header {
margin:40px 0 20px;
padding:30px 15px
}

.section-header h2 {
font-size:1.6rem
}

.section-header p {
font-size:.95rem
}

.contact-content {
gap:20px;
grid-template-columns:1fr;
padding:25px 15px
}

.contact-methods {
gap:15px
}

.contact-method {
align-items:flex-start;
display:flex;
flex-direction:row;
flex-wrap:nowrap;
margin-bottom:18px;
width:100%
}

.contact-icon {
align-self:flex-start;
flex:0 0 35px;
height:35px;
margin-right:10px;
width:35px
}

.contact-text {
flex:1 1 calc(100% - 45px);
font-size:.95rem;
min-width:0;
overflow-wrap:break-word;
padding-top:3px;
width:auto;
word-break:break-all;
word-wrap:break-word
}

.contact-method:last-child .contact-text {
display:flex;
flex-direction:column
}

.contact-text a {
display:inline-block;
font-size:.95rem;
max-width:100%;
overflow-wrap:break-word;
word-break:break-all;
word-wrap:break-word
}

.contact-text-cta h3 {
font-size:1.3rem;
margin-bottom:20px
}

.contact-text-cta p {
font-size:.95rem;
line-height:1.5;
margin-bottom:15px
}

.contact-unified h3 {
font-size:1.3rem;
margin-bottom:15px;
padding-bottom:8px
}

.footer-logo img {
height:100px!important
}
}